Skip to content

PMREQ-821: Document UI access through Calico Ingress Gateway - #2930

Draft
vara2504 wants to merge 1 commit into
tigera:mainfrom
vara2504:vara-PMREQ-821-cig-ui-access-docs
Draft

PMREQ-821: Document UI access through Calico Ingress Gateway#2930
vara2504 wants to merge 1 commit into
tigera:mainfrom
vara2504:vara-PMREQ-821-cig-ui-access-docs

Conversation

@vara2504

Copy link
Copy Markdown
Contributor

Description

Documents exposing the UIs through Calico Ingress Gateway, the feature added by
tigera/operator#5146 (Whisker) and #5032 (Manager).

  • Enterprise — a "Calico Ingress Gateway" tab on the web console access page,
    beside ingress, load balancer, port forwarding and OpenShift routes, plus a row
    in the options table. Covers the GatewayAPI prerequisite, spec.ingressGateway
    with optional gatewayNamespace and gatewayClassName, finding the gateway
    address, and turning it off again. A note covers OIDC: Authentication's
    managerDomain must match the hostname, and the identity provider needs the two
    callback URLs.
  • Open source — the same for the Whisker CR, next to the existing
    port-forwarding instructions, including that Whisker has no authentication of its
    own and that Calico restricts access to the gateway's proxy pods while the field
    is set.

Draft, pending three decisions

  1. Bring-your-own certificate. Both sections say the operator creates the TLS
    certificate, and neither says how to supply your own. The operator honours a
    pre-created secret in tigera-operator, and with
    Installation.spec.certificateManagement set that is the only supported route,
    since the operator now degrades rather than writing a keyless secret. Wording
    still to agree.
  2. Versioned docs. Only the current docs are edited here. Whisker's access page
    also exists in calico_versioned_docs/version-3.3x/; the release these ship in
    decides which folders need the same change.
  3. Build not yet run. MDX tag balance and cross-links were checked by hand;
    yarn build has not been run.

Merge order

Should not merge before the operator and chart changes land, since it documents a
field that is not in a release yet: tigera/operator#5146,
projectcalico/calico#13521, tigera/calico-private#13247.

Enterprise: add a Calico Ingress Gateway tab to the web console access page,
alongside ingress, load balancer, port forwarding, and OpenShift routes, plus
a row in the options table. Covers the GatewayAPI prerequisite, the hostname
and optional gateway namespace and class, and the OIDC requirement that
managerDomain match the hostname.

Open source: document exposing Whisker the same way, next to the existing
port-forwarding instructions, including that Whisker has no authentication of
its own and that Calico restricts access to the gateway's proxy pods while
the field is set.
Copilot AI lite review requested due to automatic review settings August 18, 2026 19:57
@netlify

netlify Bot commented Aug 18, 2026

Copy link
Copy Markdown

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

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

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

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

@netlify

netlify Bot commented Aug 18, 2026

Copy link
Copy Markdown

Deploy Preview for tigera failed. Why did it fail? →

Built without sensitive environment variables

Name Link
🔨 Latest commit 24d86b9
🔍 Latest deploy log https://app.netlify.com/projects/tigera/deploys/6a84b9246843f30008cac642

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

Adds documentation for exposing the Whisker (OSS) and Manager (Enterprise) UIs via Calico Ingress Gateway, aligning the “access UI” guidance with the new spec.ingressGateway configuration.

Changes:

  • Calico OSS: adds steps to expose Whisker through Calico Ingress Gateway (hostname, gateway address lookup, DNS, and teardown).
  • Calico Enterprise: adds a new “$[prodname] Ingress Gateway” access option and tab, including OIDC managerDomain/redirect URL guidance.

Reviewed changes

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

File Description
calico/observability/view-flow-logs.mdx Adds a new section describing Whisker UI exposure via Calico Ingress Gateway.
calico-enterprise/operations/cnx/access-the-manager.mdx Adds an access-option row and a new tab documenting Manager UI exposure via $[prodname] Ingress Gateway, including OIDC notes.
Suppressed comments (1)

calico-enterprise/operations/cnx/access-the-manager.mdx:222

  • The note says to set managerDomain to the “same hostname”, but the example sets it to a full URL (https://...). Rewording to “same URL you use to access the web console” avoids ambiguity.
If your cluster uses OIDC, set the `Authentication` resource's `managerDomain` to the same hostname. The two must match, or the operator reports the $[prodname] web console as degraded:

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +154 to +158
1. Wait for the Gateway to be programmed and read its address:

```bash
kubectl get gateway -n calico-system calico-whisker-gateway
```
Comment on lines +207 to +211
1. Wait for the Gateway to be programmed and read its address:

```bash
kubectl get gateway -n calico-system calico-manager-gateway
```

</TabItem>

<TabItem label="$[prodname] Ingress Gateway" value="Calico Ingress Gateway-4">
| Load balancer | Configure your cluster with a service load balancer controller to implement the external load balancer. See [Kubernetes loadbalancer](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/) | Ensure the $[prodname] web console receives a HTTPS (TLS) connection (not unencrypted HTTP). If you require TLS termination at your load balancer, you must use a load balancer that supports transparent HTTP/2 proxying, or re-originate a TLS connection from your load balancer to the $[prodname] web console. If you do not require TLS termination, configure your proxy to “pass thru” the TLS to the $[prodname] web console. |
| Port forwarding | Forward traffic from a local port to the Kubernetes API server, where it is proxied to the web console. This approach is **not recommended for production**, but is useful if you do not have a load balancer or ingress infrastructure configured, or you need to get started quickly. | n/a |
| OpenShift routes | Use OpenShift routes to expose a service by giving it an externally-reachable hostname (for example, `www.example.com`) . | n/a |
| $[prodname] Ingress Gateway | Expose the web console through $[prodname] Ingress Gateway by setting `spec.ingressGateway` on the `Manager` resource. The operator creates and manages the Gateway, route, and TLS certificate for you. | Requires the `GatewayAPI` resource to be installed. If your cluster uses OIDC, the `Authentication` resource's `managerDomain` must match the hostname you choose. |
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