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 |
|
```bash
|
||||||
|-------|-------|
|
kubectl apply -f bootstrap-app.yaml
|
||||||
| 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` |
|
|
||||||
|
|
||||||
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:
|
Monitor progress:
|
||||||
|
|
||||||
@@ -273,6 +266,7 @@ All Applications should be `Synced` / `Healthy`.
|
|||||||
```
|
```
|
||||||
cluster-bootstrap/
|
cluster-bootstrap/
|
||||||
├── README.md
|
├── README.md
|
||||||
|
├── bootstrap-app.yaml # root seed Application — the only manifest applied by hand
|
||||||
├── bootstrap/
|
├── bootstrap/
|
||||||
│ └── apps/ # ArgoCD Application CRDs
|
│ └── apps/ # ArgoCD Application CRDs
|
||||||
│ ├── argocd.yaml # wave -1 — self-managed ArgoCD
|
│ ├── 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:
|
server:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
httproute:
|
|
||||||
enabled: true
|
|
||||||
parentRefs:
|
|
||||||
- name: envoy-gateway
|
|
||||||
namespace: gateway-system
|
|
||||||
sectionName: http
|
|
||||||
|
|||||||
Reference in New Issue
Block a user