Skip to content

[proposal] Migration off archived ingress-nginx (Gateway API / successor) (investigation) #45

Description

@henzigo

Context

The ingress-nginx repository is archived/read-only (March 2026) — no bug fixes or security
updates are coming. This package depends on it in several places:

  • the e-shop and MCP/RabbitMQ ingresses (ingressClassName: nginx, nginx.ingress.kubernetes.io/*
    annotations: basic auth, whitelist-source-range, satisfy, server-snippet, proxy-body-size)
  • the https-first redirect chain via configuration-snippet (kept deliberately because the
    built-in redirect annotations are broken — app-root redirect occurs before https when ssl-redirect is true kubernetes/ingress-nginx#6340; a native
    fallback style exists for locked-down controllers)
  • Cloudflare real_ip_header server-snippet

Proposal (investigation, decision record as output)

Evaluate the migration path off archived ingress-nginx:

  • Gateway API with a maintained implementation (Envoy Gateway, Cilium, Istio, NGINX
    Gateway Fabric, HAProxy...) — map every feature we use (basic auth! source-IP filtering,
    redirects with correct https-first ordering, body size, real client IP behind Cloudflare)
    to Gateway API primitives/policies; basic auth is the hardest (not in core Gateway API)
  • InGate (the announced ingress-nginx successor) — maturity check
  • staying on a maintained ingress-nginx fork/distribution, if one emerges

Constraints: the redirect chain must stay https-first (see #6340), HTTP basic auth with IP
bypass is a hard requirement for non-production environments, and the migration must be
per-project/per-environment switchable (values-driven), not a big bang.

Tasks

  • Feature mapping matrix (current annotations → Gateway API / successor equivalents)
  • PoC of the hardest parts (basic auth + https-first redirects) on one candidate
  • Decision record + phased migration plan

Follow-up from #1 / PR #43.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/app-chartshopsys-app chart (workloads, ingresses, secrets, hooks)enhancementNew feature or requestinvestigationresearch/PoC, outcome is a decision recordpriority/low

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions