From 820702c748490b8cf8341ef6f8da4574c975016e Mon Sep 17 00:00:00 2001 From: Story Crater Bot <19826264+Riotpiaole@users.noreply.github.com> Date: Sat, 25 Jul 2026 13:05:49 -0700 Subject: [PATCH] feat(argocd): migrate ingress-nginx to full GitOps management - Create ArgoCD Application for ingress-nginx controller (wave 0) - Source: GitHub repo + Helm chart with local values file - Adopts existing bootstrap Helm release (no downtime) - Enables automated sync and self-heal for nginx configuration --- k8s/argocd/apps/00-ingress-nginx.yaml | 42 +++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 k8s/argocd/apps/00-ingress-nginx.yaml diff --git a/k8s/argocd/apps/00-ingress-nginx.yaml b/k8s/argocd/apps/00-ingress-nginx.yaml new file mode 100644 index 0000000..4d53b73 --- /dev/null +++ b/k8s/argocd/apps/00-ingress-nginx.yaml @@ -0,0 +1,42 @@ +# Wave 0 — Nginx Ingress Controller +# Foundational infrastructure required for all ingress resources and ArgoCD UI access. +# Must be wave 0 to ensure LoadBalancer IP is available before other apps deploy. +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: ingress-nginx + namespace: argocd + annotations: + argocd.argoproj.io/sync-wave: "0" + finalizers: + - resources-finalizer.argocd.argoproj.io +spec: + project: homelab + revisionHistoryLimit: 3 + sources: + - repoURL: https://kubernetes.github.io/ingress-nginx + chart: ingress-nginx + targetRevision: "4.15.1" + helm: + valueFiles: + - $values/k8s/bootstrap/ingress/nginx-values.yaml + - repoURL: https://github.com/Riotpiaole/riotpiao.homelab.com.git + targetRevision: main + ref: values + destination: + server: https://kubernetes.default.svc + namespace: ingress-nginx + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - CreateNamespace=true + - ServerSideApply=true + retry: + limit: 3 + backoff: + duration: 10s + factor: 2 + maxDuration: 3m