← ClaudeAtlas

retire-nginxlisted

Retire the nginx ingress controller and all nginx Ingress resources from a Kustomize + ArgoCD repo after Gateway API / Traefik migration is complete. Supports single-env (dev/stg/prd) or all-envs retirement in one command. Use this skill whenever: removing nginx after migration, cleaning up dead nginx Ingress resources from a kustomize base, decommissioning the ingress-nginx controller ArgoCD Application for an env, or retiring nginx from one environment without touching others. Safety-gated: aborts if no HTTPRoutes/Traefik Ingresses found (migration not done). Uses $patch: delete in the service overlay kustomization to exclude base nginx Ingress resources per-env — base files stay intact for other envs still using them.
qwedsazxc78/devops-ai-skill · ★ 2 · DevOps & Infrastructure · score 68
Install: claude install-skill qwedsazxc78/devops-ai-skill
# /gitops/retire-nginx — Nginx Ingress Retirement Retires the nginx ingress **controller** (`common.ingress`) and all nginx **Ingress resources** (`common.service`) for one or all environments after Gateway API / Traefik migration is complete. > Run this skill only after: > - All services have active HTTPRoutes or Traefik Ingresses > - DNS has been cut over to the Traefik/Gateway LB > - nginx is confirmed idle (no live traffic) ## Usage ``` /gitops/retire-nginx dev # Retire dev only /gitops/retire-nginx stg # Retire stg only /gitops/retire-nginx prd # Retire prd only /gitops/retire-nginx all # Retire all envs sequentially (dev → stg → prd) ``` $ARGUMENTS --- ## Core Rules | Rule | Why | |------|-----| | **Never retire without replacement pre-flight** | Removing nginx before Traefik/HTTPRoutes are active causes an outage | | **$patch: delete in overlay, not base edits** | Base nginx files stay — other envs may still need them; only the target env's kustomization excludes them | | **Delete only the ArgoCD app yaml** | Delete `common.ingress/argocd/<env>.yaml`; app-of-apps `prune: true` removes the Application from cluster; Application finalizer cascades to delete all controller resources. Overlay becomes dead code — no need to touch it | | **Validate nginx-class=0 not Ingress-total=0** | Envs with Traefik ingresses will still have `kind: Ingress` resources after retirement — only nginx-class ones must reach zero | | **Process envs in