No description
- Shell 100%
|
|
||
|---|---|---|
| .forgejo/workflows | ||
| applications | ||
| bootstrap | ||
| clusters | ||
| infrastructure | ||
| scripts | ||
| tenants | ||
| .gitignore | ||
| .prettierrc.yaml | ||
| .sops.yaml | ||
| .yamllint.yaml | ||
| AGENT.md | ||
| cilium-default-values.yaml | ||
| cilium-values.yaml | ||
| cluster.yaml | ||
| current-values.yaml | ||
| DECISIONS.md | ||
| GEMINI.md | ||
| gwclass.yaml | ||
| k3d-config.yaml | ||
| PLAN_VAN_AANPAK.md | ||
| README.md | ||
| renovate.json | ||
| Taskfile.migrate.yml | ||
| Taskfile.yaml | ||
| TODO.md | ||
CraftCloud Kubernetes Platform (ccc2)
GitOps repository voor het CraftCloud platform op k3s + Hetzner Cloud.
Repository Structuur
| Folder | Doel |
|---|---|
/infrastructure |
Core componenten (Cilium, Storage, ArgoCD) |
/applications |
Gedeelde diensten (Mail, Harbor, Monitoring) |
/tenants |
Klant-workloads en specifieke sites |
/clusters |
Omgeving-specifieke configuratie (Prod, Local) |
/bootstrap |
Initiële namespaces en secrets |
GitOps Flow
Dit cluster wordt beheerd via ArgoCD. De root-applicatie (craftcloud-root) bevindt zich in clusters/{env}/.
App Discovery & Toggles
We gebruiken ApplicationSets voor automatische discovery:
- Bestanden: Apps worden ontdekt via
.argocd.yamlbestanden. - Uitschakelen: Om een app volledig te deactiveren (geen sync/recreatie), hernoem je
.argocd.yamlnaarDISABLED_argocd.yaml. - Tenants: Elke submap in
tenants/met een.argocd.yamlbestand wordt automatisch een ArgoCD applicatie.
Ontwikkeling & Validatie
Branching
De actieve ontwikkelbranch is main.
Lokale Validatie
Voordat je pusht, run je de validatie:
task validate # Kustomize build + conventiecontroles
task fmt # Formatteer YAML bestanden
Technische Details
- Cluster: K3s op Hetzner Cloud.
- Netwerk: Cilium 1.17 met Gateway API.
- Ingress:
publicin dekube-systemnamespace. - Storage: Hetzner CSI (
hcloud-volumes) is de standaard StorageClass. Longhorn is niet langer in gebruik. - Certs: Cert-manager met DNS01 solver (Hetzner DNS).
Cluster Rebuild / Setup
Bij een verse installatie of herbouw:
hetzner-k3s create --config cluster.yamltask up:repo-credentials(Zorg voorREPO_USER/REPO_PASSin.env)kubectl apply -k bootstrap/prod- ArgoCD en de Root App installeren via Helm/Kubectl.