nginx-to-traefiklisted
Install: claude install-skill qwedsazxc78/devops-ai-skill
# nginx-to-traefik Skill
Invoked by Zeus pipeline `*nginx-to-traefik`.
This skill is the **first half** of the chained migration NGINX → Traefik
Ingress → Gateway API. Used standalone it ports a batch of services to
Traefik while leaving the NGINX controller serving everyone else. Used
under skill `nginx-to-gateway` (the orchestrator), its `state.yaml` output
is consumed as the input to skill `gateway-api-migration` with
`--source-class traefik`.
## Canonical references
| File | When to read |
|---|---|
| `references/nginx-to-traefik-env-config.md` | Step 0b — env-config schema and operator prompts |
| `references/annotation-translation.md` | Step 3 — annotation mapping |
| `references/dns-cutover-runbook.md` | Step 10 — printed/linked at end of run |
## Bundled scripts
| Script | Used by | Purpose |
|---|---|---|
| `scripts/inventory_nginx_ingresses.py` | Step 1 | Per-overlay nginx Ingress inventory |
| `scripts/generate_traefik_ingress.py` | Step 3 | Emit `<service>-traefik-ingress.yaml` |
| `scripts/update_kustomization.py` | Step 5, 6 | Idempotent edits to kustomization.yaml + app.ingress.yaml |
| `scripts/validate_cross_consistency.sh` | Step 7b | 4-way DNS↔verify↔ingress↔cert cross-check |
## Activation
Triggered explicitly by `*nginx-to-traefik` from Zeus. Not auto-triggered.
## Invocation forms
```
*nginx-to-traefik # interactive: inventory + propose batches
*nginx-to-traefik <env> # process all services in