Skip to content

DOCS-2849: Add PlatformMatrix component for compatibility page#2609

Open
ctauchen wants to merge 1 commit intotigera:mainfrom
ctauchen:worktree-docs-2849-platform-matrix
Open

DOCS-2849: Add PlatformMatrix component for compatibility page#2609
ctauchen wants to merge 1 commit intotigera:mainfrom
ctauchen:worktree-docs-2849-platform-matrix

Conversation

@ctauchen
Copy link
Copy Markdown
Collaborator

Summary

  • Replaces hand-maintained per-platform markdown tables on the compatibility page with a single <PlatformMatrix /> React component
  • All platform compatibility data lives in one file (src/___new___/data/platformMatrixData.js), making updates a single-file change
  • Shows a cross-version matrix table (CE 3.23 through 3.20) with all 12 supported platforms
  • Handles platform-specific display: k8s version ranges for standard platforms, platform version + k8s for MKE/RKE/TKG, OpenShift versions with footnote, "—" for unsupported versions (e.g., MKE 4k before 3.22)
  • Identical MDX content across all versioned docs — no per-version maintenance needed

Supersedes #2531.

Test plan

  • Deploy preview: verify table renders on all versioned compatibility pages (latest, 3.23, 3.21, 3.20)
  • Verify all version data matches current docs
  • Check MKE/RKE/TKG cells show both platform version and k8s version
  • Check OpenShift footnote renders correctly
  • Check MKE 4k shows "—" for CE 3.21 and 3.20

🤖 Generated with Claude Code

Replaces hand-maintained per-platform markdown tables with a single
React component driven by a shared data file. Shows a cross-version
matrix (CE 3.23 through 3.20) for all supported platforms.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@ctauchen ctauchen requested a review from a team as a code owner March 26, 2026 12:04
Copilot AI review requested due to automatic review settings March 26, 2026 12:04
@netlify
Copy link
Copy Markdown

netlify bot commented Mar 26, 2026

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

Name Link
🔨 Latest commit 3364be0
🔍 Latest deploy log https://app.netlify.com/projects/calico-docs-preview-next/deploys/69c520c42b82a000089fa741
😎 Deploy Preview https://deploy-preview-2609--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
Copy link
Copy Markdown

netlify bot commented Mar 26, 2026

Deploy Preview succeeded!

Name Link
🔨 Latest commit 3364be0
🔍 Latest deploy log https://app.netlify.com/projects/tigera/deploys/69c52531a3b5481c8204a80f
😎 Deploy Preview https://deploy-preview-2609--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: 93 (🟢 up 5 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.

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 refactors the Calico Enterprise “Support and compatibility” documentation to render the platform compatibility matrix via a single reusable React component, with compatibility data centralized in one source file.

Changes:

  • Adds PlatformMatrix React component to render a cross-version platform compatibility table (CE 3.23–3.20).
  • Centralizes platform/version compatibility data in src/___new___/data/platformMatrixData.js.
  • Updates Calico Enterprise compatibility pages (unversioned + selected versioned docs) to replace hand-maintained tables with <PlatformMatrix />.

Reviewed changes

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

Show a summary per file
File Description
src/new/data/platformMatrixData.js Introduces the centralized CE platform/version compatibility dataset consumed by the component.
src/new/components/PlatformMatrix/index.js Implements the table renderer and simple footnote rendering logic.
calico-enterprise/getting-started/compatibility.mdx Replaces long per-platform markdown tables with <PlatformMatrix />.
calico-enterprise_versioned_docs/version-3.23-1/getting-started/compatibility.mdx Same replacement for CE 3.23-1 versioned docs.
calico-enterprise_versioned_docs/version-3.22-2/getting-started/compatibility.mdx Same replacement for CE 3.22-2 versioned docs.
calico-enterprise_versioned_docs/version-3.21-2/getting-started/compatibility.mdx Same replacement for CE 3.21-2 versioned docs.
calico-enterprise_versioned_docs/version-3.20-2/getting-started/compatibility.mdx Same replacement for CE 3.20-2 versioned docs.

Comment on lines 11 to 17
The following list shows the platforms supported in this release. If you're working with a version older than these, consult the [documentation archive](https://docs.tigera.io/archive) or contact Support.

- [AKS](#aks)
- [EKS](#eks)
- [GKE](#gke)
- [kOps on AWS](#kops-on-aws)
- [Kubernetes-kubeadm](#kubernetes-kubeadm)
- [MKE 4k](#mke-4k)
- [MKE](#mke)
- [OpenShift](#openshift)
- [RKE](#rke)
- [RKE2](#rke2)
- [TKG](#tkg)
- [Charmed Kubernetes](#charmed-kubernetes)

### Supported $[prodname] features

If your platform is listed below, the features in this release will work for your platform unless an individual feature topic explicitly calls out a vendor or $[prodname] limitation.

Note that all Windows feature limitations are described in [Windows limitations](install-on-clusters/windows-calico/limitations.mdx), and are not called out in individual Linux topics.
Copy link

Copilot AI Mar 26, 2026

Choose a reason for hiding this comment

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

The intro still says "The following list shows the platforms supported in this release", but the per-platform list/sections were removed and replaced with a multi-version matrix. This makes the section misleading (and the "Supported $[prodname] features" heading no longer introduces any actual platform-specific support details). Consider revising this text/heading to match the new matrix, or reintroduce a short summary of supported features by platform elsewhere on the page.

Copilot uses AI. Check for mistakes.
Comment on lines 11 to 17
The following list shows the platforms supported in this release. If you're working with a version older than these, consult the [documentation archive](https://docs.tigera.io/archive) or contact Support.

- [AKS](#aks)
- [EKS](#eks)
- [GKE](#gke)
- [kOps on AWS](#kops-on-aws)
- [Kubernetes-kubeadm](#kubernetes-kubeadm)
- [MKE 4k](#mke-4k)
- [MKE](#mke)
- [OpenShift](#openshift)
- [RKE](#rke)
- [RKE2](#rke2)
- [TKG](#tkg)
- [Charmed Kubernetes](#charmed-kubernetes)

### Supported $[prodname] features

If your platform is listed below, the features in this release will work for your platform unless an individual feature topic explicitly calls out a vendor or $[prodname] limitation.

Note that all Windows feature limitations are described in [Windows limitations](install-on-clusters/windows-calico/limitations.mdx), and are not called out in individual Linux topics.
Copy link

Copilot AI Mar 26, 2026

Choose a reason for hiding this comment

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

The intro still says "The following list shows the platforms supported in this release", but the per-platform list/sections were removed and replaced with a multi-version matrix. This makes the section misleading (and the "Supported $[prodname] features" heading no longer introduces any actual platform-specific support details). Consider revising this text/heading to match the new matrix, or reintroduce a short summary of supported features by platform elsewhere on the page.

Copilot uses AI. Check for mistakes.
Comment on lines 11 to 17
The following list shows the platforms supported in this release. If you're working with a version older than these, consult the [documentation archive](https://docs.tigera.io/archive) or contact Support.

- [AKS](#aks)
- [EKS](#eks)
- [GKE](#gke)
- [kOps on AWS](#kops-on-aws)
- [Kubernetes-kubeadm](#kubernetes-kubeadm)
- [MKE 4k](#mke-4k)
- [MKE](#mke)
- [OpenShift](#openshift)
- [RKE](#rke)
- [RKE2](#rke2)
- [TKG](#tkg)
- [Charmed Kubernetes](#charmed-kubernetes)

### Supported $[prodname] features

If your platform is listed below, the features in this release will work for your platform unless an individual feature topic explicitly calls out a vendor or $[prodname] limitation.

Note that all Windows feature limitations are described in [Windows limitations](install-on-clusters/windows-calico/limitations.mdx), and are not called out in individual Linux topics.
Copy link

Copilot AI Mar 26, 2026

Choose a reason for hiding this comment

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

The intro still says "The following list shows the platforms supported in this release", but the per-platform list/sections were removed and replaced with a multi-version matrix. This makes the section misleading (and the "Supported $[prodname] features" heading no longer introduces any actual platform-specific support details). Consider revising this text/heading to match the new matrix, or reintroduce a short summary of supported features by platform elsewhere on the page.

Copilot uses AI. Check for mistakes.
Comment on lines 11 to 17
The following list shows the platforms supported in this release. If you're working with a version older than these, consult the [documentation archive](https://docs.tigera.io/archive) or contact Support.

- [AKS](#aks)
- [EKS](#eks)
- [GKE](#gke)
- [kOps on AWS](#kops-on-aws)
- [Kubernetes-kubeadm](#kubernetes-kubeadm)
- [MKE](#mke)
- [OpenShift](#openshift)
- [RKE](#rke)
- [RKE2](#rke2)
- [TKG](#tkg)
- [Charmed Kubernetes](#charmed-kubernetes)

### Supported $[prodname] features

If your platform is listed below, the features in this release will work for your platform unless an individual feature topic explicitly calls out a vendor or $[prodname] limitation.

Note that all Windows feature limitations are described in [Windows limitations](install-on-clusters/windows-calico/limitations.mdx), and are not called out in individual Linux topics.
Copy link

Copilot AI Mar 26, 2026

Choose a reason for hiding this comment

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

The intro still says "The following list shows the platforms supported in this release", but the per-platform list/sections were removed and replaced with a multi-version matrix. This makes the section misleading (and the "Supported $[prodname] features" heading no longer introduces any actual platform-specific support details). Consider revising this text/heading to match the new matrix, or reintroduce a short summary of supported features by platform elsewhere on the page.

Copilot uses AI. Check for mistakes.
Comment on lines 11 to 17
The following list shows the platforms supported in this release. If you're working with a version older than these, consult the [documentation archive](https://docs.tigera.io/archive) or contact Support.

- [AKS](#aks)
- [EKS](#eks)
- [GKE](#gke)
- [kOps on AWS](#kops-on-aws)
- [Kubernetes-kubeadm](#kubernetes-kubeadm)
- [MKE](#mke)
- [OpenShift](#openshift)
- [RKE](#rke)
- [RKE2](#rke2)
- [TKG](#tkg)
- [Charmed Kubernetes](#charmed-kubernetes)

### Supported $[prodname] features

If your platform is listed below, the features in this release will work for your platform unless an individual feature topic explicitly calls out a vendor or $[prodname] limitation.

Note that all Windows feature limitations are described in [Windows limitations](install-on-clusters/windows-calico/limitations.mdx), and are not called out in individual Linux topics.
Copy link

Copilot AI Mar 26, 2026

Choose a reason for hiding this comment

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

The intro still says "The following list shows the platforms supported in this release", but the per-platform list/sections were removed and replaced with a multi-version matrix. This makes the section misleading (and the "Supported $[prodname] features" heading no longer introduces any actual platform-specific support details). Consider revising this text/heading to match the new matrix, or reintroduce a short summary of supported features by platform elsewhere on the page.

Copilot uses AI. Check for mistakes.
Comment on lines +28 to +68
export default function PlatformMatrix() {
const footnotes = platforms.filter((p) => p.footnote);

return (
<>
<table>
<thead>
<tr>
<th>Platform</th>
{CE_VERSIONS.map((v) => (
<th key={v}>CE {v}</th>
))}
</tr>
</thead>
<tbody>
{platforms.map((platform) => (
<tr key={platform.id}>
<td>
<strong>{platform.label}</strong>
{platform.footnote && <sup>*</sup>}
</td>
{CE_VERSIONS.map((v) => (
<td key={v}>{renderCell(platform, v)}</td>
))}
</tr>
))}
</tbody>
</table>
{footnotes.length > 0 && (
<p style={{ fontSize: '0.9em' }}>
{footnotes.map((p) => (
<span key={p.id}>
* {p.footnote}
<br />
</span>
))}
</p>
)}
</>
);
}
Copy link

Copilot AI Mar 26, 2026

Choose a reason for hiding this comment

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

This component introduces new rendering logic and is now used on multiple compatibility pages, but it doesn't have a Jest snapshot/unit test (most other src/___new___/components/* components have __test__/index.test.tsx). Adding a basic render/snapshot test (including at least one footnote row and an unsupported-version cell rendering as "—") would help prevent accidental regressions when compatibility data is updated.

Copilot generated this review using guidance from repository custom instructions.
Comment on lines +29 to +63
const footnotes = platforms.filter((p) => p.footnote);

return (
<>
<table>
<thead>
<tr>
<th>Platform</th>
{CE_VERSIONS.map((v) => (
<th key={v}>CE {v}</th>
))}
</tr>
</thead>
<tbody>
{platforms.map((platform) => (
<tr key={platform.id}>
<td>
<strong>{platform.label}</strong>
{platform.footnote && <sup>*</sup>}
</td>
{CE_VERSIONS.map((v) => (
<td key={v}>{renderCell(platform, v)}</td>
))}
</tr>
))}
</tbody>
</table>
{footnotes.length > 0 && (
<p style={{ fontSize: '0.9em' }}>
{footnotes.map((p) => (
<span key={p.id}>
* {p.footnote}
<br />
</span>
))}
Copy link

Copilot AI Mar 26, 2026

Choose a reason for hiding this comment

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

Footnote markers are always rendered as a bare "*" (both in the table and in the footnote list). If more than one platform gets a footnote, readers won't be able to tell which note applies to which row. Consider numbering footnotes (or otherwise mapping markers to specific footnotes) so multiple footnotes remain unambiguous.

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