clusterSpec: # "k8s-admin-prd-ase1" only resolved in the fleet because that name was # registered as an external cluster in the hub ArgoCD's cluster list. # There's no hub here — one ArgoCD, running on the cluster it manages — # so this has to be the built-in local-cluster alias instead. destination: server: "" name: "in-cluster" argocdSpec: # Was argocd-admin (a separate hub namespace in the fleet's two-tier # setup). Single ArgoCD instance here, so Application objects live in # the same namespace as ArgoCD itself — see claude.md. namespace: argocd teamSpec: devops: source: repoURL: http://gitea.192.168.1.7.nip.io/mukul/devops-infra-helm-charts.git targetRevision: main path: helm-templates valueFiles: ../../helm-overrides/k8s-admin-prd-ase1 labels: bu: infra team: devops env: prd cluster: k8s-admin-prd-ase1 appSpec: - name: argocd nameOverride: argocd-prd-cluster namespace: argocd chartDir: argo-cd valuesDir: argocd-admin-prd - name: gitea # Adopting the already-running standalone install (helm release # "gitea" in namespace "gitea", from deploy_gitea.sh) rather than # deploying a second one — nameOverride pins the rendered # Application's name (and therefore the Helm release name Argo # renders with) to match those existing object names exactly. nameOverride: gitea namespace: gitea chartDir: gitea valuesDir: gitea # NOT using the Application-wide `replace: true` here anymore — it # forces a full PUT of every resource this Application renders, and a # bound PVC's spec is immutable (volumeName/storageClassName get # filled in by the provisioner after binding; a PUT that omits them # looks like clearing them, which the API correctly refuses). The # Deployment-only fix now lives as a per-resource sync-option # annotation in helm-overrides/k8s-admin-prd-ase1/gitea/custom-values.yaml # (deployment.annotations), which only Replaces the Deployment.