chore(chart): declare kubeVersion ">=1.27.0-0" in chart + subcharts#291
Conversation
Adds a machine-enforced Kubernetes version floor to the topograph chart and its node-observer and node-data-broker subcharts. Previously the chart made no `kubeVersion` declaration, so `helm install` would not reject older clusters even though Topograph is only tested against Kubernetes 1.27 and later. The `-0` suffix on the constraint follows the common Helm convention for accepting prerelease-style version strings cloud providers append (e.g., `1.27.0-gke.100`, `1.28.3-eks-1234`) without requiring per-provider workarounds. Also tightens the chart README's Prerequisites section: the Kubernetes bullet states "1.27 or later" (now enforced via kubeVersion), and the per-provider bullet links to the providers documentation rather than enumerating provider-specific prerequisites inline. Signed-off-by: Rob Esker <[email protected]>
Greptile SummaryThis PR adds Confidence Score: 5/5Safe to merge — minimal, well-scoped YAML and Markdown changes with no logic or template impact. All changes are additive and correct: the No files require special attention. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[helm install topograph] --> B{kubeVersion check\n>=1.27.0-0}
B -- "Pass (e.g. 1.27+, GKE 1.28.x-gke.y,\nEKS 1.29.x-eks.z)" --> C[Install proceeds]
C --> D[topograph chart]
D --> E[node-observer subchart\nkubeVersion >=1.27.0-0]
D --> F[node-data-broker subchart\nkubeVersion >=1.27.0-0]
B -- "Fail (e.g. 1.26.x or older)" --> G[helm rejects install]
Reviews (1): Last reviewed commit: "chore(chart): declare kubeVersion ">=1.2..." | Re-trigger Greptile |
PR #268 removed the `branches: [main]` push filter from `publish-fern-docs.yml` while keeping the `tags: [docs/v*]` filter. With GitHub Actions, defining `tags:` without a corresponding `branches:` restricts push events to tag refs only — branch pushes (including main) no longer trigger the workflow even when their changed paths match the `paths:` filter. Symptom: the live Fern site at https://topograph.docs.buildwithfern.com/topograph has not been republished since the manual workflow_dispatch on 2026-04-20T16:51Z. PRs #284, #289, #290, #291, and #292 all touched docs/ but produced zero workflow runs. The Reference section restored by #284 (and the clique-semantics clarifications added by #289) are on main but invisible on the published site. Restore `branches: [main]` so push events to main with docs/ or fern/ changes resume triggering publishes. Tag pushes for `docs/v*` and manual `workflow_dispatch` continue to work unchanged. To clear the backlog after this PR merges, dispatch the workflow manually one time: gh workflow run publish-fern-docs.yml --repo NVIDIA/topograph --ref main Signed-off-by: Rob Esker <[email protected]>
Description
Adds a machine-enforced Kubernetes version floor to the topograph chart and its
node-observerandnode-data-brokersubcharts. Previously the chart made nokubeVersiondeclaration, sohelm installwould not reject older clusters even though Topograph min version is Kubernetes 1.27.Why 1.27
Committing 1.27 as the floor in `Chart.yaml` makes it a machine-checked guard and prevents install on older clusters where behavior is undefined.
Why the `-0` suffix
The constraint is `">=1.27.0-0"` rather than `">=1.27.0"` so that cloud providers' prerelease-style version strings — e.g., `1.27.0-gke.100`, `1.28.3-eks-1234`, `1.29.0-eks.1` — satisfy the constraint. Without the `-0` floor on the prerelease segment, Masterminds/semver's default comparison treats prerelease versions as strictly less than the base release, which causes false negatives on GKE, EKS, AKS, etc.
Chart README tightening (same PR)
While touching the chart's Prerequisites section:
docs/providers/rather than enumerating provider-specific details inline (CSP credentials, `ibnetdiscover`, etc.)Verification
Checklist