Skip to content

[docs] Document Helm v4.2.0+ prerequisite for Kubernetes deployment#1090

Open
aspire-repo-bot[bot] wants to merge 2 commits into
release/13.4from
docs/helm-version-prerequisite-17491-420c6f21c1e29ba5
Open

[docs] Document Helm v4.2.0+ prerequisite for Kubernetes deployment#1090
aspire-repo-bot[bot] wants to merge 2 commits into
release/13.4from
docs/helm-version-prerequisite-17491-420c6f21c1e29ba5

Conversation

@aspire-repo-bot
Copy link
Copy Markdown
Contributor

Documents changes from microsoft/aspire#17491.

@mitchdenny added an up-front Helm CLI version check to Aspire's Kubernetes deployment pipeline. Aspire now validates that Helm v4.2.0 or later is installed before running helm upgrade --install, replacing cryptic flag failures (unknown flag: --force-conflicts, Flag --force has been deprecated) with a single clear, actionable error message that includes the detected version, required minimum, and a link to the Helm install docs.

Targeting release/13.4 — the latest release branch on microsoft/aspire.dev — because release/13.5 (from the source PR milestone 13.5) does not exist there.

Why this PR is needed

The Helm v4.2.0+ minimum is now enforced at runtime, so users who attempt to deploy with an older Helm will see a validation error. The documentation must surface this requirement before users hit it.

Changes made

  • src/frontend/src/content/docs/deployment/kubernetes.mdx — Added a new Prerequisites section listing Helm v4.2.0+ (and kubectl) as required tools, with links to the install docs.
  • src/frontend/src/content/docs/integrations/compute/kubernetes.mdx — Added a callout note in the Installation section explaining the Helm v4.2.0+ prerequisite and why it's enforced.

Both pages were updated (not created); the changes are focused on the new minimum-version requirement.

Generated by PR Documentation Check for issue #17491 · ● 9.3M ·

Aspire's Kubernetes deployment pipeline now validates the installed Helm
CLI version up front (>= 4.2.0) before running helm upgrade --install.
This produces a clear actionable error instead of cryptic flag failures
when Helm is missing or too old.

Update the Deploy to Kubernetes page and the Kubernetes integration
reference to surface this prerequisite requirement.

Documents changes from microsoft/aspire#17491.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@aspire-repo-bot aspire-repo-bot Bot added the docs-from-code Copilot initiated issue from dotnet/aspire repo label May 27, 2026
@aspire-repo-bot aspire-repo-bot Bot requested a review from davidfowl May 27, 2026 14:35
@IEvangelist IEvangelist marked this pull request as ready for review May 27, 2026 14:41
@IEvangelist IEvangelist self-requested a review as a code owner May 27, 2026 14:41
Copilot AI review requested due to automatic review settings May 27, 2026 14:41
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

Updates Aspire Kubernetes documentation to surface the newly enforced minimum Helm CLI version requirement (Helm v4.2.0+) before users hit runtime validation failures.

Changes:

  • Added a Helm v4.2.0+ prerequisite callout to the Kubernetes hosting integration installation section.
  • Added a Prerequisites section to the Kubernetes deployment overview page listing Helm v4.2.0+ and kubectl.

Reviewed changes

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

File Description
src/frontend/src/content/docs/integrations/compute/kubernetes.mdx Adds an installation callout describing the Helm v4.2.0+ prerequisite and why it’s enforced.
src/frontend/src/content/docs/deployment/kubernetes.mdx Adds a Prerequisites section to the Kubernetes deployment overview highlighting Helm v4.2.0+ and kubectl.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/frontend/src/content/docs/integrations/compute/kubernetes.mdx Outdated
Comment thread src/frontend/src/content/docs/deployment/kubernetes.mdx Outdated
Comment thread src/frontend/src/content/docs/deployment/kubernetes.mdx Outdated
@IEvangelist IEvangelist requested a review from mitchdenny May 28, 2026 15:33
@joperezr joperezr added this to the 13.4 milestone May 28, 2026
Copy link
Copy Markdown
Member

@IEvangelist IEvangelist left a comment

Choose a reason for hiding this comment

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

Docs accuracy review

Source of truth: microsoft/aspire@cc4b7eaf (release/13.4, fetched 2026-05-29)
PR head: 9a5ab02db9f098043b1de8fbf70ec646650a6215

Verdict Count
verified 5
verified-with-nuance 0
unverifiable 0
contradicted 0

Verdict: APPROVE. Every claim matches the implementation at release/13.4.

Doc-tester (UX) notes

Read as a user landing on either page from a fresh repo. The v4.2.0 floor, the actionable-error phrasing, and the helm upgrade --install description are concrete enough that a user who hits a Helm-related failure can map it to the relevant validator. Cross-linking to https://helm.sh/docs/intro/install/ matches the same URL the runtime uses in its error messages, so a user following the doc and a user who hit the runtime error end up at the same install page.

Verified claims (with evidence)
# Claim Evidence
1 "Helm v4.2.0 or later" src/Aspire.Hosting.Kubernetes/Deployment/HelmVersionValidator.cs:28public static readonly Version MinimumHelmVersion = new(4, 2, 0);. The class doc-comment (:14-22) explains the v4 rationale (--server-side=true --force-conflicts Helm-4 shape).
2 "Aspire shells out to helm upgrade --install to deploy the generated chart" HelmDeploymentEngine.cs:433arguments.Append(..., $"upgrade --install {releaseName} \"{outputPath}\"") and runs it via IHelmRunner.RunAsync (:458-466). Same string in Aspire.Hosting.Kubernetes/README.md:11.
3 "It validates the Helm version up front" HelmDeploymentEngine.cs:135-155 enqueues a check-helm-prereqs-{env} pipeline step that calls HelmVersionValidator.EnsureMinimumVersionAsync(helmRunner, ct); the prepare/deploy/uninstall steps all DependsOn it (:155,166,234).
4 "Missing or older versions produce a clear actionable error rather than cryptic flag failures" HelmVersionValidator.cs:80-83,89-91,96-98,102-109 — each failure mode (helm-not-on-PATH, non-zero exit, unparseable output, too-old version) throws InvalidOperationException with MinimumHelmVersion and InstallDocsUrl in the message. The class doc-comment (:14-22) calls out the exact "cryptic" failures it prevents (unknown flag: --force-conflicts, Flag --force has been deprecated...).
5 "kubectl — Required to interact with your cluster." Beyond generic Kubernetes use, Aspire actively shells out to kubectl in the deployment pipeline: CertManagerExtensions.cs:462,519 (ClusterIssuer apply/delete), KubernetesEnvironmentResource.cs:1248,1308,1353,1441,1529,1617,1682,1793,1863,1921,1966 (Gateway listener patching and namespace bootstrap), and HelmDeploymentEngine.cs:683 (service inspection for runtime instructions).

- PRRT_kwDOQK_VN86FIiuW: Fix Kubernetes integration Helm prerequisite grammar.
- PRRT_kwDOQK_VN86FIiv6: Clarify Kubernetes supports aspire deploy for the Helm deployment pipeline.
- PRRT_kwDOQK_VN86FIiwc: Fix Kubernetes deployment Helm prerequisite grammar.

Verified against microsoft/aspire@a364a66 on branch release/13.4.
Edited per the doc-writer skill.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs-from-code Copilot initiated issue from dotnet/aspire repo

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants