new approach

This commit is contained in:
2026-08-28 15:44:41 -03:00
parent 117a0bc7e2
commit 35a65fe436
6 changed files with 47 additions and 42 deletions
+11 -18
View File
@@ -20,23 +20,19 @@
```
gitops/
├── bootstrap/
── root-app.yaml # the app-of-apps (only file you apply manually, once)
── namespaces.yaml # cluster namespaces
│ ├── argocd-install/ # Argo CD install manifests + ingress
│ └── root-app.yaml # root Application watching apps/root
├── apps/
── root/
├── kustomization.yaml # lists every child Application
── argocd.yaml # Argo CD managing itself (dogfood)
├── notepad.yaml
── ...
└── apps/<name>/ # per-app dir
├── kustomization.yaml
├── deployment.yaml
├── service.yaml
├── ingress.yaml
└── pvc.yaml
── root/
├── kustomization.yaml # points to applicationset.yaml
── applicationset.yaml# auto-discovers apps/*/*.yaml
└── <namespace>/ # e.g., default/, media/, monitoring/
── <app-1>.yaml # all-in-one manifest per app
│ └── <app-2>.yaml
```
`apps/root/kustomization.yaml` is the switchboard — adding a service = adding one
`Application` entry + one folder.
To add a new app: simply drop `<app>.yaml` into the appropriate `apps/<namespace>/` folder. The ApplicationSet automatically generates an Argo CD Application for it.
## 3. Manual bootstrap (run once, by hand)
@@ -83,10 +79,7 @@ spec:
selfHeal: true
```
**`apps/root/argocd.yaml`** — Argo CD managing itself (standard dogfood pattern).
**Each child app** follows the same shape with `path: apps/<name>` and
`destination.namespace` matching where it runs today (`default` for most of your
internal apps).
**`apps/root/applicationset.yaml`** — Uses the Git Files generator to discover any `apps/*/*.yaml` file and automatically generate an Argo CD `Application` pointing directly to that app file within the respective namespace.
## 5. Ingress (internal-only, per Haven convention)