chore: scaffold cluster-platform repo (root app-of-apps for platform services)

This commit is contained in:
2026-07-29 23:30:45 +07:00
commit b3c9539eaf
3 changed files with 52 additions and 0 deletions
+6
View File
@@ -0,0 +1,6 @@
.env
# OS/editor
.DS_Store
*.swp
CLAUDE.md
+28
View File
@@ -0,0 +1,28 @@
# K8s Cluster Platform — Services
Bootstraps platform/application services (vault, external-secrets, harbor, jenkins,
sonarqube, etc.) onto the cluster using ArgoCD app-of-apps pattern.
Run this after `cluster-bootstrap` finishes (ArgoCD, MetalLB, Envoy Gateway, NFS
storage must already be up).
## Architecture
```
Git repo (cluster-platform)
└── ArgoCD watches platform/apps/ → syncs all Applications
platform-app.yaml ← root Application, applied once by hand (kubectl apply)
platform/apps/ ← ArgoCD watches this path; one Application CRD per service
manifests/ ← Helm values referenced by those Applications
```
## Bootstrap Sequence
**Apply the root platform Application**
```bash
kubectl apply -f platform-app.yaml
```
Everything else is reached by ArgoCD syncing `platform/apps/` from here.
+18
View File
@@ -0,0 +1,18 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: platform
namespace: argocd
spec:
project: default
source:
repoURL: https://gitea.fireflylab.cc/duynguyen/cluster-platform.git
targetRevision: main
path: platform/apps
destination:
server: https://kubernetes.default.svc
namespace: argocd
syncPolicy:
automated:
prune: true
selfHeal: true