Skip to content

feat: add multi-ingress-support for envoy gw - #5307

Merged
siberijah merged 8 commits into
developfrom
WPB-25475_Add-multi-ingress-support
Jul 28, 2026
Merged

feat: add multi-ingress-support for envoy gw#5307
siberijah merged 8 commits into
developfrom
WPB-25475_Add-multi-ingress-support

Conversation

@siberijah

@siberijah siberijah commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Ticket: https://wearezeta.atlassian.net/browse/WPB-25475

Adds multi-domain support to the wire-ingress (Envoy Gateway) chart.

Set config.domains (a list) instead of the scalar config.dns to serve several backend domains from one release. You designate one domain as the primary; each additional domain gets its own Gateway listener, certificate, suffixed HTTPRoutes, and an injected per-domain CSP header (replacing the old nginx renderCSPInIngress). federator stays single-domain.

Backwards compatible: with config.dns (no config.domains), output is unchanged.

Checklist

  • Add a new entry in an appropriate subdirectory of changelog.d
  • Read and follow the PR guidelines

@siberijah
siberijah requested review from a team as code owners July 2, 2026 09:50
@zebot zebot added the ok-to-test Approved for running tests in CI, overrides not-ok-to-test if both labels exist label Jul 2, 2026
@jschaul
jschaul force-pushed the WPB-25475_Add-multi-ingress-support branch from 085546a to e29c581 Compare July 27, 2026 14:44
jschaul and others added 2 commits July 27, 2026 17:10
…S secret

In manual TLS mode (tls.useCertManager: false) secret.yaml creates only the
single primary wildcard secret and no cert-manager Certificate is rendered, so
an additional config.domains entry produced a Gateway listener referencing a
Secret that nothing ever creates — silently breaking TLS at runtime with no
template error.

Fail fast in wire-ingress.domains when an additional domain has neither
cert-manager enabled nor a per-domain tls.secretName, pointing the operator at
the two valid fixes (enable cert-manager, or supply a pre-created secret).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Multi-ingress (config.domains) serves one backend on several unrelated domains
and is a niche single-customer setup; federation (federator.enabled) is the
common case and is inherently single-domain. Supporting both together is out of
scope, and the federator templates depend on config.dns, which is unset in
multi-ingress mode.

Rather than paper over that with a domain fallback, enforce the constraint:
wire-ingress.domains fails fast when config.domains is combined with
federator.enabled, with a guard also on certificate-federator.yaml for a clear
message. Document the constraint in values.yaml and the README.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@jschaul
jschaul force-pushed the WPB-25475_Add-multi-ingress-support branch from e29c581 to 9a808a1 Compare July 27, 2026 15:10

@jschaul jschaul left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good enough to try out I would say.

@siberijah
siberijah merged commit 83e43b7 into develop Jul 28, 2026
8 checks passed
@siberijah
siberijah deleted the WPB-25475_Add-multi-ingress-support branch July 28, 2026 09:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ok-to-test Approved for running tests in CI, overrides not-ok-to-test if both labels exist

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants