Skip to content

[EV-6717] Document enabling Calico Ingress Gateway via the Helm gatewayAPI toggle#2798

Open
xiumozhan wants to merge 3 commits into
tigera:mainfrom
xiumozhan:EV-6717-docs-enable-cig-via-helm
Open

[EV-6717] Document enabling Calico Ingress Gateway via the Helm gatewayAPI toggle#2798
xiumozhan wants to merge 3 commits into
tigera:mainfrom
xiumozhan:EV-6717-docs-enable-cig-via-helm

Conversation

@xiumozhan

@xiumozhan xiumozhan commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

What

Documents the new ability to enable Calico Ingress Gateway (CIG) at Helm install time via the tigera-operator chart's gatewayAPI.enabled toggle. Enterprise-only, in the current ("next") calico-enterprise/ docs.

Following review feedback, this keeps the existing kubectl flow as the documented enablement process and records the Helm capability where our docs normally cover Helm: the Helm installation reference, plus short pointers and a release note.

Changes

  • reference/installation/helm_customization.mdx: adds Gateway API to the customizable-resources list and a gatewayAPI block to the sample values.yaml.
  • networking/ingress-gateway/create-ingress-gateway.mdx: the enablement step stays kubectl-only; a tip notes that Helm installs can set gatewayAPI.enabled: true in values.yaml, linking to the Helm installation reference.
  • networking/ingress-gateway/customize-ingress-gateway.mdx: a tip notes that GatewayAPI spec fields can also be set at install time under gatewayAPI: in values.yaml, linking to the Helm installation reference.
  • release-notes/index.mdx: adds an enhancement entry for enabling CIG during Helm installation.

Dependency and timing

The gatewayAPI.enabled chart toggle ships via calico-private PR #12357 (targets the next Calico Enterprise release). This docs change should merge in lockstep with that release so the instructions match the shipped chart.

@xiumozhan
xiumozhan requested a review from a team as a code owner June 23, 2026 00:07
Copilot AI review requested due to automatic review settings June 23, 2026 00:07
@netlify

netlify Bot commented Jun 23, 2026

Copy link
Copy Markdown

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

Name Link
🔨 Latest commit b808b05
🔍 Latest deploy log https://app.netlify.com/projects/calico-docs-preview-next/deploys/6a5dad58f1614000084c4e8d
😎 Deploy Preview https://deploy-preview-2798--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.

@netlify

netlify Bot commented Jun 23, 2026

Copy link
Copy Markdown

Deploy Preview succeeded!

Built without sensitive environment variables

Name Link
🔨 Latest commit b808b05
🔍 Latest deploy log https://app.netlify.com/projects/tigera/deploys/6a5dad585840910008fc1708
😎 Deploy Preview https://deploy-preview-2798--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: 66 (🔴 down 29 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.

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 enabling Calico Ingress Gateway (CIG) via the tigera-operator Helm chart’s gatewayAPI.enabled toggle (install-time), alongside the existing post-install kubectl apply method, in Calico Enterprise “next” docs.

Changes:

  • Adds Gateway API to the Helm customization reference and includes a gatewayAPI: example block in values.yaml.
  • Updates the “Create an ingress gateway” guide to present Helm vs kubectl enablement methods in tabs.
  • Adds an install-time Helm tip to the ingress gateway customization guide.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
calico-enterprise/reference/installation/helm_customization.mdx Adds Gateway API to the list of customizable resources and to the sample values.yaml.
calico-enterprise/networking/ingress-gateway/customize-ingress-gateway.mdx Adds a tip about setting GatewayAPI spec fields via Helm values.yaml at install time.
calico-enterprise/networking/ingress-gateway/create-ingress-gateway.mdx Adds Docusaurus tabs to show Helm vs kubectl methods for enabling Gateway API support.

- [Policy recommendation](api.mdx#policyrecommendationspec)
- [Authentication](api.mdx#authenticationspec)
- [Application layer](api.mdx#applicationlayerspec)
- [Gateway API (Calico Ingress Gateway)](api.mdx#gatewayapi)
Comment on lines +51 to +58
The Tigera Operator creates the `tigera-secure` `GatewayAPI` resource as part of the installation. To customize the gateway, set any [`GatewayAPI` spec field](../../reference/installation/api.mdx#gatewayapi) under `gatewayAPI:` — for example, to [define additional gateway classes](customize-ingress-gateway.mdx#configure-multiple-gateway-classes):

```yaml title='values.yaml'
gatewayAPI:
enabled: true
gatewayClasses:
- name: tigera-gateway-class
```

@electricjesus electricjesus 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.

Thanks Patrick — docs read well and the tigera-secure naming lines up with the chart. A few small inline nits below, all non-blocking. One housekeeping ask: mind stripping the "🤖 Generated with Claude Code" footer from the PR description? We keep AI attribution out of tigera repo PR bodies.

- [Policy recommendation](api.mdx#policyrecommendationspec)
- [Authentication](api.mdx#authenticationspec)
- [Application layer](api.mdx#applicationlayerspec)
- [Gateway API (Calico Ingress Gateway)](api.mdx#gatewayapi)

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.

Nit: the rest of this list links to the *Spec anchors (e.g. #applicationlayerspec, #policyrecommendationspec). For consistency, link to api.mdx#gatewayapispec here. Both anchors resolve, so non-blocking.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Fixed in 1d10de7 — the list entry now links to api.mdx#gatewayapispec, matching the sibling *Spec links.

enabled: true
```

The Tigera Operator creates the `tigera-secure` `GatewayAPI` resource as part of the installation. To customize the gateway, set any [`GatewayAPI` spec field](../../reference/installation/api.mdx#gatewayapi) under `gatewayAPI:` — for example, to [define additional gateway classes](customize-ingress-gateway.mdx#configure-multiple-gateway-classes):

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.

Two small things on this line:

  1. The link text says "spec field" but points to #gatewayapi (the resource section). #gatewayapispec lands the reader on the spec fields and matches the rest of the docs.
  2. The sentence offers "define additional gateway classes" as the example, but the YAML just below only sets the default tigera-gateway-class — so it doesn't actually demonstrate an additional class. Either reword to "define gateway classes", or add a second class to the example so it matches the prose.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Addressed in 1d10de7 (anchor changed to #gatewayapispec, second class added to the example). This paragraph has since been removed entirely in 5fc8ebc — per Chris's review the enablement step is kubectl-only again, with a tip linking to the Helm installation reference.

1. To enable Gateway API support, create a `GatewayAPI` resource with the name `tigera-secure`:
1. Enable Gateway API support by creating a `GatewayAPI` resource named `tigera-secure`. You can enable it at install time with Helm, or at any time with `kubectl`. Both methods create the same `tigera-secure` resource and the default `tigera-gateway-class`.

<Tabs groupId="cig-enable">

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.

Worth previewing the rendered page — <Tabs> nested inside an ordered-list item can render oddly in Docusaurus (list numbering / indentation). Low risk, just confirm it looks right in the build.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Moot as of 5fc8ebc — the tabs are removed and the step is plain kubectl again, so there's no nested-Tabs rendering to verify.

xiumozhan added a commit to xiumozhan/docs that referenced this pull request Jun 30, 2026
…y class

Per review on tigera#2798: point the Gateway API links at the GatewayAPISpec anchor (matching the sibling *Spec links and landing users on the spec fields), and add a second class to the values example so it actually demonstrates defining additional gateway classes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@ctauchen ctauchen left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thanks for this, @xiumozhan.

I see from the tickets that we've added Helm support for CIG, which is the reason for this PR. But we don't tend to document Helm flows like this in our documentation. We have Helm install guides, tell people to take a look at values.yaml, and refer to the helm customization guide.

Without stong justifications, I'd be inclined to leave the CIG enablement process as-is (kubectl only). Update the customization page, add a release note, and perhaps add a note or link referring to this capability somewhere on the Create an ingress gateway page.

What are your thoughts here?

xiumozhan added a commit to xiumozhan/docs that referenced this pull request Jul 20, 2026
Per ctauchen's review on tigera#2798: docs convention is not to duplicate Helm flows on task pages, so drop the Helm/kubectl tabs and restore the kubectl-only enablement step, with a tip linking to the Helm installation reference. Slim the customize-page tip to a pointer at the same reference, and add a release-note entry for enabling Calico Ingress Gateway via gatewayAPI.enabled at Helm install time. The Helm installation reference changes are unchanged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@xiumozhan

Copy link
Copy Markdown
Contributor Author

@ctauchen Agreed — I checked the other task pages and none of them document a Helm enablement flow inline, so the tabs were off-convention. Restructured in 5fc8ebc along the lines you suggested:

  • create-ingress-gateway.mdx is back to the kubectl-only enablement step, with a short tip noting that Helm installs can set gatewayAPI.enabled: true in values.yaml, linking to the Helm installation reference.
  • The Helm installation reference keeps the Gateway API list entry and the gatewayAPI block in the sample values.yaml.
  • The tip on customize-ingress-gateway.mdx now just points at the Helm installation reference instead of restating the mechanism.
  • Added a release-note entry under New features and enhancements for enabling CIG during Helm installation.

Also updated the PR description to match the new scope and stripped the Claude Code footer per @electricjesus's note.

xiumozhan and others added 3 commits July 19, 2026 22:07
…ayAPI toggle

Add the Helm install-time path (gatewayAPI.enabled) for enabling Calico Ingress Gateway alongside the existing kubectl method, with the matching Helm values reference entry and sample, plus a customization note that GatewayAPI spec fields can be set under gatewayAPI in values.yaml. Enterprise-only.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…y class

Per review on tigera#2798: point the Gateway API links at the GatewayAPISpec anchor (matching the sibling *Spec links and landing users on the spec fields), and add a second class to the values example so it actually demonstrates defining additional gateway classes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Per ctauchen's review on tigera#2798: docs convention is not to duplicate Helm flows on task pages, so drop the Helm/kubectl tabs and restore the kubectl-only enablement step, with a tip linking to the Helm installation reference. Slim the customize-page tip to a pointer at the same reference, and add a release-note entry for enabling Calico Ingress Gateway via gatewayAPI.enabled at Helm install time. The Helm installation reference changes are unchanged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@xiumozhan
xiumozhan force-pushed the EV-6717-docs-enable-cig-via-helm branch from 5fc8ebc to b808b05 Compare July 20, 2026 05:08
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.

4 participants