diff --git a/.gitmodules b/.gitmodules
index 3a07023..4948ce4 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,3 @@
-[submodule "themes/terminimal"]
- path = themes/terminimal
- url = https://github.com/pawroman/zola-theme-terminimal.git
+[submodule "themes/adidoks"]
+ path = themes/adidoks
+ url = https://github.com/aaranxu/adidoks.git
diff --git a/config.toml b/config.toml
index c1de288..be614e4 100644
--- a/config.toml
+++ b/config.toml
@@ -2,22 +2,35 @@ base_url = "https://wrenix.eu"
title = "WrenIX"
description = "Der Zaunkönig im Netzwerk"
-# generate_feed = true
compile_sass = true
+minify_html = true
+# BROKEN: trimmer.de
build_search_index = false
# theme = "anatole-zola"
# theme = "tabi"
-theme = "terminimal"
+# theme = "terminimal"
+theme = "adidoks"
taxonomies = [
- {name = "tags"}
+ # {name = "tags"}
+ {name = "authors" }
]
-# feed_filename = "rss.xml"
+generate_feeds = true
+feed_filenames = [ "rss.xml" ]
default_language = "de"
[languages.en]
+title = "WrenIX"
+description = "The wren in the network"
+
+[search]
+include_title = true
+# Whether to include the description of the page/section in the index
+include_description = false
+include_content = true
+index_format = "elasticlunr_javascript"
[markdown]
external_links_target_blank = true
@@ -33,42 +46,58 @@ background_color = "blue"
logo_text="WrenIX"
author="WrenIX"
-copyright_html="© WrenIX"
-use_full_hack_font = true
page_titles = "main_only"
+timeformat = "%Y-%m-%d"
favicon = "/images/avatar.png"
favicon_mimetype = "image/png"
-[[extra.menu_items]]
-name="home"
-url="$BASE_URL"
+[extra.open]
+enable = false
+image = "/images/avatar.png"
-[[extra.menu_items]]
-name="archive"
-url="$BASE_URL/archive"
+[extra.schema]
+type = "Person"
+github = "https://github.com/wrenix"
+section = "blog"
+site_links_search_box = true
-[[extra.menu_items]]
-name="about me"
-url="$BASE_URL/about"
+[[extra.menu.main]]
+name="Blog"
+section="blog"
+url="/"
-[[extra.menu_items]]
-name="rss"
-url="$BASE_URL/rss.xml"
-newtab=true
+[[extra.menu.main]]
+name="About Me"
+section="about"
+url="about"
-[[extra.menu_items]]
-name="docs"
-url="https://docs.wrenix.eu"
-newtab=true
-[[extra.menu_items]]
-name="mastodon"
+[[extra.menu.main]]
+name="Docs"
+section="docs"
+url="docs"
+
+[[extra.menu.social]]
+name="RSS"
+pre=''''''
+url="/rss.xml"
+
+[[extra.menu.social]]
+name="Mastodon"
+pre=''''''
url="https://social.chaos.fyi/@wrenix"
-newtab=true
-[[extra.menu_items]]
+[[extra.menu.social]]
name="git"
+pre=''''''
url="https://codeberg.org/wrenix"
-newtab=true
+
+[extra.footer]
+info = "© WrenIX"
+
+[[extra.footer.nav]]
+name = "Privacy"
+url = "/privacy-policy/"
+weight = 10
diff --git a/content/2023-05-gpg.md b/content/2023-05-gpg.md
index ae71928..d0914c4 100644
--- a/content/2023-05-gpg.md
+++ b/content/2023-05-gpg.md
@@ -1,12 +1,14 @@
+++
title = "eToken und GPG-Key"
date = "2023-05-17"
+template = "blog/page.html"
[taxonomies]
-tags = [
- "gpg",
- "desktop"
-]
+authors = ["me"]
+# tags = [
+# "gpg",
+# "desktop"
+# ]
+++
Ich nutze den GPG-Key für folgende Funktionen:
@@ -550,4 +552,4 @@ ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGONGPQ79A9WZ7EwM6vMfBKBkgPD2dsjExFoo2UXyd79
```bash
gpg2 --no-armour -o .well-known/openpgpkey/hu/gudx35f8m3ns6jx87gkuda1nmtsb53nd --export B9C35FDD7362F063A8706A2E7AFDB012974B1BB5
-```
\ No newline at end of file
+```
diff --git a/content/2023-05-pass.md b/content/2023-05-pass.md
index 25f238d..a4dc2ac 100644
--- a/content/2023-05-pass.md
+++ b/content/2023-05-pass.md
@@ -1,12 +1,14 @@
+++
title = "Passwordmanager mit GPG-Key"
date = "2023-05-18"
+template = "blog/page.html"
[taxonomies]
-tags = [
- "gpg",
- "desktop"
-]
+authors = ["me"]
+#tags = [
+# "gpg",
+# "desktop"
+#]
+++
```
@@ -14,4 +16,4 @@ pass init 0x7AFDB012974B1BB5
pass edit dev/codeberg.org
git remote add origin git@codeberg.org:wrenix/password-store.git
git push -u origin main
-```
\ No newline at end of file
+```
diff --git a/content/2023-06-logging.md b/content/2023-06-logging.md
index c90fd75..ecac6e2 100644
--- a/content/2023-06-logging.md
+++ b/content/2023-06-logging.md
@@ -1,14 +1,16 @@
+++
title = "Modernes Logging Konzept"
date= "2023-06-22"
+template = "blog/page.html"
[taxonomies]
-tags = [
- "k8s",
- "kubernetes",
- "server",
- "logging"
-]
+authors = ["me"]
+#tags = [
+# "k8s",
+# "kubernetes",
+# "server",
+# "logging"
+#]
+++
- Logging Schema / Format
@@ -95,4 +97,4 @@ Es gibt viele Logging Backends, sowohl OpenSource, als auch proritär. In den me
TODO:
- elasticsearch
-- loki von grafana
\ No newline at end of file
+- loki von grafana
diff --git a/content/2024-08-23-matrix.md b/content/2024-08-23-matrix.md
index 9229b2c..015e289 100644
--- a/content/2024-08-23-matrix.md
+++ b/content/2024-08-23-matrix.md
@@ -1,12 +1,15 @@
+++
title = "Die Zukunft von Matrix"
date = "2024-08-28"
+draft = true
+template = "blog/page.html"
[taxonomies]
-tags = [
- "matrix",
- "element"
-]
+authors = ["me"]
+# tags = [
+# "matrix",
+# "element"
+# ]
+++
Zunächst, ich bin eine private Person und stehe nicht in Verbindung zu Element oder der Matrix Foundation.
diff --git a/content/_index.en.md b/content/_index.en.md
new file mode 100644
index 0000000..bf088d6
--- /dev/null
+++ b/content/_index.en.md
@@ -0,0 +1,6 @@
++++
+title = "Blog"
+sort_by = "date"
+paginate_by = 3
+template = "blog/section.html"
++++
diff --git a/content/_index.md b/content/_index.md
index 3ba04f3..2ca6426 100644
--- a/content/_index.md
+++ b/content/_index.md
@@ -1,5 +1,6 @@
+++
-title = "Home"
+title = "Blog"
sort_by = "date"
-paginate_by = 3
+paginate_by = 4
+template = "blog/section.html"
+++
diff --git a/content/authors/_index.md b/content/authors/_index.md
new file mode 100644
index 0000000..83c194c
--- /dev/null
+++ b/content/authors/_index.md
@@ -0,0 +1,10 @@
++++
+title = "Authors"
+description = "The authurs of the blog articles."
+
+# Note: We use quoted keys here.
+[extra.author_pages]
+"me" = "authors/wrenix.md"
++++
+
+The authors of the blog articles.
diff --git a/content/pages/about.en.md b/content/authors/wrenix.en.md
similarity index 100%
rename from content/pages/about.en.md
rename to content/authors/wrenix.en.md
diff --git a/content/pages/about.md b/content/authors/wrenix.md
similarity index 100%
rename from content/pages/about.md
rename to content/authors/wrenix.md
diff --git a/content/docs/_index.md b/content/docs/_index.md
new file mode 100644
index 0000000..d553b52
--- /dev/null
+++ b/content/docs/_index.md
@@ -0,0 +1,11 @@
++++
+title = "Docs"
+description = "All the documentations from WrenIX projects"
+sort_by = "weight"
+weight = 1
+template = "docs/section.html"
++++
+
+Kubernetes:
+ * [Helm Charts](helm-charts)
+ * [FluxCD (Charts)](flux-charts)
diff --git a/content/docs/flux-charts/README.md b/content/docs/flux-charts/README.md
new file mode 120000
index 0000000..d7b6790
--- /dev/null
+++ b/content/docs/flux-charts/README.md
@@ -0,0 +1 @@
+../../../../flux-charts/README.md
\ No newline at end of file
diff --git a/content/docs/flux-charts/_index.md b/content/docs/flux-charts/_index.md
new file mode 100644
index 0000000..4707294
--- /dev/null
+++ b/content/docs/flux-charts/_index.md
@@ -0,0 +1,6 @@
++++
+title = "FluxCD (Charts)"
+template = "docs/section.html"
+sort_by = "weight"
+weight = 2
++++
diff --git a/content/docs/flux-charts/base.md b/content/docs/flux-charts/base.md
new file mode 100644
index 0000000..12e540f
--- /dev/null
+++ b/content/docs/flux-charts/base.md
@@ -0,0 +1,172 @@
++++
+title = "Base"
+template = "docs/page.html"
+sort_by = "weight"
+weight = 3
+
+[extra]
+toc = true
++++
+
+This Helm-Chart called base is there to bundle multiple components (helm-charts which maybe deployes another flux-repository).
+
+## Base-Values
+On this way, it is possible to use one `values.yaml` to setup multiple-components together or multiple overlapping `values.yaml` (e.g. for staging, stacks and so on).
+For example, take an look in my xref:infra:index.adoc[Infra] and xref:mycloud:index.adoc[myCloud] stack.
+
+!!! warning
+ I will do a versioning of this Base Helmchart and every components chart (but not for my default values).
+ This is just for my setups.
+
+ As in Hint, it is possible to use `valuesFrom:` and deploy ConfigMap, see [fluxcd](https://fluxcd.io/flux/components/helm/helmreleases/#values-references).
+
+### Shared Values
+
+The values `global:` and `commons:` are down passed into every component values.
+This values could be overwritten inside the setup of every component `components..global:` or `components..commons:`.
+
+See also [Components - Values](#values)
+
+## Components
+
+The components are an helmchart in the `commons.helm.chart.sourceRef` root.
+
+Everything else is components specific and could be set under:
+``` yaml
+commons:
+ namespace:
+ labels:
+ orgs: example
+
+ helm:
+ release:
+ install:
+ test:
+ upgrade:
+ driftDetection:
+
+componentCommons:
+ helm:
+ release:
+ interval: 10m
+
+components:
+ :
+ enabled: true <1>
+ name: <2>
+ namespace: <3>
+ name:
+ labels:
+ team: my
+ skip_create: false
+ valuesFrom: <4>
+ values: <5>
+```
+ * <1> install this components (or not)
+ * <2> if set use component by name otherwise component is used by component-release-name
+ * <3> setup namespace, where component is deployed (e.g. name, labels of namespace, skip-create) if not set use namespace of current Base
+ * <4> use `valuesFrom` an `Secret` or `ConfigMap`
+ * <5> use values direct
+
+### Namespace
+It is possible to deploy an components into a specific namespace (and create this).
+
+#### Use existing Namespace
+``` yaml
+components:
+ :
+ namespace:
+ name: "default"
+ skip_create: true
+```
+
+#### Same Namespace as Base
+``` yaml
+components:
+ :
+ namespace:
+ name: nil <1>
+```
+ * <1> or never set this part
+
+#### New Namespace
+``` yaml
+commons:
+ namespace:
+ labels: <1>
+ orgs: example
+
+components:
+ :
+ namespace:
+ name: "my-namespace"
+ labels: <2>
+ team: my
+```
+ * <1> optional with labels on every new namespace by this component-release
+ * <2> optional with labels on this component-release
+
+### Values
+There are multiple options to set values of an components.
+Here in short the four options and order by overwrite priority.
+``` yaml
+global: <3>
+commons: <3>
+componentCommons:
+ helm:
+ release:
+ valuesFrom: <1>
+
+components:
+ :
+ valuesFrom: [] <2>
+ values: <4>
+```
+ * <1> `valuesFrom` for every components (e.g one or multiple `ConfigMap` or `Secrets`)
+ * <2> `valuesFrom` of a specific component
+ * <3> `global:` or `commons` for every componets
+ * <4> values for a specific component
+
+#### Adjust Component setup (fluxcd values)
+
+``` yaml
+commons: <1>
+ helm:
+ release:
+ install:
+ test:
+ upgrade:
+ driftDetection:
+
+componentCommons:
+ helm:
+ release: <2>
+ interval: 10m
+```
+ * <1> is part of commons, for maybe reuse inside of an component-chart.
+ * <2> is part of componentCommons for just use of component use level.
+
+#### init-Version
+
+!!! warning
+ Since FluxCD supports driftDetection (with version 2.2) we maybe drop that idea.
+
+This is a small workaround to setup manifest in later step / rerun an component-chart, as e.g. CRD installation by an HelmRelease which is part of the used Component-Chart.
+
+.Helper which should be put into the Component-Chart (with Capabilities if every is there to setup / to retries)
+``` yaml
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ .Release.Name }}-init
+ namespace: "{{ .Values.init.namespace }}"
+data:
+ {{- if and
+ (.Capabilities.APIVersions.Has "monitoring.coreos.com/v1/PrometheusRule")
+ (.Capabilities.APIVersions.Has "monitoring.coreos.com/v1/ServiceMonitor")
+ }}
+ init: "-1"
+ {{- else }}
+ init: "{{ add1 .Values.init.version }}"
+ {{- end }}
+```
diff --git a/content/docs/flux-charts/get-started.md b/content/docs/flux-charts/get-started.md
new file mode 100644
index 0000000..48be8b4
--- /dev/null
+++ b/content/docs/flux-charts/get-started.md
@@ -0,0 +1,64 @@
++++
+title = "Flux: Get-Started"
+template = "docs/page.html"
+sort_by = "weight"
+weight = 2
+
+[extra]
+toc = true
++++
+
+## Install FluxCD into a cluster
+
+Here i install it with connection to codeberg:
+
+* the path is just for the cluster
+* the url a repo where fluxcd (in given path) install itself and monitor
+* i just install my needed components (i skip notification-controller, i prefer prometheus and alerting)
+
+```bash
+flux bootstrap git --components source-controller,kustomize-controller,helm-controller --path= --url ssh://git@codeberg.org/wrenix/.git
+```
+
+### Secure with verify
+
+Afterwards we need to setup a verification with GPG, so that nobody else could commit any workload in your cluster.
+That is because i select an public git hosting (here codeberg), i trust them but maybe it get compromised one time.
+
+in your repository the flux cli has created an `/flux-system/kustomization.yaml`, we will edit them.
+
+```patch
+ apiVersion: kustomize.config.k8s.io/v1beta1
+ kind: Kustomization
+ resources:
+ - gotk-components.yaml
+ - gotk-sync.yaml
+
++patches:
++ - target:
++ kind: GitRepository
++ name: flux-system
++ patch: |-
++ apiVersion: source.toolkit.fluxcd.io/v1
++ kind: GitRepository
++ metadata:
++ name: flux-system
++ spec:
++ verify: <1>
++ mode: HEAD
++ secretRef:
++ name: gpg-publickey
++
++generatorOptions:
++ disableNameSuffixHash: true <2>
++
++secretGenerator:
++ - name: gpg-publickey <3>
++ namespace: flux-system
++ files:
++ - gpg-publickey/wrenix.gpg <4>
+```
+* <1> add verify, that only HEAD git commit with valide gpg signature is used
+* <2> on the next generate, do not add hash
+* <3> generate kubernetes Secret with the name `gpg-publickey` which is used in the patched GitRepository, see <1>
+* <4> Add list of valide gpg key files
diff --git a/content/docs/helm-charts/README.md b/content/docs/helm-charts/README.md
new file mode 120000
index 0000000..ff16fec
--- /dev/null
+++ b/content/docs/helm-charts/README.md
@@ -0,0 +1 @@
+../../../../helm-charts/README.md
\ No newline at end of file
diff --git a/content/docs/helm-charts/_index.md b/content/docs/helm-charts/_index.md
new file mode 100644
index 0000000..58ac215
--- /dev/null
+++ b/content/docs/helm-charts/_index.md
@@ -0,0 +1,6 @@
++++
+title = "Helm Charts"
+template = "docs/section.html"
+sort_by = "weight"
+weight = 1
++++
diff --git a/content/docs/helm-charts/gotosocial.md b/content/docs/helm-charts/gotosocial.md
new file mode 120000
index 0000000..080a1b6
--- /dev/null
+++ b/content/docs/helm-charts/gotosocial.md
@@ -0,0 +1 @@
+../../../../helm-charts/gotosocial/README.md
\ No newline at end of file
diff --git a/content/docs/helm-charts/home-assistant.md b/content/docs/helm-charts/home-assistant.md
new file mode 120000
index 0000000..7d9a043
--- /dev/null
+++ b/content/docs/helm-charts/home-assistant.md
@@ -0,0 +1 @@
+../../../../helm-charts/home-assistant/README.md
\ No newline at end of file
diff --git a/content/pages/_index.md b/content/pages/_index.md
deleted file mode 100644
index 800a244..0000000
--- a/content/pages/_index.md
+++ /dev/null
@@ -1,3 +0,0 @@
-+++
-render = false
-+++
diff --git a/content/pages/archive.en.md b/content/pages/archive.en.md
deleted file mode 100644
index 6d117e1..0000000
--- a/content/pages/archive.en.md
+++ /dev/null
@@ -1,6 +0,0 @@
-+++
-title = "Archive"
-template = "archive.html"
-path = "en/archive"
-+++
-# Archive
diff --git a/content/pages/archive.md b/content/pages/archive.md
deleted file mode 100644
index 03d4f6a..0000000
--- a/content/pages/archive.md
+++ /dev/null
@@ -1,6 +0,0 @@
-+++
-title = "Archiv"
-template = "archive.html"
-path = "archive"
-+++
-# Archiv
diff --git a/public b/public
new file mode 160000
index 0000000..a960c85
--- /dev/null
+++ b/public
@@ -0,0 +1 @@
+Subproject commit a960c859c1a2e5e8ddbb81265ea08498fac1c39d
diff --git a/symlink.sh b/symlink.sh
new file mode 100755
index 0000000..609006e
--- /dev/null
+++ b/symlink.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+find content/docs/helm-charts -iname "*.md" -not -path "content/docs/helm-charts/_index*.md" -delete
+for p in "../helm-charts/"* ; do
+ if [ ! -d $p ] ||[ ! -f $p/Chart.yaml ] ; then
+ continue;
+ fi
+ name=$(basename "${p}")
+ echo "== helm-charts/${name}:"
+ if [ ! -f $p/README.md ]; then
+ echo "not yet in markdown"
+ else
+ ln -s "../../../${p}/README.md" "content/docs/helm-charts/${name}.md"
+ fi
+done
diff --git a/templates b/templates
index 211debb..f07d781 120000
--- a/templates
+++ b/templates
@@ -1 +1 @@
-themes/terminimal/templates
\ No newline at end of file
+themes/adidoks/templates
\ No newline at end of file
diff --git a/themes/adidoks b/themes/adidoks
new file mode 160000
index 0000000..5c69827
--- /dev/null
+++ b/themes/adidoks
@@ -0,0 +1 @@
+Subproject commit 5c698271c460046034605b743a15196b12e32887
diff --git a/themes/terminimal b/themes/terminimal
deleted file mode 160000
index 910e50b..0000000
--- a/themes/terminimal
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 910e50b824c898fc9641ab7910ce4a984e97040f