← ClaudeAtlas

gateway-api-migrationlisted

Migrates Kustomize modules using NGINX Ingress to Gateway API resources. Dual-target: default Traefik (GatewayClass=traefik), opt-in GKE Gateway (--gateway-class gke-l7-global-external-managed). Handles master/minion topology (common.ingress/ + common.service/) as the primary case, with standalone Ingress as a fallback. Performs cluster-side preflight (CRDs, GatewayClass, policy CRDs, Traefik version probe on Traefik targets), deterministic discovery/analysis via bundled scripts, two-phase conversion with atomic rollback from full file backups, semantic diff of path and listener coverage, plus an ingress2gateway second-opinion cross-check. Renders a comprehensive report covering per-hostname mapping, TLS map, annotation inventory (translated/stubbed/unknown), risk register, cutover checklist, verification commands, and rollback procedures. Never modifies the master source; performs idempotent in-place edits only to common.service/overlays/<env>/kustomization.yaml.
qwedsazxc78/devops-ai-skill · ★ 2 · DevOps & Infrastructure · score 68
Install: claude install-skill qwedsazxc78/devops-ai-skill
# Gateway API Migration Skill Invoked by Zeus pipeline `*gateway-migrate`. This skill turns an NGINX Ingress footprint (master/minion or standalone) into a working GKE Gateway API deployment, side-by-side with the original, so a per-hostname DNS cutover can proceed at the operator's pace. It generates a new Kustomize module, HTTPRoutes for every minion, a full migration state file, and a report that is the operator's single source of truth through every phase of the cutover. The procedure is organised around the principle that **every deterministic step is delegated to a bundled script**, and the model's job is to run those scripts, interpret their output, make judgement calls where the data is ambiguous, and weave the results into the report. This keeps the skill fast and reproducible while leaving room for the parts of a migration that genuinely need human-like judgment. ## Canonical references Read these as needed — do not preload them all. | File | When to read | |---|---| | `references/annotation-map.md` | Step 2, whenever an annotation needs classification. Table has per-target columns (Traefik default, GKE opt-in). | | `references/master-minion-topology.md` | Step 1, only if discovery finds an unusual topology | | `references/traefik-gateway-notes.md` | Step 0b, and Step 3A when target is `traefik*` (the default) | | `references/gke-gateway-notes.md` | Step 0b, and Step 3A when target is `gke-l7-*` | | `references/http-routing-guide.md` | Step 3A/3B, when generat