Skip to content

docs-2984: document Calico Ingress Gateway namespace mode#2873

Draft
ctauchen wants to merge 1 commit into
tigera:mainfrom
ctauchen:docs-2984-namespaced-gateways
Draft

docs-2984: document Calico Ingress Gateway namespace mode#2873
ctauchen wants to merge 1 commit into
tigera:mainfrom
ctauchen:docs-2984-namespaced-gateways

Conversation

@ctauchen

Copy link
Copy Markdown
Collaborator

What

Documents the Calico Ingress Gateway namespace mode change (DOCS-2984 / PMREQ-832) for Calico Enterprise 3.24 and Calico OSS v3.33. The controller now runs in calico-system, and each gateway's proxy, Service, and load balancer run in the same namespace as the Gateway resource. This is a breaking change on upgrade. There is no new API field — the behavior is mandatory, not opt-in.

Changes

  • about — new "Where Calico Ingress Gateway runs" section: the namespaced topology and what the operator creates in each Gateway namespace (tigera-ca-bundle on both; plus a tigera-pull-secret copy and waf-http-filter SA/RoleBinding on Enterprise).
  • create — removed the obsolete tigera-gateway default-deny exclusion; added a per-namespace reference NetworkPolicy for default-deny clusters; verification now points at the Gateway namespace; added a short "deploy gateways in multiple namespaces" section.
  • customize — merged gateways (mergeGateways: true) are not supported (operator forces false); corrected the custom Envoy config commands from tigera-gateway to calico-system.
  • new migrate-to-namespaced-gateways.mdx upgrade guide + sidebar entries.
  • release notes — breaking-change entry (EE + OSS) linking to the migration page.

Enterprise-only: the reference NetworkPolicy keeps a Kubernetes API server egress rule for the WAF/L7 sidecars. Calico Cloud is out of scope.

Verification

Content was verified empirically on a live OSS namespaced-mode install (kind + operator master, which contains the implementation PRs): proxy + load balancer land in the Gateway namespace; tigera-ca-bundle is present and mounted by the proxy; the reference NetworkPolicy selectors resolve to the real proxy and controller pod labels. All changed pages build and render locally with no MDX or link errors.

Follow-ups (not in this PR)

  • The design doc omits the trust-bundle mirroring (operator PR #4904) and mis-states the operator's internal controller NetworkPolicy selector — flagging to Walter/Seth. The customer-facing reference NetworkPolicy is correct.
  • Re-check the Enterprise-only namespace resources on an EE 3.24 build before this merges.

🤖 Generated with Claude Code

Copilot AI review requested due to automatic review settings July 22, 2026 10:22
@netlify

netlify Bot commented Jul 22, 2026

Copy link
Copy Markdown

Deploy Preview succeeded!

Built without sensitive environment variables

Name Link
🔨 Latest commit 442ae9a
🔍 Latest deploy log https://app.netlify.com/projects/tigera/deploys/6a609e4e5998360008fe1267
😎 Deploy Preview https://deploy-preview-2873--tigera.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 65 (no change from production)
Accessibility: 98 (no change from production)
Best Practices: 92 (no change from production)
SEO: 100 (no change from production)
PWA: -
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify project configuration.

@netlify

netlify Bot commented Jul 22, 2026

Copy link
Copy Markdown

Deploy Preview for calico-docs-preview-next ready!

Name Link
🔨 Latest commit 442ae9a
🔍 Latest deploy log https://app.netlify.com/projects/calico-docs-preview-next/deploys/6a609e4ec7f4360008b25bef
😎 Deploy Preview https://deploy-preview-2873--calico-docs-preview-next.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Documents the Calico Ingress Gateway move to a namespaced deployment model (controller in calico-system, per-Gateway proxy/Service/load balancer in the Gateway namespace) across Calico OSS and Calico Enterprise docs, including an upgrade/migration guide and release note callouts for the breaking change.

Changes:

  • Adds a new “Upgrade to namespaced gateways” migration guide and links it from sidebars.
  • Updates “About”, “Create”, and “Customize” Ingress Gateway docs to reflect the new topology and operational guidance (default-deny NetworkPolicy example, updated verification commands, merged gateways note).
  • Adds breaking-change entries to OSS and Enterprise release notes linking to the migration guide.

Reviewed changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
sidebars-calico.js Adds the new migration guide to the OSS Ingress Gateway sidebar.
sidebars-calico-enterprise.js Adds the new migration guide to the Enterprise Ingress Gateway sidebar.
calico/release-notes/index.mdx Adds a breaking-change release note entry linking to the migration guide.
calico/networking/ingress-gateway/migrate-to-namespaced-gateways.mdx New OSS migration guide describing the namespace-mode upgrade impact.
calico/networking/ingress-gateway/customize-ingress-gateway.mdx Updates OSS customization guidance for the new controller namespace and merged gateway behavior.
calico/networking/ingress-gateway/create-ingress-gateway.mdx Updates OSS create flow and adds default-deny NetworkPolicy guidance for namespaced proxies.
calico/networking/ingress-gateway/about-calico-ingress-gateway.mdx Adds OSS topology section describing where controller/proxy resources run.
calico-enterprise/release-notes/index.mdx Adds a breaking-change release note entry linking to the migration guide.
calico-enterprise/networking/ingress-gateway/migrate-to-namespaced-gateways.mdx New Enterprise migration guide including Enterprise-only per-namespace resources.
calico-enterprise/networking/ingress-gateway/customize-ingress-gateway.mdx Updates Enterprise customization guidance for the new controller namespace and merged gateway behavior.
calico-enterprise/networking/ingress-gateway/create-ingress-gateway.mdx Updates Enterprise create flow and adds default-deny NetworkPolicy guidance for namespaced proxies (+ API server egress).
calico-enterprise/networking/ingress-gateway/about-calico-ingress-gateway.mdx Adds Enterprise topology section describing where controller/proxy resources run and supporting resources created.


:::

To make use of these customization fields, use `kubectl edit gatewayapi tigera-secure` to edit the YAML for the `GatewayAPI` resource, and add or modify the customization fields that you require.
1. Patch the `GatewayAPI` resource to include the path of the custom Envoy configuration:
```bash
kubectl patch gatewayapi tigera-secure --type='json' -p='[{"op": "replace", "path": "/spec/envoyGatewayConfigRef", "value": {"name": "custom-envoy-config", "namespace": "tigera-gateway"}}]'
kubectl patch gatewayapi tigera-secure --type='json' -p='[{"op": "replace", "path": "/spec/envoyGatewayConfigRef", "value": {"name": "custom-envoy-config", "namespace": "calico-system"}}]'
app.kubernetes.io/version: v1.5.0
helm.sh/chart: gateway-helm-v1.5.0
// highlight-next-line
name: custom-envoy-gateway-config
app.kubernetes.io/version: v1.5.0
helm.sh/chart: gateway-helm-v1.5.0
// highlight-next-line
name: custom-envoy-gateway-config
@ctauchen
ctauchen force-pushed the docs-2984-namespaced-gateways branch from 05dfe68 to 0149716 Compare July 22, 2026 10:33
Calico Ingress Gateway now runs the controller in calico-system and each
gateway's proxy in the Gateway's own namespace (Calico Enterprise 3.24,
Calico OSS v3.33). This is a breaking change on upgrade.

- about: explain the namespaced topology and what the operator creates in
  each Gateway namespace (trust bundle; plus pull secret and WAF SA on
  Enterprise).
- create: replace the obsolete tigera-gateway default-deny exclusion with a
  per-namespace reference NetworkPolicy; point verification at the Gateway
  namespace; add a short section on running gateways in multiple namespaces.
- customize: note that merged gateways are not supported; correct the custom
  Envoy config commands to use calico-system.
- add an upgrade/migration page and link it from the release notes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ctauchen
ctauchen force-pushed the docs-2984-namespaced-gateways branch from 0149716 to 442ae9a Compare July 22, 2026 10:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants