# Argo CD — noble (bootstrap) **Prerequisites:** cluster **Ready**, **MetalLB** pool **`192.168.50.210`–`229`** (Argo CD uses **`192.168.50.210`**; Traefik **`192.168.50.211`**). ## 1. Install ```bash helm repo add argo https://argoproj.github.io/argo-helm helm repo update helm upgrade --install argocd argo/argo-cd \ --namespace argocd \ --create-namespace \ --version 9.4.17 \ -f clusters/noble/bootstrap/argocd/values.yaml \ --wait ``` ## 2. UI / CLI address ```bash kubectl get svc -n argocd argocd-server ``` **LoadBalancer** should show **`192.168.50.210`**. Log in as **`admin`**; initial password: ```bash kubectl -n argocd get secret argocd-initial-admin-secret \ -o jsonpath='{.data.password}' | base64 -d echo ``` Change the password in the UI or via `argocd account update-password`. ## 3. Register this repo (if private) Use **Settings → Repositories** in the UI, or `argocd repo add` / a `Secret` of type `repository`. ## 4. App-of-apps (optional) 1. Edit **`root-application.yaml`**: set **`repoURL`** and **`targetRevision`** to this repository. 2. Commit **`Application`** manifests under **`apps/`** (see **`apps/README.md`**). 3. Apply the root: ```bash kubectl apply -f clusters/noble/bootstrap/argocd/root-application.yaml ``` Until **`apps/`** contains valid **`Application`** resources, the root app may show **OutOfSync** or sync nothing — that is expected. ## Versions Pinned in **`values.yaml`** comments (chart **9.4.17** / Argo CD **v3.3.6** at time of writing). Bump **`--version`** when upgrading.