Skip to content

DOCS-2849: Reorganize support and compatibility page#2531

Draft
ctauchen wants to merge 3 commits intotigera:mainfrom
ctauchen:docs-2849-compatibility
Draft

DOCS-2849: Reorganize support and compatibility page#2531
ctauchen wants to merge 3 commits intotigera:mainfrom
ctauchen:docs-2849-compatibility

Conversation

@ctauchen
Copy link
Collaborator

@ctauchen ctauchen commented Feb 17, 2026

This PR tries to do two things:

  • separate data and presentation for the support and compatibility page
  • make the page easier to use by simplifying the presentation
image

Product Version(s):

Issue:

Link to docs preview:

https://deploy-preview-2531--tigera.netlify.app/calico-enterprise/latest/getting-started/compatibility#supported-kubernetes-versions-by-platform

SME review:

  • An SME has approved this change.

DOCS review:

  • A member of the docs team has approved this change.

Additional information:

Merge checklist:

  • Deploy preview inspected wherever changes were made
  • Build completed successfully
  • Test have passed

Copilot AI review requested due to automatic review settings February 17, 2026 16:51
@ctauchen ctauchen requested a review from a team as a code owner February 17, 2026 16:51
@netlify
Copy link

netlify bot commented Feb 17, 2026

Deploy Preview for calico-docs-preview-next failed. Why did it fail? →

Name Link
🔨 Latest commit db9e948
🔍 Latest deploy log https://app.netlify.com/projects/calico-docs-preview-next/deploys/69949c8b6a3f6500080c2075

@netlify
Copy link

netlify bot commented Feb 17, 2026

Deploy Preview succeeded!

Built without sensitive environment variables

Name Link
🔨 Latest commit db9e948
🔍 Latest deploy log https://app.netlify.com/projects/tigera/deploys/69949c8b4ed2590008b9b121
😎 Deploy Preview https://deploy-preview-2531--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: 72 (🟢 up 1 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.

@ctauchen ctauchen changed the title Reorganize support and compatibility page DOCS-2849: Reorganize support and compatibility page Feb 17, 2026
@ctauchen ctauchen marked this pull request as draft February 17, 2026 16:52
Copy link
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 reorganizes Calico Enterprise “Support and compatibility” documentation by introducing a shared platform/version matrix and rendering a “Supported Kubernetes Versions by Platform” table at the top of several compatibility pages.

Changes:

  • Added a shared platformMatrix data source under src/data/.
  • Inserted a new “Supported Kubernetes Versions by Platform” HTML table into multiple Calico Enterprise compatibility pages.
  • Added a new calico-enterprise/_includes/data/requirements/platform.yaml data file (currently appears unused).

Reviewed changes

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

Show a summary per file
File Description
src/data/platform-matrix.js Adds centralized platform/version compatibility data for reuse in docs.
calico-enterprise/getting-started/compatibility.mdx Adds a top-of-page compatibility matrix table using the shared data source.
calico-enterprise_versioned_docs/version-3.23-1/getting-started/compatibility.mdx Adds the matrix table (currently has column/cell mismatch and an import-path issue).
calico-enterprise_versioned_docs/version-3.22-2/getting-started/compatibility.mdx Adds the matrix table (import-path issue; summary conflicts with detailed tables; extra blank lines).
calico-enterprise_versioned_docs/version-3.21-2/getting-started/compatibility.mdx Adds the matrix table (import-path issue).
calico-enterprise_versioned_docs/version-3.20-2/getting-started/compatibility.mdx Adds the matrix table (import-path issue; summary version coverage doesn’t align with page content).
calico-enterprise/_includes/data/requirements/platform.yaml Adds platform requirements YAML (no references found in repo; one display-name inconsistency).

description: Lists versions of Calico Enterprise and Kubernetes for each platform.
---

import { platformMatrix as d } from '../../../src/data/platform-matrix.js';
Copy link

Copilot AI Feb 17, 2026

Choose a reason for hiding this comment

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

The relative import path is incorrect for this versioned doc: ../../../src/... resolves to the calico-enterprise_versioned_docs/ directory, not the repo root, so MDX bundling will fail to find src/data/platform-matrix.js. Use a root-based alias (e.g. @site/src/data/platform-matrix.js) or adjust the relative path (likely ../../../../src/data/platform-matrix.js).

Suggested change
import { platformMatrix as d } from '../../../src/data/platform-matrix.js';
import { platformMatrix as d } from '@site/src/data/platform-matrix.js';

Copilot uses AI. Check for mistakes.
Comment on lines +24 to +30
<tr>
<td><strong>AKS</strong></td>
<td>{d.aks['3_23'].k8sVersion}</td>
<td>{d.aks['3_22'].k8sVersion}</td>
<td>{d.aks['3_21'].k8sVersion}</td>
<td>{d.aks['3_20'].k8sVersion}</td>
<td>{d.aks['3_19'].k8sVersion}</td>
Copy link

Copilot AI Feb 17, 2026

Choose a reason for hiding this comment

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

The table headers include a “next” column (and 6 version columns total), but each row only renders 5 version cells (starting at 3.23). This shifts values under the wrong headers and produces rows with a different column count than the header. Either add the missing next values for each platform or remove the “next” column from the header for this page.

Copilot uses AI. Check for mistakes.
Comment on lines +65 to +70
<td><strong>kOps on AWS</strong></td>
<td>{d.kops['3_23'].k8sVersion}</td>
<td>{d.kops['3_22'].k8sVersion}</td>
<td>{d.kops['3_21'].k8sVersion}</td>
<td>{d.kops['3_20'].k8sVersion}</td>
<td>{d.kops['3_19'].k8sVersion}</td>
Copy link

Copilot AI Feb 17, 2026

Choose a reason for hiding this comment

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

The new summary matrix values for kOps/Kubeadm/OpenShift/RKE appear to conflict with the version-specific tables later on this same page (for example, this row shows 3.21 kOps as 1.31 - 1.32, but the ## kOps on AWS table below lists 3.21 as 1.29 - 1.31). Please update the detailed tables to match the matrix (or vice versa), or generate the detailed tables from the same data source to avoid contradictions.

Copilot uses AI. Check for mistakes.
---
description: Lists versions of Calico Enterprise and Kubernetes for each platform.
---
import { platformMatrix as d } from '../../../src/data/platform-matrix.js';
Copy link

Copilot AI Feb 17, 2026

Choose a reason for hiding this comment

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

The relative import path is incorrect for this versioned doc: ../../../src/... resolves under calico-enterprise_versioned_docs/ rather than the repo root, so src/data/platform-matrix.js won’t be found during MDX bundling. Prefer @site/src/data/platform-matrix.js (used elsewhere in the repo) or adjust the relative path (likely ../../../../src/data/platform-matrix.js).

Suggested change
import { platformMatrix as d } from '../../../src/data/platform-matrix.js';
import { platformMatrix as d } from '@site/src/data/platform-matrix.js';

Copilot uses AI. Check for mistakes.
Comment on lines +110 to +113




Copy link

Copilot AI Feb 17, 2026

Choose a reason for hiding this comment

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

There are multiple consecutive blank lines after the OpenShift footnote, which adds noise in the rendered MDX/source. Please remove the extra empty lines (keep a single blank line before the next heading).

Suggested change

Copilot uses AI. Check for mistakes.
Comment on lines +15 to +67
<th>next</th>
<th>3.23</th>
<th>3.22</th>
<th>3.21</th>
<th>3.20</th>
<th>3.19</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>AKS</strong></td>
<td>{d.aks.next.k8sVersion}</td>
<td>{d.aks['3_23'].k8sVersion}</td>
<td>{d.aks['3_22'].k8sVersion}</td>
<td>{d.aks['3_21'].k8sVersion}</td>
<td>{d.aks['3_20'].k8sVersion}</td>
<td>{d.aks['3_19'].k8sVersion}</td>
</tr>
<tr>
<td><strong>EKS</strong></td>
<td>{d.eks.next.k8sVersion}</td>
<td>{d.eks['3_23'].k8sVersion}</td>
<td>{d.eks['3_22'].k8sVersion}</td>
<td>{d.eks['3_21'].k8sVersion}</td>
<td>{d.eks['3_20'].k8sVersion}</td>
<td>{d.eks['3_19'].k8sVersion}</td>
</tr>
<tr>
<td><strong>GKE</strong></td>
<td>{d.gke.next.k8sVersion}</td>
<td>{d.gke['3_23'].k8sVersion}</td>
<td>{d.gke['3_22'].k8sVersion}</td>
<td>{d.gke['3_21'].k8sVersion}</td>
<td>{d.gke['3_20'].k8sVersion}</td>
<td>{d.gke['3_19'].k8sVersion}</td>
</tr>
<tr>
<td><strong>Charmed Kubernetes</strong></td>
<td>{d.charmed.next.k8sVersion}</td>
<td>{d.charmed['3_23'].k8sVersion}</td>
<td>{d.charmed['3_22'].k8sVersion}</td>
<td>{d.charmed['3_21'].k8sVersion}</td>
<td>{d.charmed['3_20'].k8sVersion}</td>
<td>—</td>
</tr>
<tr>
<td><strong>Kubernetes (kubeadm)</strong></td>
<td>{d.kubeadm.next.k8sVersion}</td>
<td>{d.kubeadm['3_23'].k8sVersion}</td>
<td>{d.kubeadm['3_22'].k8sVersion}</td>
<td>{d.kubeadm['3_21'].k8sVersion}</td>
<td>{d.kubeadm['3_20'].k8sVersion}</td>
<td>{d.kubeadm['3_19'].k8sVersion}</td>
Copy link

Copilot AI Feb 17, 2026

Choose a reason for hiding this comment

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

This versioned page (3.20-2) includes detailed compatibility tables for 3.20/3.19/3.18 later in the document, but the new summary table only shows next and 3.19–3.23 (no 3.18 column) and includes versions that aren’t described elsewhere on the page. Consider aligning the summary table’s columns with the versions covered by this doc to avoid confusing/incomplete version coverage on the same page.

Suggested change
<th>next</th>
<th>3.23</th>
<th>3.22</th>
<th>3.21</th>
<th>3.20</th>
<th>3.19</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>AKS</strong></td>
<td>{d.aks.next.k8sVersion}</td>
<td>{d.aks['3_23'].k8sVersion}</td>
<td>{d.aks['3_22'].k8sVersion}</td>
<td>{d.aks['3_21'].k8sVersion}</td>
<td>{d.aks['3_20'].k8sVersion}</td>
<td>{d.aks['3_19'].k8sVersion}</td>
</tr>
<tr>
<td><strong>EKS</strong></td>
<td>{d.eks.next.k8sVersion}</td>
<td>{d.eks['3_23'].k8sVersion}</td>
<td>{d.eks['3_22'].k8sVersion}</td>
<td>{d.eks['3_21'].k8sVersion}</td>
<td>{d.eks['3_20'].k8sVersion}</td>
<td>{d.eks['3_19'].k8sVersion}</td>
</tr>
<tr>
<td><strong>GKE</strong></td>
<td>{d.gke.next.k8sVersion}</td>
<td>{d.gke['3_23'].k8sVersion}</td>
<td>{d.gke['3_22'].k8sVersion}</td>
<td>{d.gke['3_21'].k8sVersion}</td>
<td>{d.gke['3_20'].k8sVersion}</td>
<td>{d.gke['3_19'].k8sVersion}</td>
</tr>
<tr>
<td><strong>Charmed Kubernetes</strong></td>
<td>{d.charmed.next.k8sVersion}</td>
<td>{d.charmed['3_23'].k8sVersion}</td>
<td>{d.charmed['3_22'].k8sVersion}</td>
<td>{d.charmed['3_21'].k8sVersion}</td>
<td>{d.charmed['3_20'].k8sVersion}</td>
<td>—</td>
</tr>
<tr>
<td><strong>Kubernetes (kubeadm)</strong></td>
<td>{d.kubeadm.next.k8sVersion}</td>
<td>{d.kubeadm['3_23'].k8sVersion}</td>
<td>{d.kubeadm['3_22'].k8sVersion}</td>
<td>{d.kubeadm['3_21'].k8sVersion}</td>
<td>{d.kubeadm['3_20'].k8sVersion}</td>
<td>{d.kubeadm['3_19'].k8sVersion}</td>
<th>3.20</th>
<th>3.19</th>
<th>3.18</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>AKS</strong></td>
<td>{d.aks['3_20'].k8sVersion}</td>
<td>{d.aks['3_19'].k8sVersion}</td>
<td>{d.aks['3_18'].k8sVersion}</td>
</tr>
<tr>
<td><strong>EKS</strong></td>
<td>{d.eks['3_20'].k8sVersion}</td>
<td>{d.eks['3_19'].k8sVersion}</td>
<td>{d.eks['3_18'].k8sVersion}</td>
</tr>
<tr>
<td><strong>GKE</strong></td>
<td>{d.gke['3_20'].k8sVersion}</td>
<td>{d.gke['3_19'].k8sVersion}</td>
<td>{d.gke['3_18'].k8sVersion}</td>
</tr>
<tr>
<td><strong>Charmed Kubernetes</strong></td>
<td>{d.charmed['3_20'].k8sVersion}</td>
<td>—</td>
<td>—</td>
</tr>
<tr>
<td><strong>Kubernetes (kubeadm)</strong></td>
<td>{d.kubeadm['3_20'].k8sVersion}</td>
<td>{d.kubeadm['3_19'].k8sVersion}</td>
<td>{d.kubeadm['3_18'].k8sVersion}</td>

Copilot uses AI. Check for mistakes.
Comment on lines +56 to +61
<tr>
<td><strong>kOps on AWS</strong></td>
<td>{d.kops['3_22'].k8sVersion}</td>
<td>{d.kops['3_21'].k8sVersion}</td>
<td>{d.kops['3_20'].k8sVersion}</td>
<td>{d.kops['3_19'].k8sVersion}</td>
Copy link

Copilot AI Feb 17, 2026

Choose a reason for hiding this comment

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

The new summary table introduces updated platform/version ranges (for example, d.kops['3_21']), but the version-specific compatibility tables later on the page still show different values (e.g., kOps 3.21 listed as 1.29 - 1.31). Please reconcile the summary table with the detailed tables to avoid conflicting guidance on the same page.

Copilot uses AI. Check for mistakes.
Comment on lines +69 to +76
<tr>
<td><strong>kOps on AWS</strong></td>
<td>{d.kops.next.k8sVersion}</td>
<td>{d.kops['3_23'].k8sVersion}</td>
<td>{d.kops['3_22'].k8sVersion}</td>
<td>{d.kops['3_21'].k8sVersion}</td>
<td>{d.kops['3_20'].k8sVersion}</td>
<td>{d.kops['3_19'].k8sVersion}</td>
Copy link

Copilot AI Feb 17, 2026

Choose a reason for hiding this comment

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

The new summary table introduces 3.23 compatibility data (and updated ranges like kOps 3.21 = 1.31 - 1.32), but the platform-specific tables later on this page still stop at 3.22 and list different version ranges (for example, the ## kOps on AWS table below lists 3.21 as 1.29 - 1.31). Please reconcile/update the detailed tables (and add 3.23 rows where applicable) so the page doesn’t provide conflicting guidance.

Copilot uses AI. Check for mistakes.
Comment on lines +1 to +47
aks:
name: AKS
k8s_versions: "1.31 - 1.34"

eks:
name: EKS
k8s_versions: "1.31 - 1.34"

gke:
name: GKE
k8s_versions: "1.31 - 1.34"

kops-on-aws:
name: kOps on AWS
k8s_versions: "1.31 - 1.34"

kubernetes-kubeadm:
name: Kubernetes-kubeadm
k8s_versions: "1.31 - 1.34"

mke-4k:
name: MKE 4k
k8s_versions: "1.32"

mke:
name: MKE
k8s_versions: "1.31"

openshift:
name: OpenShift
k8s_versions: "4.17 - 4.20"

rke:
name: RKE
k8s_versions: "1.32"

rke2:
name: RKE2
k8s_versions: "1.31 - 1.34"

tkg:
name: TKG
k8s_versions: "1.27"

charmed-kubernetes:
name: Charmed Kubernetes
k8s_versions: "1.31 - 1.34" No newline at end of file
Copy link

Copilot AI Feb 17, 2026

Choose a reason for hiding this comment

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

This new YAML data file doesn’t appear to be referenced anywhere in the repo (no matches for platform.yaml, k8s_versions, or this file’s path). If it’s intended to drive a page/component, please add the corresponding reference; otherwise consider removing it to avoid carrying stale, duplicated compatibility data.

Suggested change
aks:
name: AKS
k8s_versions: "1.31 - 1.34"
eks:
name: EKS
k8s_versions: "1.31 - 1.34"
gke:
name: GKE
k8s_versions: "1.31 - 1.34"
kops-on-aws:
name: kOps on AWS
k8s_versions: "1.31 - 1.34"
kubernetes-kubeadm:
name: Kubernetes-kubeadm
k8s_versions: "1.31 - 1.34"
mke-4k:
name: MKE 4k
k8s_versions: "1.32"
mke:
name: MKE
k8s_versions: "1.31"
openshift:
name: OpenShift
k8s_versions: "4.17 - 4.20"
rke:
name: RKE
k8s_versions: "1.32"
rke2:
name: RKE2
k8s_versions: "1.31 - 1.34"
tkg:
name: TKG
k8s_versions: "1.27"
charmed-kubernetes:
name: Charmed Kubernetes
k8s_versions: "1.31 - 1.34"
# This file previously contained platform/k8s version compatibility data,
# but it was not referenced anywhere in the repository. The structured data
# has been removed to avoid carrying stale or duplicated compatibility
# information. If you need platform requirements here in the future, wire
# this file into the appropriate page/component before re-adding data.

Copilot uses AI. Check for mistakes.
k8s_versions: "1.31 - 1.34"

kubernetes-kubeadm:
name: Kubernetes-kubeadm
Copy link

Copilot AI Feb 17, 2026

Choose a reason for hiding this comment

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

In this data file the display name is Kubernetes-kubeadm, but the compatibility tables elsewhere on the support page use the more readable label Kubernetes (kubeadm). Consider changing the name field to Kubernetes (kubeadm) while keeping the key kubernetes-kubeadm for anchors/IDs.

Suggested change
name: Kubernetes-kubeadm
name: Kubernetes (kubeadm)

Copilot uses AI. Check for mistakes.
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