From 10d6d7f98f3cbfb7d64b91ff5f4c22775bad5610 Mon Sep 17 00:00:00 2001 From: brupje Date: Tue, 20 Oct 2026 20:31:30 +0200 Subject: [PATCH 01/20] chore(submodules): update cluster-infra with IPv6 SLAAC fix and k8s-infra-vmserver --- cluster-infra | 2 +- k8s-infra-vmserver | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cluster-infra b/cluster-infra index ed9368f..a9ed7a8 160000 --- a/cluster-infra +++ b/cluster-infra @@ -1 +1 @@ -Subproject commit ed9368f67677d8e1b3bfca15b2c430c76e520994 +Subproject commit a9ed7a894fa83be9a15fb8a1a724b904d277c091 diff --git a/k8s-infra-vmserver b/k8s-infra-vmserver index 5f1740b..e1d7707 160000 --- a/k8s-infra-vmserver +++ b/k8s-infra-vmserver @@ -1 +1 @@ -Subproject commit 5f1740bb499226212878f4425469150831bcb6f5 +Subproject commit e1d7707992655a47ab2c895480e11308b2d10225 From ce3dc607738429b04ab0af8eb306b223cb35aa6b Mon Sep 17 00:00:00 2001 From: brupje Date: Tue, 20 Oct 2026 20:36:57 +0200 Subject: [PATCH 02/20] chore(submodule): update k8s-infra-vmserver with deployed dnsmasq image --- k8s-infra-vmserver | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/k8s-infra-vmserver b/k8s-infra-vmserver index e1d7707..3ab1e74 160000 --- a/k8s-infra-vmserver +++ b/k8s-infra-vmserver @@ -1 +1 @@ -Subproject commit e1d7707992655a47ab2c895480e11308b2d10225 +Subproject commit 3ab1e74ade703c9623e54728debd962b7774027b From 98f04233c963f1176231fd91194942ebbb7f23d6 Mon Sep 17 00:00:00 2001 From: bart Date: Tue, 20 Oct 2026 21:23:16 +0200 Subject: [PATCH 03/20] Add eendoeserver and package-repo as git submodules --- .gitmodules | 6 ++ AGENTS.md | 189 +++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 2 + agents.md | 1 + eendoeserver | 1 + package-repo | 1 + 6 files changed, 200 insertions(+) create mode 100644 AGENTS.md create mode 120000 agents.md create mode 160000 eendoeserver create mode 160000 package-repo diff --git a/.gitmodules b/.gitmodules index 44ae6b6..95466fb 100644 --- a/.gitmodules +++ b/.gitmodules @@ -13,3 +13,9 @@ [submodule "htpc"] path = htpc url = https://git.bnhmeijer.nl/bart/htpc.git +[submodule "eendoeserver"] + path = eendoeserver + url = https://git.bnhmeijer.nl/bart/eendoeserver.git +[submodule "package-repo"] + path = package-repo + url = https://git.bnhmeijer.nl/bart/package-repo.git diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..27ae8ef --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,189 @@ +# AGENTS.md — Homelab Cluster Platform + +Instructies, architectuurcontext, werkwijzen en richtlijnen voor AI-agents (en ontwikkelaars) die werken binnen deze repository workspace. + +--- + +## 🎯 1. Overzicht & Doel van de Repository + +Deze repository (`/home/bart/git/cluster`) is de centrale **Git meta-repository (superproject)** voor het homelab Kubernetes cluster, domotica en automatiseringsplatform van `bnhmeijer.nl`, gehost op de bare-metal server **`vmserver` (`10.2.0.4`)**. + +Het platform omvat: +* **Infrastructuurdiensten**: Databases, messaging brokers, caching, lokale DNS/NTP en reverse proxy configuraties. +* **GitOps & CI/CD**: Volledig geautomatiseerde pipelines met Gitea Actions en ArgoCD. +* **HERMS Brouwplatform**: Geautomatiseerd Heat Exchange Recirculating Mash System (Rust microservices, Next.js frontend, ESP32 firmware, KiCad hardware). +* **Smart Home**: Home Assistant en IoT-koppelingen binnen Kubernetes. +* **HTPC & Media**: Jellyfin, `*Arr`-stack en downloadvoorzieningen. + +--- + +## ⚠️ 2. Gouden Regels voor AI-Agents + +Lees en volg deze regels nauwkeurig bij het uitvoeren van wijzigingen: + +1. **Meta-repository & Submodules (NIET direct in root code committen)**: + * Deze workspace bestaat uit Git submodules. + * Wijzigingen aan broncode, configuraties of componenten horen thuis in de betreffende submodule map (`cluster-infra/`, `HERMS/`, `k8s-infra-vmserver/`, `smart-home/`, `htpc/`, `eendoeserver/`, `package-repo/`). + * Voer commits altijd uit binnen de submodule zelf (bijv. via `git -C commit -m "..."`). + * Pas na het committen in de submodule werk je de submodule-pointer bij in deze root repository (`git add ` && `git commit`). + +2. **GitOps Manifest Synchronisatie (Bron vs. Bestemming)**: + * Pas Kubernetes manifests **altijd aan in de bronrepository** (bijv. `cluster-infra//k8s/` of `HERMS/deployments/` of `htpc/k8s/`). + * Wijzig manifests **niet direct handmatig** in `k8s-infra-vmserver/workloads/...` tenzij strikt noodzakelijk: Gitea Actions overschrijft deze mappen automatisch bij een nieuwe build vanuit de bronrepository! + +3. **CI/CD Path Filtering (`dorny/paths-filter`)**: + * Zowel `cluster-infra` als `HERMS` gebruiken path filters in hun workflows (`.gitea/workflows/*.yaml`). + * Wijzigingen in uitsluitend markdown/documentatie of mappen die buiten het filter vallen, triggeren geen build of image deployment. + * Controleer bij nieuwe componenten altijd of het pad in de workflow staat geregistreerd. + +4. **Productie-integriteit & Veiligheid**: + * Dit cluster draait live workloads (inclusief DNS, domotica en actieve databases). + * Voer **geen** destructieve commando's uit (`kubectl delete namespace`, geforceerde teardowns, data-volume deletes) zonder expliciete bevestiging van de gebruiker. + * Breng wijzigingen aan via GitOps (declaratief) in plaats van ad-hoc `kubectl edit` of `kubectl apply` op productieworkloads. + +--- + +## 📦 3. Submodules & Componenten + +| Map / Submodule | Remote Git URL | Stack & Technologieën | Doel & Kerncomponenten | +| :--- | :--- | :--- | :--- | +| **`cluster-infra`** | `https://git.bnhmeijer.nl/bart/cluster-infra.git` | Docker, K8s manifests, Bash | PostgreSQL, MongoDB, InfluxDB, RabbitMQ, Mosquitto MQTT, Dnsmasq, Chrony NTP, Apache vhosts, Infra Web Dashboard | +| **`k8s-infra-vmserver`** | `https://git.bnhmeijer.nl/bart/k8s-infra-vmserver.git` | Kustomize, ArgoCD, Gateway API | GitOps source-of-truth voor ArgoCD, Gateway API HTTPRoutes, Kustomize overlays & ApplicationSets | +| **`HERMS`** | `https://git.bnhmeijer.nl/bart/HERMS.git` | Rust, Next.js, C++ (ESP32), KiCad | Brouwautomatisering: `herms-controller` (Rust), `herms-storage` (Rust REST/NATS), `frontend` (Next.js/Tailwind), `firmware`, KiCad PCB | +| **`smart-home`** | `https://git.bnhmeijer.nl/bart/smart-home.git` | YAML, Python, Home Assistant | Domotica, Home Assistant configuraties, IoT migratie- en koppelscripts | +| **`htpc`** | `https://git.bnhmeijer.nl/bart/htpc.git` | Docker, K8s manifests | Jellyfin media server, `*Arr`-suite (Sonarr, Radarr, Lidarr, Prowlarr), download clients | +| **`eendoeserver`** | `https://git.bnhmeijer.nl/bart/eendoeserver.git` | Apache vhosts, HTML, SASS | Website `eendoe.nl` en Apache VirtualHost configuraties van web03 | +| **`package-repo`** | `https://git.bnhmeijer.nl/bart/package-repo.git` | Debian packaging, Gitea Actions | Bronnen, staging en build-pipelines voor debian packages | + +--- + +## 🏛️ 4. Systeemarchitectuur & Netwerkverkeer + +```mermaid +flowchart TD + WAN([Internet / Lokaal LAN]) --> Apache["Apache Reverse Proxy (vmserver: 10.2.0.4)"] + + subgraph Host ["vmserver Bare-Metal (10.2.0.4)"] + Apache -->|SSL / OIDC| Keycloak["Keycloak (login.bnhmeijer.nl)"] + Apache --> Gitea["Gitea (git.bnhmeijer.nl)"] + Apache --> Media["Nextcloud / Jellyfin / *Arr"] + Apache -->|NodePort 32608| Envoy["Envoy Gateway API (k8s)"] + Dnsmasq["Dnsmasq (10.2.0.4:53)"] + Chrony["Chrony NTP (10.2.0.4:123)"] + end + + subgraph K8s ["Kubernetes Cluster (Single-Node vmserver)"] + Envoy --> HTTPRoutes[Envoy Gateway HTTPRoutes] + + HTTPRoutes --> InfraWeb["Infra Web (`infra.lan`, `infra.bnhmeijer.nl`)"] + HTTPRoutes --> InfluxUI["InfluxDB Explorer (`influx-ui.lan`)"] + HTTPRoutes --> HermsUI["HERMS Frontend (`herms.lan`, `herms.bnhmeijer.nl`)"] + HTTPRoutes --> ArgoServer["ArgoCD UI (`thuus.bnhmeijer.nl`)"] + HTTPRoutes --> GravMon["Gravitymon Ingress (`gravitymon.lan:8002`)"] + + ArgoCD["ArgoCD Operator"] -->|Sync Manifests| Namespaces["Namespaces: cluster-infra, herms, smart-home, htpc"] + end + + subgraph GitOps ["GitOps & CI/CD Pipeline"] + Gitea -->|Gitea Actions| Build["Container Build & Test"] + Build --> Reg["Gitea Container Registry"] + Reg --> PushManifests["Sync manifests naar k8s-infra-vmserver"] + PushManifests --> ArgoCD + end +``` + +### Belangrijke Netwerk- en Clusterparameters +* **Host IP**: `10.2.0.4` (`vmserver`) +* **CNI & Pod CIDR**: Calico (`10.10.174.0/...`) +* **Service CIDR**: `10.96.0.0/12` +* **Cluster DNS**: CoreDNS op `10.96.0.10` +* **Opslagklasse**: `local-path` (`local-path-provisioner` in namespace `local-path-storage`) + +--- + +## 💻 5. Tech Stacks & Conventies per Component + +### 🍺 HERMS (`HERMS/`) +* **Frontend (`frontend/`)**: + * Next.js, React, Tailwind CSS. + * **Thema**: *SevenGrid Aurora Dark*: + * Achtergrond: `#0A0F12` + * Accent primair: Aurora Teal `#1DC7B7` + * Accent verwarming/warning: Coral `#E26F3A` + * UI-elementen: `rounded-full` pills voor statusindicatoren en toggles. + * Communicatie: REST via `herms-storage` (`/api/...`) en realtime WebSockets (`/api/ws`) gevoed door NATS messaging. +* **Backend Microservices (`herms-controller/`, `herms-storage/`, `gravitymon-2-nats/`)**: + * Geschreven in **Rust** (Cargo). + * Logging via `tracing` / `log`. + * Integratie met InfluxDB (Line Protocol) en NATS message bus. +* **MQTT Communicatie Regels**: + * Base topic: `//` (bijv. `avr59/installation1/` of `avr59/hermsdev/`). + * Ketel/Heater index: **altijd als string**, nooit numeriek (`hlt`, `mlt`, `boil`). + * Telemetrie publiceren met `retain: true` op `heater//temperature/state`. + * Commando-bevestiging: commando op `...//cmd` moet direct bevestigd worden op `...//state`. + +### 🌐 cluster-infra (`cluster-infra/`) +* Bevat configuraties voor gedeelde middleware. +* Toevoegen van een nieuwe service: + 1. Maak directory: `cluster-infra//k8s/`. + 2. Voeg eventuele `Dockerfile` toe in `cluster-infra//`. + 3. Voeg manifests toe (`deployment.yaml`, `service.yaml`, `kustomization.yaml`). + 4. Zorg dat de Gitea Actions workflow het pad oppakt in het path-filter. + +### 🚀 k8s-infra-vmserver (`k8s-infra-vmserver/`) +* Bevat ArgoCD ApplicationSets en Kustomize base/overlay structuren voor het cluster. +* Map `workloads/` bevat gesynchroniseerde manifests voor `cluster-infra`, `herms`, `demo` en `htpc`. + +--- + +## 🛠️ 6. Handige Commando's voor Agents + +### Submodule & Git Beheer +```bash +# Submodule status en eventuele uncommitted changes inspecteren +for d in cluster-infra HERMS k8s-infra-vmserver smart-home htpc; do + echo "=== $d ===" + git -C "$d" status -s +done + +# Alle submodules bijwerken naar de nieuwste remote commits +git submodule update --remote --merge + +# Submodules initialiseren na clone +git submodule update --init --recursive +``` + +### Kubernetes & Kustomize Inspectie +```bash +# Pods bekijken over alle relevante namespaces +kubectl get pods -n cluster-infra +kubectl get pods -n herms +kubectl get pods -n argocd +kubectl get pods -n htpc + +# Kustomize build lokaal valideren vóór commit +kubectl kustomize k8s-infra-vmserver/workloads/herms/ +kubectl kustomize cluster-infra/postgresql/k8s/ +``` + +### HERMS Backend (Rust) & Frontend +```bash +# Rust syntax- & typecheck +cargo check --manifest-path HERMS/herms-controller/Cargo.toml +cargo check --manifest-path HERMS/herms-storage/Cargo.toml + +# Frontend build & linting +npm --prefix HERMS/frontend run lint +npm --prefix HERMS/frontend run build +``` + +--- + +## 📚 7. Documentatie Index + +In de map `docs/` is gedetailleerde achtergrondinformatie beschikbaar: +* [`docs/agent-cheatsheet.md`](file:///home/bart/git/cluster/docs/agent-cheatsheet.md) — Snelle cheatsheet en valkuilen voor ontwikkelaars en agents. +* [`docs/platform.md`](file:///home/bart/git/cluster/docs/platform.md) — Volledige architectuur, domeinen, SSL-terminatie en GitOps-flow. +* [`docs/cluster-status.md`](file:///home/bart/git/cluster/docs/cluster-status.md) — Actuele clusterconfiguratie, node resources, PVC's en Ingress HTTPRoutes. +* [`docs/repositories.md`](file:///home/bart/git/cluster/docs/repositories.md) — Diepgaande details per repository en service. +* [`docs/apache-reverse-proxy.md`](file:///home/bart/git/cluster/docs/apache-reverse-proxy.md) — Apache VirtualHost configuraties, SSL-certificaten en OIDC/Keycloak koppeling. diff --git a/README.md b/README.md index f3f932d..c26833e 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,8 @@ Deze repository fungeert als **superproject** dat alle componenten van het platf | **[`HERMS`](file:///home/bart/git/cluster/HERMS)** | `https://git.bnhmeijer.nl/bart/HERMS.git` | Geautomatiseerd brouwplatform | Rust microservices, Next.js frontend, ESP32 firmware, KiCad hardware | | **[`smart-home`](file:///home/bart/git/cluster/smart-home)** | `https://git.bnhmeijer.nl/bart/smart-home.git` | Huisautomatisering | Home Assistant, IoT netwerk- en migratiescripts | | **[`htpc`](file:///home/bart/git/cluster/htpc)** | `https://git.bnhmeijer.nl/bart/htpc.git` | HTPC & Media Services | Jellyfin, *Arr stack, download clients, K8s manifests | +| **[`eendoeserver`](file:///home/bart/git/cluster/eendoeserver)** | `https://git.bnhmeijer.nl/bart/eendoeserver.git` | Eendoe server configuratie | Website bronbestanden (`eendoe/`) en Apache vhosts (`vhosts/`) | +| **[`package-repo`](file:///home/bart/git/cluster/package-repo)** | `https://git.bnhmeijer.nl/bart/package-repo.git` | Debian / APT package repository | Package bronnen (`sources/`), staging deb packages en CI workflow | --- diff --git a/agents.md b/agents.md new file mode 120000 index 0000000..47dc3e3 --- /dev/null +++ b/agents.md @@ -0,0 +1 @@ +AGENTS.md \ No newline at end of file diff --git a/eendoeserver b/eendoeserver new file mode 160000 index 0000000..eb3e451 --- /dev/null +++ b/eendoeserver @@ -0,0 +1 @@ +Subproject commit eb3e451a87c63b4f9ad944edfbf6293f91256bea diff --git a/package-repo b/package-repo new file mode 160000 index 0000000..9cc903b --- /dev/null +++ b/package-repo @@ -0,0 +1 @@ +Subproject commit 9cc903b2a4390a6d333278374d19f5bad8c4c878 From 68116d14932c8a3d532066590eb4c816f843952d Mon Sep 17 00:00:00 2001 From: bart Date: Tue, 20 Oct 2026 21:24:14 +0200 Subject: [PATCH 04/20] Remove redundant agents.md symlink --- agents.md | 1 - 1 file changed, 1 deletion(-) delete mode 120000 agents.md diff --git a/agents.md b/agents.md deleted file mode 120000 index 47dc3e3..0000000 --- a/agents.md +++ /dev/null @@ -1 +0,0 @@ -AGENTS.md \ No newline at end of file From 63e8a684897c98faab06c7555c9ab8d791948272 Mon Sep 17 00:00:00 2001 From: bart Date: Tue, 20 Oct 2026 21:25:22 +0200 Subject: [PATCH 05/20] Update AGENTS.md with eendoeserver and package-repo instructions --- AGENTS.md | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index 27ae8ef..a2978af 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -14,6 +14,8 @@ Het platform omvat: * **HERMS Brouwplatform**: Geautomatiseerd Heat Exchange Recirculating Mash System (Rust microservices, Next.js frontend, ESP32 firmware, KiCad hardware). * **Smart Home**: Home Assistant en IoT-koppelingen binnen Kubernetes. * **HTPC & Media**: Jellyfin, `*Arr`-stack en downloadvoorzieningen. +* **Web & Reverse Proxy (`eendoeserver`)**: Apache VirtualHosts, reverse proxy configuraties en de website van `eendoe.nl` op `web03`. +* **Software Distributie (`package-repo`)**: Debian / APT package repository bronnen, build-scripts en CI/CD packaging pipelines. --- @@ -134,6 +136,23 @@ flowchart TD * Bevat ArgoCD ApplicationSets en Kustomize base/overlay structuren voor het cluster. * Map `workloads/` bevat gesynchroniseerde manifests voor `cluster-infra`, `herms`, `demo` en `htpc`. +### 🏢 eendoeserver (`eendoeserver/`) +* Bevat de configuratie en bestanden voor de standalone server `web03` (`eendoe.nl`): + * **`eendoe/`**: Document root voor de website `eendoe.nl` en `bm4.nl` (HTML, SASS, CSS, JS, afbeeldingen). + * **`vhosts/`**: Apache 2.4 VirtualHost configuraties (geïncludeerd via `Include /sites/vhosts/*.conf`). +* **Regels**: + * Grote binaire installers (zoals `.AppImage` of losse `.deb` installatiebestanden) horen **niet** thuis in git, maar worden beheerd via `package-repo` of downloads. + +### 📦 package-repo (`package-repo/`) +* Bevat de bronbestanden en distributiestructuur voor de Debian/APT package repository van Eendoe: + * **`sources/`**: Bevat bronbestanden per package (bijv. `eendoe_repository`, `eendoe_hyperdeck`, `eendoe_srs`) met hun control templates en `bin/build.sh`. + * **`staging/`**: Bestemming voor nieuw gebouwde en bestaande `.deb` pakketten. + * **`binaries/`**: Publiek geserveerde repository bestanden (`pool/`, `dists/`). + * **`buildpackages.sh`**: Universeel build-script om packages direct te genereren. + * **`.gitea/workflows/build-and-publish.yaml`**: CI/CD pipeline voor automatische package-builds en SSH/rsync deployments. +* **Belangrijke regel**: + * **Nooit** grote externe database installatiebestanden (zoals Oracle Database XE deb packages van >2 GB) toevoegen aan deze repository. + --- ## 🛠️ 6. Handige Commando's voor Agents @@ -141,7 +160,7 @@ flowchart TD ### Submodule & Git Beheer ```bash # Submodule status en eventuele uncommitted changes inspecteren -for d in cluster-infra HERMS k8s-infra-vmserver smart-home htpc; do +for d in cluster-infra HERMS k8s-infra-vmserver smart-home htpc eendoeserver package-repo; do echo "=== $d ===" git -C "$d" status -s done @@ -153,6 +172,15 @@ git submodule update --remote --merge git submodule update --init --recursive ``` +### Debian Packages Bouwen (`package-repo`) +```bash +# Alle debian packages in sources/ compileren +./package-repo/buildpackages.sh all + +# Een specifiek package compileren +./package-repo/buildpackages.sh eendoe_hyperdeck +``` + ### Kubernetes & Kustomize Inspectie ```bash # Pods bekijken over alle relevante namespaces From 94c576a634efb86fb2f7d69ace95dc6c4c4f7d97 Mon Sep 17 00:00:00 2001 From: bart Date: Tue, 20 Oct 2026 21:35:15 +0200 Subject: [PATCH 06/20] Update eendoeserver and package-repo submodules --- eendoeserver | 2 +- package-repo | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/eendoeserver b/eendoeserver index eb3e451..97a437b 160000 --- a/eendoeserver +++ b/eendoeserver @@ -1 +1 @@ -Subproject commit eb3e451a87c63b4f9ad944edfbf6293f91256bea +Subproject commit 97a437bf270182c0506481c5b80f43550f0b5b36 diff --git a/package-repo b/package-repo index 9cc903b..283c95e 160000 --- a/package-repo +++ b/package-repo @@ -1 +1 @@ -Subproject commit 9cc903b2a4390a6d333278374d19f5bad8c4c878 +Subproject commit 283c95edf737544089c230a0e5646821efd48219 From 6f3a65b83ea48592985c61279f7c65328010a886 Mon Sep 17 00:00:00 2001 From: bart Date: Tue, 20 Oct 2026 21:38:17 +0200 Subject: [PATCH 07/20] Update package-repo submodule pointer (modern index.html) --- package-repo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package-repo b/package-repo index 283c95e..50659a6 160000 --- a/package-repo +++ b/package-repo @@ -1 +1 @@ -Subproject commit 283c95edf737544089c230a0e5646821efd48219 +Subproject commit 50659a67f38f073a85a78fc0497dd4f7e08c60fb From e3c035450d86abc3756c8d8a1c4eb4af1e8c2f66 Mon Sep 17 00:00:00 2001 From: bart Date: Tue, 20 Oct 2026 21:41:50 +0200 Subject: [PATCH 08/20] Update package-repo submodule pointer (brand styled index.html) --- package-repo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package-repo b/package-repo index 50659a6..72bb296 160000 --- a/package-repo +++ b/package-repo @@ -1 +1 @@ -Subproject commit 50659a67f38f073a85a78fc0497dd4f7e08c60fb +Subproject commit 72bb2966ec57b37c59142cf5158201156e266b45 From 3d83b38db4ffb5280d08cfe5969f6c8b9b30caaf Mon Sep 17 00:00:00 2001 From: bart Date: Tue, 20 Oct 2026 21:43:39 +0200 Subject: [PATCH 09/20] Update submodules with /dev/tty interactive prompt fix --- eendoeserver | 2 +- package-repo | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/eendoeserver b/eendoeserver index 97a437b..9a2f741 160000 --- a/eendoeserver +++ b/eendoeserver @@ -1 +1 @@ -Subproject commit 97a437bf270182c0506481c5b80f43550f0b5b36 +Subproject commit 9a2f741047b087d66767e03230800a98e21165b3 diff --git a/package-repo b/package-repo index 72bb296..ed27a09 160000 --- a/package-repo +++ b/package-repo @@ -1 +1 @@ -Subproject commit 72bb2966ec57b37c59142cf5158201156e266b45 +Subproject commit ed27a09ef934feeebddd3ebda44f92f65c26b1f2 From 47186f08fc76e5fb629dfa5d027ac58af7fef782 Mon Sep 17 00:00:00 2001 From: bart Date: Tue, 20 Oct 2026 22:01:25 +0200 Subject: [PATCH 10/20] Update package-repo pointer with install test workflow and package fixes --- package-repo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package-repo b/package-repo index ed27a09..496920f 160000 --- a/package-repo +++ b/package-repo @@ -1 +1 @@ -Subproject commit ed27a09ef934feeebddd3ebda44f92f65c26b1f2 +Subproject commit 496920fddb214e5c1cf7b109ba1e9f749d7ab7f9 From 953d9b0c7a40804a22437e0b2af9227ec29ff042 Mon Sep 17 00:00:00 2001 From: bart Date: Tue, 20 Oct 2026 22:02:20 +0200 Subject: [PATCH 11/20] Update eendoeserver submodule pointer --- eendoeserver | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eendoeserver b/eendoeserver index 9a2f741..85cadf1 160000 --- a/eendoeserver +++ b/eendoeserver @@ -1 +1 @@ -Subproject commit 9a2f741047b087d66767e03230800a98e21165b3 +Subproject commit 85cadf104081aa5d6f36dde7129ab610644183a8 From b0a06a721fd35decc05014c48da630b1cc57bb27 Mon Sep 17 00:00:00 2001 From: bart Date: Tue, 20 Oct 2026 22:31:29 +0200 Subject: [PATCH 12/20] Update eendoeserver submodule pointer --- eendoeserver | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eendoeserver b/eendoeserver index 85cadf1..b87d39e 160000 --- a/eendoeserver +++ b/eendoeserver @@ -1 +1 @@ -Subproject commit 85cadf104081aa5d6f36dde7129ab610644183a8 +Subproject commit b87d39e3215371916183532e03e0494807234384 From e65b592d9c3d53f70b58815816f709abb2fe2471 Mon Sep 17 00:00:00 2001 From: bart Date: Tue, 20 Oct 2026 22:33:56 +0200 Subject: [PATCH 13/20] feat: add cert-service for homelab token-based TLS certificate issuance --- cluster-infra | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cluster-infra b/cluster-infra index a9ed7a8..a5cac0b 160000 --- a/cluster-infra +++ b/cluster-infra @@ -1 +1 @@ -Subproject commit a9ed7a894fa83be9a15fb8a1a724b904d277c091 +Subproject commit a5cac0ba022ca0483c6ae7088a013129d38c68fd From 95fd38de45522056932bd7d1867e4e653f08943a Mon Sep 17 00:00:00 2001 From: bart Date: Tue, 20 Oct 2026 22:40:07 +0200 Subject: [PATCH 14/20] Add eendoeserver AGENTS.md and document deploy command --- AGENTS.md | 9 +++++++++ eendoeserver | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index a2978af..e2d616c 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -205,6 +205,15 @@ npm --prefix HERMS/frontend run lint npm --prefix HERMS/frontend run build ``` +### Eendoe Website & Server (`eendoeserver`) +```bash +# Website deployen naar productie (web03 / eendoe.nl) +rsync -avz eendoeserver/eendoe/ bart@eendoe.nl:/sites/eendoe/ + +# Live status controleren +curl -sI https://eendoe.nl | head -n 5 +``` + --- ## 📚 7. Documentatie Index diff --git a/eendoeserver b/eendoeserver index b87d39e..ed8f874 160000 --- a/eendoeserver +++ b/eendoeserver @@ -1 +1 @@ -Subproject commit b87d39e3215371916183532e03e0494807234384 +Subproject commit ed8f87411b2e73c38fcd55c17cd7b759871592fd From 4d08a9c4bbbeb820fea816b5f8dd96981d4caa97 Mon Sep 17 00:00:00 2001 From: bart Date: Tue, 20 Oct 2026 22:44:35 +0200 Subject: [PATCH 15/20] Update package-repo pointer with bnhmeijer-ca-certificates --- package-repo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package-repo b/package-repo index 496920f..06bd018 160000 --- a/package-repo +++ b/package-repo @@ -1 +1 @@ -Subproject commit 496920fddb214e5c1cf7b109ba1e9f749d7ab7f9 +Subproject commit 06bd01807a2be875ec5aac17022e9a39f89ef815 From 55b007710979160c81fd84e9841d0164877170ee Mon Sep 17 00:00:00 2001 From: bart Date: Tue, 20 Oct 2026 22:48:05 +0200 Subject: [PATCH 16/20] feat: enable HTTPS for herms.lan and internal Apache LAN services --- cluster-infra | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cluster-infra b/cluster-infra index a5cac0b..d10cfac 160000 --- a/cluster-infra +++ b/cluster-infra @@ -1 +1 @@ -Subproject commit a5cac0ba022ca0483c6ae7088a013129d38c68fd +Subproject commit d10cface5800476d688e31783c8ab64c4a2b19b8 From cd8d2ac337abab4423b780529d30285ea93dc62e Mon Sep 17 00:00:00 2001 From: bart Date: Tue, 20 Oct 2026 23:06:22 +0200 Subject: [PATCH 17/20] feat: add automated renewal and deploy initial certs for all OpenWrt APs --- cluster-infra | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cluster-infra b/cluster-infra index d10cfac..c4bc39d 160000 --- a/cluster-infra +++ b/cluster-infra @@ -1 +1 @@ -Subproject commit d10cface5800476d688e31783c8ab64c4a2b19b8 +Subproject commit c4bc39d5594f84c859ffbc67659134f2cb9a7f97 From c5ef4373467fac2623c7532cc2d5096f96da8cd0 Mon Sep 17 00:00:00 2001 From: bart Date: Tue, 20 Oct 2026 23:11:38 +0200 Subject: [PATCH 18/20] feat: add crt.bnhmeijer.nl aliases and sync cert-service manifests --- cluster-infra | 2 +- k8s-infra-vmserver | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cluster-infra b/cluster-infra index c4bc39d..d8f65d8 160000 --- a/cluster-infra +++ b/cluster-infra @@ -1 +1 @@ -Subproject commit c4bc39d5594f84c859ffbc67659134f2cb9a7f97 +Subproject commit d8f65d82e319b993e69116e2f02ccdebc6e96f94 diff --git a/k8s-infra-vmserver b/k8s-infra-vmserver index 3ab1e74..ea13746 160000 --- a/k8s-infra-vmserver +++ b/k8s-infra-vmserver @@ -1 +1 @@ -Subproject commit 3ab1e74ade703c9623e54728debd962b7774027b +Subproject commit ea13746d4e57e70c3dcbb4473246e6b71e0621e2 From fed5ceb9873b5156c1c595c1412a8fddfb867651 Mon Sep 17 00:00:00 2001 From: bart Date: Tue, 20 Oct 2026 23:12:59 +0200 Subject: [PATCH 19/20] Update package-repo pointer with update-repo.sh --- package-repo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package-repo b/package-repo index 06bd018..13aea1c 160000 --- a/package-repo +++ b/package-repo @@ -1 +1 @@ -Subproject commit 06bd01807a2be875ec5aac17022e9a39f89ef815 +Subproject commit 13aea1c654b42e11287ac59fe75ce631d56b07e2 From 42d5f9675b6e32adfa50c3e35defac25c4190075 Mon Sep 17 00:00:00 2001 From: bart Date: Tue, 20 Oct 2026 23:36:59 +0200 Subject: [PATCH 20/20] chore(submodule): update package-repo to 6ee1625 (v1.0.1 browser policies) --- package-repo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package-repo b/package-repo index 13aea1c..6ee1625 160000 --- a/package-repo +++ b/package-repo @@ -1 +1 @@ -Subproject commit 13aea1c654b42e11287ac59fe75ce631d56b07e2 +Subproject commit 6ee1625e703c1339186f8d6a7775d5270ae4a06e