ingress
Skill0 starsChanged 41 days agoMITView on GitHub
Use when designing, deploying, reviewing, or migrating north-south traffic in Kubernetes — ingress-nginx configuration and its retirement, Gateway API (GatewayClass/Gateway/HTTPRoute), choosing an implementation, and Ingress→Gateway API migration. Mention "ingress", "ingress-nginx", "gateway api", "httproute", "expose a service", "ingress migration" as triggers.
In this repository45 other files it gives its agents.
- admission-policy-reviewSkill
- alert-rule-reviewSkill
- architecture-reviewSkill
- argocd-applicationsetSkill
- argocd-debugSkill
- argocdSkill
- cert-manager-debugSkill
- cicd-reviewSkill
- cilium-debugSkill
- ciliumSkill
- cluster-backupSkill
- dast-reviewSkill
- dockerfile-reviewSkill
- english-technical-messageSkill
- git-messageSkill
- gitops-reviewSkill
- go-bugfixSkill
- go-code-reviewSkill
- go-testing-reviewSkill
- grafana-dashboardsSkill
- helm-reviewSkill
- homelab-change-planSkill
- incident-analysisSkill
- interview-system-designSkill
- istio-debugSkill
- istioSkill
- kubernetes-autoscalingSkill
- kubernetes-debugSkill
- kubernetes-securitySkill
- kubernetes-yaml-reviewSkill
- migration-planSkill
- observability-reviewSkill
- observability-stackSkill
- production-readinessSkill
- pr-reviewSkill
- root-cause-analysisSkill
- runbook-writerSkill
- runtime-security-reviewSkill
- secrets-managementSkill
- storage-debugSkill
- supply-chain-securitySkill
- terraform-reviewSkill
- upgrade-readinessSkill
- vaultSkill
- vulnerability-triageSkill
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 4 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 26
Read Ingress, Gateway, and Route objects plus controller versions and status conditions.
- Distinctive: line 30
Do not treat an automatic Ingress conversion as apply-ready.
- Distinctive: line 34
Follow the Workflow, Safety rules, and Quality checklist below.
- Very specific: line 45
Use when getting traffic *into* a cluster: configuring or reviewing ingress-nginx, designing Gateway API resources …
- Distinctive: line 105
Never propose a big-bang controller cutover.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Ingress / Gateway API
TL;DR checklist
- Inventory the current controller, routes, TLS termination, and special annotations.
- Choose the Gateway implementation against required features.
- Plan a staged ingress migration with a verified rollback path.
Answer must include
For a migration request, give the annotation inventory buckets, compare candidate Gateway implementations (including any existing CNI or mesh) against the features in use, and lay out a host-by-host cutover with DNS rollback. Name the behaviors to recheck for each affected host: source IP, session affinity, and long-lived connections. Mark missing inventory or conformance evidence as unknown instead of choosing a controller from habit.
Key read-only checks
- Read Ingress, Gateway, and Route objects plus controller versions and status conditions.
Common pitfalls
- Do not treat an automatic Ingress conversion as apply-ready.
Agent procedure
Follow the Workflow, Safety rules, and Quality checklist below.
Quick references
- references/ingress-nginx.md
- references/gateway-api.md
Last verified: unverified
When to use
Use when getting traffic into a cluster: configuring or reviewing ingress-nginx, designing
Gateway API resources (GatewayClass/Gateway/HTTPRoute and friends), choosing an implementation,
or planning the Ingress→Gateway API migration that ingress-nginx's retirement forces. For the
TLS certificate on the listener failing, use cert-manager-debug; for Cilium's or Istio's own
gateway implementation details, their umbrella skills carry the depth — this skill owns the
controller-neutral north-south layer.
Goal
North-south traffic that is deliberately designed: an implementation chosen against actual requirements (not habit), routes and TLS expressed portably where possible, no retired-controller exposure, and any migration done host-by-host with a DNS-level rollback — never a big-bang cutover.
Workflow
Scope to an area and load its reference:
Area Reference ingress-nginx: config, annotations, hardening, retirement status references/ingress-nginx.mdGateway API: resource model, route attachment, TLS, implementations references/gateway-api.mdIngress→Gateway API migration: mapping, tooling, phased cutover references/migration.md- Confirm the baseline — which controller(s) run today and their versions, how many Ingress/Route objects and owning teams, how TLS is terminated (cert-manager? passthrough?), what sits in front (cloud LB, MetalLB, hostPort), and whether any config relies on controller-specific annotations or snippets — those are the migration long poles.
- Treat ingress-nginx as end-of-life — it was retired in March 2026 (no further releases, including security fixes). Running it is now an unpatched-attack-surface decision that needs an explicit migration timeline, not a default. New deployments should start on Gateway API.
- Choose the implementation against requirements — already running Cilium or Istio usually
means using their Gateway API support before adding a new data plane; otherwise compare on
conformance level and the specific features needed (see the decision table in
references/gateway-api.md). Don't run more controllers than the cluster needs. - Prefer portable expression — core Gateway API fields over implementation-specific annotations/policies wherever both exist; every vendor-specific escape hatch is future migration debt (ingress-nginx snippets are the cautionary tale).
- Plan migrations host-by-host — both stacks run side by side on separate endpoints; hosts
move one at a time by DNS with a tested rollback; snippet-dependent hosts are inventoried
first because they have no mechanical translation (see
references/migration.md). - GitOps the config — Gateway/HTTPRoute/Ingress objects are declarative and belong in git; validate before merge; never hand-edit live routing.
- Verify read-only —
kubectl get gateway,httproute -A,kubectl describefor status conditions (Accepted,Programmed,ResolvedRefs), controller logs, andcurl-level checks against the endpoints.
References
references/ingress-nginx.md— annotation/hardening facts, retirement guidance.references/gateway-api.md— resource model, attachment/ReferenceGrant, TLS modes, implementation decision table, status conditions.references/migration.md— annotation→field mapping, ingress2gateway, phased plan, gotchas.
Safety rules
- Design/review skill: do not apply Gateway/HTTPRoute/Ingress changes, switch ingress classes, or delete controllers on a live cluster — propose manifests; the user applies them.
- Routing changes sever live traffic instantly when wrong — any change to an existing host's routing is framed with a verification step and a rollback (previous manifest or DNS).
- Never propose a big-bang controller cutover; migration is per-host with both stacks running.
- Snippet annotations execute raw controller config — flag any existing use as both a security finding (arbitrary config injection) and a migration blocker; never add new ones.
- TLS secrets and any credentials in annotations are secrets — reference a secrets mechanism, never inline values.
Output format
## Area & baseline (controller(s), versions, #hosts/objects, TLS story, LB in front)
## Recommendation (what to configure/migrate, and explicitly what NOT to over-build)
## Prerequisites & blast radius
## Proposed config (Gateway/HTTPRoute/values — for review)
## Rollout plan (per-host, side-by-side, DNS rollback)
## Verification (read-only status conditions + endpoint checks)Quality checklist
- The relevant area reference was consulted, not reasoned from memory
- ingress-nginx exposure is called out with a migration timeline, not silently accepted
- Implementation chosen against requirements (existing mesh/CNI gateway support first)
- Portable core fields preferred over vendor annotations; snippet use flagged
- Migration is host-by-host with side-by-side stacks and DNS rollback
- Nothing was applied to live routing; verification is read-only
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

