Skip to content

DOCS-2914: Collapse CE kube-controllers config page into resource reference#2701

Open
ctauchen wants to merge 3 commits intotigera:mainfrom
ctauchen:docs-2914-kubecontrollers-collapse
Open

DOCS-2914: Collapse CE kube-controllers config page into resource reference#2701
ctauchen wants to merge 3 commits intotigera:mainfrom
ctauchen:docs-2914-kubecontrollers-collapse

Conversation

@ctauchen
Copy link
Copy Markdown
Collaborator

@ctauchen ctauchen commented May 7, 2026

Summary

  • Deletes calico-enterprise/reference/component-resources/kube-controllers/configuration.mdx. The page documents a manifest install path that doesn't exist for CE (operator-only), and its env-var guidance (e.g. ENABLED_CONTROLLERS) isn't applicable to operator-managed installs — making it a source of confusion rather than help.
  • Folds the conceptual "what each controller does" prose into the existing KubeControllersConfiguration resource page (calico-enterprise/reference/resources/kubecontrollersconfig.mdx), which becomes the canonical entry point.
  • Updates inbound links in services-controller.mdx and decommissioning-a-node.mdx to deep-link the relevant section of the resource page.
  • Adds a Netlify redirect from the old URL → resource page; updates a stale legacy redirect that pointed at the now-deleted page.
  • Removes the sidebar entry for the deleted page.

Status

Draft — CE current only, for shape review. If the approach looks right, I'll propagate the same pattern to:

  • calico-enterprise_versioned_docs/version-3.20-2/
  • calico-enterprise_versioned_docs/version-3.21-2/
  • calico-enterprise_versioned_docs/version-3.22-2/
  • calico-enterprise_versioned_docs/version-3.23-1/
  • calico-cloud/
  • calico-cloud_versioned_docs/version-22-2/

Then add per-version redirects and verify the build before un-drafting.

Context

Supersedes #2699, which patched a single incorrect sentence on the page being removed ("The federation controller is disabled by default if ENABLED_CONTROLLERS is not explicitly specified"). That fix is correct in isolation but applied inside a structurally incorrect Manifest tab — the cleaner outcome is to retire the page.

Jira: https://tigera.atlassian.net/browse/DOCS-2914

Things worth your eyes

  1. Voice/placement of the new bullet list at the top of the resource page (Node / Federated services / Load balancer) — does it belong inline at the top, or split into a dedicated "About the controllers" section between intro and Sample YAML?
  2. Pre-existing inconsistency: LoadBalancerController has its own section on the resource page but isn't listed in the Controllers table. I added it to the new bullet list but did not patch the table — happy to bundle that in if you prefer.
  3. Redirect format: confirm the pattern in static/_redirects is right. I added one product-prefixed redirect for /calico-enterprise/latest/... and updated the legacy un-prefixed line. Older versioned URLs (3.20, 3.21, 3.23) get their own redirects when I propagate.

Test plan

  • Resource page renders; the new prose at the top reads cleanly
  • Sidebar shows the Calico Enterprise Kubernetes controllers category with only "prometheus" under it
  • services-controller.mdx "Federated services controller" link resolves to #federatedservicescontroller
  • decommissioning-a-node.mdx "node controller" link resolves to #nodecontroller
  • Old URL /calico-enterprise/latest/reference/component-resources/kube-controllers/configuration redirects to the resource page
  • Build completes without orphan-link warnings

🤖 Generated with Claude Code

The kube-controllers configuration page documents a manifest install path
that does not exist for Calico Enterprise (operator-only). Its contents
duplicate the KubeControllersConfiguration resource page, and the env-var
guidance it gives readers (e.g. ENABLED_CONTROLLERS) is not applicable to
operator-managed installs.

Delete the page and fold the conceptual prose ("what each controller
does") into the resource page. Update inbound links to deep-link the
relevant section of the resource page. Add a redirect from the old URL.

Supersedes tigera#2699, which patched a single incorrect sentence on the page
being removed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 7, 2026 10:05
@netlify
Copy link
Copy Markdown

netlify Bot commented May 7, 2026

Deploy Preview succeeded!

Built without sensitive environment variables

Name Link
🔨 Latest commit 465d786
🔍 Latest deploy log https://app.netlify.com/projects/tigera/deploys/69fc9119b5985600086b2251
😎 Deploy Preview https://deploy-preview-2701--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: 69 (🔴 down 27 from production)
Accessibility: 98 (no change from production)
Best Practices: 83 (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
Copy link
Copy Markdown

netlify Bot commented May 7, 2026

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

Name Link
🔨 Latest commit 465d786
🔍 Latest deploy log https://app.netlify.com/projects/calico-docs-preview-next/deploys/69fc911913a47a000828dbb8
😎 Deploy Preview https://deploy-preview-2701--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.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR removes the Calico Enterprise “kube-controllers configuration” component-resource page that described a manifest-based install path (not applicable to CE operator installs), and consolidates the relevant “what the controllers do” guidance into the KubeControllersConfiguration resource reference page. It also updates links, sidebar navigation, and adds redirects so existing inbound URLs continue to resolve.

Changes:

  • Delete reference/component-resources/kube-controllers/configuration.mdx and remove it from the Calico Enterprise sidebar.
  • Expand reference/resources/kubecontrollersconfig.mdx with controller purpose/behavior context (node, federated services, load balancer) and improve the FederatedServicesController description.
  • Update affected docs to deep-link to the appropriate sections on the resource page, and add/update Netlify redirects from old URLs.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
static/_redirects Updates legacy redirect to point at the resource page; adds a product-prefixed redirect from the deleted page URL.
sidebars-calico-enterprise.js Removes the deleted kube-controllers configuration page from the CE sidebar category.
calico-enterprise/reference/resources/kubecontrollersconfig.mdx Makes this resource page the canonical entry point and adds controller explanations + updated federated controller prose.
calico-enterprise/reference/component-resources/kube-controllers/configuration.mdx Deletes the manifest/operator tabbed configuration page that was misleading for CE.
calico-enterprise/operations/decommissioning-a-node.mdx Updates the “node controller” link to deep-link into the resource reference section.
calico-enterprise/multicluster/federation/services-controller.mdx Updates the “federated services controller” link to deep-link into the resource reference section.


- **Node controller** — garbage collects IP addresses, cleans up $[prodname] node data when Kubernetes nodes are removed, and optionally creates and syncs host endpoints for each node.
- **Federated services controller** — watches Kubernetes services and endpoints locally and across all remote clusters defined through [RemoteClusterConfigurations](remoteclusterconfiguration.mdx), and programs Kubernetes endpoints for any locally-configured service that specifies a federation selector annotation. See [Configuring federated services](../../multicluster/federation/services-controller.mdx) for the usage guide.
- **Load balancer controller** — manages IPAM for Services of type `LoadBalancer`.
ctauchen and others added 2 commits May 7, 2026 11:38
- The category landing page was a DocCardList over its sidebar children.
  With only `prometheus` left as a child, it rendered as a single bare
  card. Replace with a short prose intro that points readers at the
  resource reference for configuration and the prometheus page for
  metrics.
- Move the redirect for the deleted page out of the legacy un-prefixed
  section and into the modern product-prefixed deletion-redirects block,
  with a comment tying it to the ticket.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The LoadBalancerController section has existed on the resource page
since CE 3.21 but the Controllers table only lists `node` and
`federatedservices`. Add the missing row.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@ctauchen ctauchen marked this pull request as ready for review May 7, 2026 13:25
@ctauchen ctauchen requested a review from a team as a code owner May 7, 2026 13:25
@ctauchen
Copy link
Copy Markdown
Collaborator Author

ctauchen commented May 7, 2026

PTAL @sabags
For loadbalancer stuff @MichalFupso

One thing led to another. Turns out, this statement was on a manifest-based page, which isn't supported in CE. What followed was this:

  1. I removed the page completely.
  2. I added relevant information to the resource page.
  3. Doing that, I noticed that we hadn't added some loadbalancer updates there.

FYI @matthewdupre @pasanw

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