# Cluster Repository & GitOps Guidelines ## GitOps & CI/CD Pipeline - **`k8s-infra-vmserver` is een pure GitOps target-repository:** - Breng **nooit** direct handmatige wijzigingen of commits aan in `k8s-infra-vmserver/workloads/cluster-infra/` (of andere componenten die via CI/CD beheerd worden). - Dit voorkomt configuratie-drift en mergeconflicten met de geautomatiseerde deployment bots (`Gitea Actions Bot`). - **Single Source of Truth is `cluster-infra/`:** - Wijzigingen aan Kubernetes manifests voor infrastructuurdiensten (zoals Mosquitto, InfluxDB, PostgreSQL, DNSmasq, RabbitMQ, Telegraf, etc.) horen **uitsluitend** in `cluster-infra//k8s/`. - Na een `git push` naar `cluster-infra` draait de Gitea Actions workflow (`.gitea/workflows/build-and-deploy.yaml`). - Deze workflow synct gewijzigde manifests automatisch naar `k8s-infra-vmserver/workloads/cluster-infra/` met het commitbericht `ci(cluster-infra): sync manifests (...)`. - ArgoCD detecteert de commit in `k8s-infra-vmserver` en synct de workloads naar het live Kubernetes cluster. - **Overige submodules (`HERMS`, `htpc`, `smart-home`):** - Pas ook voor deze componenten altijd de configuratie aan in de respectievelijke bronrepository en laat de build/sync-workflows of migratiescripts het werk doen. ## Topologie & Omgeving - Host `vmserver`: IP `10.2.0.4` (K3s/Kubernetes node). - Kubelet health probes (`readinessProbe` / `livenessProbe`) verbinden vanaf node-IP `10.2.0.4`. - Edge reverse proxy (Apache) draait native op `vmserver` (`10.2.0.4`) vóór Envoy Gateway / hostdiensten.