fix argocd install + add root bootstrap Application manifest
- remove server.httproute from argocd values.yaml: helm install failed since Gateway API CRDs (installed by envoy-gateway, wave 2) don't exist yet; HTTPRoute is already applied manually in Phase 6 - add bootstrap-app.yaml as the Git-committed root/seed Application, replacing ad-hoc UI creation (GitOps anti-pattern: apps not stored in Git can't be recreated)
This commit is contained in:
20
README.md
20
README.md
@@ -125,22 +125,15 @@ git push origin main
|
||||
|
||||
---
|
||||
|
||||
## Phase 4 — Create bootstrap app in ArgoCD UI
|
||||
## Phase 4 — Apply the root bootstrap Application
|
||||
|
||||
In ArgoCD UI, create a new Application:
|
||||
`bootstrap-app.yaml` (repo root) is the one seed manifest — it lives in Git, not created ad-hoc via UI/CLI. Per GitOps practice, every Application ArgoCD runs must be recreatable from Git; a UI-created app that's stored nowhere can't survive a rebuild. This is the only manifest ever applied by hand — everything downstream (including ArgoCD managing itself, wave -1) is reached by ArgoCD syncing `bootstrap/apps/` from here.
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Application Name | `bootstrap` |
|
||||
| Project | `default` |
|
||||
| Sync Policy | Automated (enable Prune + Self Heal) |
|
||||
| Repository URL | `https://gitea.fireflylab.cc/duynguyen/cluster-bootstrap.git` |
|
||||
| Revision | `main` |
|
||||
| Path | `bootstrap/apps` |
|
||||
| Cluster URL | `https://kubernetes.default.svc` |
|
||||
| Namespace | `argocd` |
|
||||
```bash
|
||||
kubectl apply -f bootstrap-app.yaml
|
||||
```
|
||||
|
||||
Click **Create**. ArgoCD syncs all child Applications in wave order automatically.
|
||||
ArgoCD syncs all child Applications in wave order automatically, including self-managing itself via `bootstrap/apps/argocd.yaml` (wave -1).
|
||||
|
||||
Monitor progress:
|
||||
|
||||
@@ -273,6 +266,7 @@ All Applications should be `Synced` / `Healthy`.
|
||||
```
|
||||
cluster-bootstrap/
|
||||
├── README.md
|
||||
├── bootstrap-app.yaml # root seed Application — the only manifest applied by hand
|
||||
├── bootstrap/
|
||||
│ └── apps/ # ArgoCD Application CRDs
|
||||
│ ├── argocd.yaml # wave -1 — self-managed ArgoCD
|
||||
|
||||
18
bootstrap-app.yaml
Normal file
18
bootstrap-app.yaml
Normal file
@@ -0,0 +1,18 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: bootstrap
|
||||
namespace: argocd
|
||||
spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: https://gitea.fireflylab.cc/duynguyen/cluster-bootstrap.git
|
||||
targetRevision: main
|
||||
path: bootstrap/apps
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: argocd
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: true
|
||||
selfHeal: true
|
||||
@@ -24,9 +24,3 @@ configs:
|
||||
|
||||
server:
|
||||
replicas: 1
|
||||
httproute:
|
||||
enabled: true
|
||||
parentRefs:
|
||||
- name: envoy-gateway
|
||||
namespace: gateway-system
|
||||
sectionName: http
|
||||
|
||||
Reference in New Issue
Block a user