Skip to content

Commit f4a74d5

Browse files
authored
Merge pull request #2 from jotak/main
Switch to Quarkus Roq
2 parents 5f87558 + 52635df commit f4a74d5

File tree

208 files changed

+4015
-24
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

208 files changed

+4015
-24
lines changed

.github/workflows/static.yml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
## Deploy to GH-Pages for your Quarkus Roq blog.
2+
name: Quarkus Roq Deploy CI
3+
4+
on:
5+
push:
6+
branches: [ main ]
7+
workflow_dispatch:
8+
9+
env:
10+
QUARKUS_ROQ_GENERATOR_BATCH: true
11+
12+
jobs:
13+
build:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: actions/checkout@v4
17+
- name: Set up JDK 21
18+
uses: actions/setup-java@v4
19+
with:
20+
java-version: 21
21+
distribution: 'temurin'
22+
cache: 'maven'
23+
- name: Get GitHub Pages URL
24+
id: get_url
25+
env:
26+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
27+
run: |
28+
url=$(gh api "repos/$GITHUB_REPOSITORY/pages" --jq '.html_url');echo "ghp-url=$url";
29+
path=$(echo "$url" | sed -E 's|https?://[^/]+(/.*)?|\1|')
30+
url=$(echo "$url" | sed -E 's|(https?://[^/]+).*|\1|')
31+
if [ -z "$path" ]; then
32+
path="/"
33+
fi
34+
echo "SITE_URL=$url"; echo "SITE_URL=$url" >> $GITHUB_ENV;
35+
echo "SITE_PATH=$path"; echo "SITE_PATH=$path" >> $GITHUB_ENV;
36+
- name: Build & Generate Blog
37+
run: mvn -B package quarkus:run -DskipTests -Dquarkus.http.root-path=$SITE_PATH -Dsite.url=$SITE_URL
38+
- name: Upload site as artifact
39+
uses: actions/upload-artifact@v4
40+
with:
41+
name: site
42+
path: target/roq
43+
retention-days: 1
44+
deploy:
45+
runs-on: ubuntu-latest
46+
needs: build
47+
permissions:
48+
pages: write # to deploy to Pages
49+
id-token: write # to verify the deployment originates from an appropriate source
50+
environment:
51+
name: github-pages
52+
url: ${{ steps.deployment.outputs.page_url }}
53+
steps:
54+
- name: Download Built site
55+
uses: actions/download-artifact@v4
56+
with:
57+
name: site
58+
path: _site
59+
- name: Setup Pages
60+
uses: actions/configure-pages@v5
61+
- name: Upload artifact
62+
uses: actions/upload-pages-artifact@v3
63+
- name: Deploy to GitHub Pages
64+
id: deployment
65+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
data/*.json
2+
.quarkus
3+
target/

.gitmodules

Lines changed: 0 additions & 3 deletions
This file was deleted.

404.md

Lines changed: 0 additions & 13 deletions
This file was deleted.

CNAME

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
netobserv.io
1+
netobserv.io
2+

README.md

Lines changed: 42 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,44 @@
1-
# Welcome to [netobserv.io](https://netobserv.io)
1+
# netobserv.io
22

3-
This site is under construction...
3+
This repository contains the code for the [netobserv.io](https://netobserv.io) web site / blog.
44

5-
All sources are available on [github.com/netobserv](https://github.com/netobserv)
6-
- Network Observability Operator [getting started guide](https://github.com/netobserv/network-observability-operator/blob/main/README.md)
7-
- Available [blog articles](./documents/blogs/index.md)
8-
- Extra [documents and hacks](./documents/README.md)
5+
## How it works
6+
7+
It uses the static site generator [Quarkus Roq](https://pages.quarkiverse.io/quarkus-roq/) to generate a static HTML site based on markdown pages.
8+
9+
Most of the time, writing content simply requires you to drop a new markdown file in [content/posts](./content/posts/), and assets (such as images) in [static/assets](./static/assets/). A few meta-data is also required at the top of the markdown file, such as:
10+
11+
```
12+
---
13+
layout: :theme/post
14+
title: "Your post title"
15+
description: "The post description"
16+
tags: Insert,Some,Tags,Here
17+
authors: [your-name]
18+
---
19+
20+
```
21+
22+
Then, open a pull-request and the post will be reviewed by maintainers.
23+
24+
First-time contributors should also provide some info about themselves in [data/authors.yml](./data/authors.yml).
25+
26+
## Testing locally
27+
28+
To test locally, the simplest way is to use the [quarkus CLI](https://quarkus.io/guides/cli-tooling).
29+
30+
After you cloned this repository, from its root, run:
31+
32+
```bash
33+
quarkus dev
34+
```
35+
36+
And then open http://localhost:8080/
37+
38+
## Deploying on netobserv.io
39+
40+
Deploying on netobserv.io is fully automated after pull-requests are merged. This is all handled via [a github action](./.github/workflows/static.yml) that runs quarkus to generate the static HTML artifact, which is deployed through GitHub pages.
41+
42+
## Contributions
43+
44+
Like all the other NetObserv components, this blog is open-source and we are welcoming external contributions. Feel free to open pull-requests!

content/404.html

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
layout: :theme/404
3+
link: 404.html
4+
image: iamroq.png
5+
---

content/about.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
title: About
3+
description: |
4+
NetObserv aka Network Observability is a set of components used to observe network traffic by generating NetFlows from eBPF agents, enrich those flows using a configurable pipeline that is Kubernetes-aware, export them in various ways (logs, metrics, Kafka, IPFIX...), and finally provide a comprehensive visualization tool for making sense of that data, and a CLI. Those components can be used as standalones or deployed in Kubernetes / OpenShift via an integrated Operator.
5+
layout: :theme/page
6+
---
7+
8+
# About NetObserv
9+
10+
NetObserv is a set of components used to observe network traffic by generating NetFlows from [eBPF agents](https://github.com/netobserv/netobserv-ebpf-agent), enriching those flows using [a configurable pipeline](https://github.com/netobserv/flowlogs-pipeline/) which is Kubernetes-aware, exporting them in various ways (logs, metrics, Kafka, IPFIX...), and finally providing a comprehensive [visualization tool](https://github.com/netobserv/network-observability-console-plugin/) for making sense of that data, and [a CLI](https://github.com/netobserv/network-observability-cli). Those components can be used as standalones or deployed in Kubernetes / OpenShift via an [integrated Operator](https://github.com/netobserv/network-observability-operator/).
11+
12+
It is known and distributed in Red Hat OpenShift as the [Network Observability operator](https://docs.openshift.com/container-platform/latest/observability/network_observability/network-observability-operator-release-notes.html).

content/authors.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
title: Authors
3+
description: |
4+
Authors on this blog.
5+
layout: :theme/page
6+
---
7+
8+
# Authors on this blog
9+
10+
<div class="authors">
11+
<!-- authors.yml is in the data/ -->
12+
{#for id in lists:shuffle(cdi:authors.fields)}
13+
{#let author=cdi:authors.get(id)}
14+
<!-- the author-card tag is defined in the default Roq theme -->
15+
{#author-card name=author.name avatar=author.avatar nickname=author.nickname profile=author.profile}
16+
{#if author.bio}
17+
{author.bio}
18+
{/if}
19+
{/author-card}
20+
{/for}
21+
</div>

content/events.html

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
title: Timeline
3+
description: NetObserv timeline
4+
layout: :theme/page
5+
---
6+
7+
<h1>NetObserv timeline</h1>
8+
9+
{#for event in cdi:events.list}
10+
<article class="event">
11+
<div class="event-content">
12+
<span class="post-date"><i class="fa fa-timeline"></i>{event.parsedDate.format('yyyy, MMM dd')}</span>
13+
<h2 class="event-title">{event.title}</h2>
14+
<p>{event.description}</p>
15+
{#if event.link}<a href="{site.url.resolve(event.link)}">More info...</a>{/if}
16+
</div>
17+
</article>
18+
{/for}

0 commit comments

Comments
 (0)