Skip to content

Helm Compatibility

HelmSharp is not trying to be a command-line emulator. It is trying to give .NET applications the Helm behavior they need when rendering charts and managing releases from inside a process.

The Helm CLI is used as a test oracle. It is not required at runtime by consumers.

Current confidence level

The current real-chart golden suite renders 129/129 templates across five public charts with no parser exceptions:

ChartVersionTemplatesResult
podinfo6.14.021/21Pass
metrics-server3.13.118/18Pass
external-dns1.21.17/7Pass
ingress-nginx4.12.142/42Pass
cert-manager1.17.141/41Pass
Total-129/129Pass

That number matters because real charts expose helper templates, nested values, .Files, capabilities, and formatting patterns that small examples miss.

Compatibility contract

A behavior is treated as supported when it:

  • is reachable through a documented managed API;
  • has focused automated coverage;
  • behaves consistently across net8.0, net9.0, and net10.0;
  • matches Helm where the rendered output, release state, or failure behavior is observable by users.

Exact CLI colors, progress text, terminal formatting, and plugin execution are not compatibility goals unless they affect chart output or automation.

Capability snapshot

AreaCurrent levelWhat it means for users
Chart loading from directories and .tgz archivesSupportedSafe starting point for render and packaging tools.
Values files and --set-style overridesPartialCommon flows work; edge-case coercion still needs parity work.
Helm-style template renderingPartialReal public charts render; remaining gaps are tracked by golden tests.
Chart packaging and repositoriesPartialUseful APIs exist; archive and repository edge cases remain.
Install, upgrade, rollback, uninstallPartialDry-run and managed workflows exist; full lifecycle parity is still expanding.
Kubernetes apply, delete, waitPartialCommon resource operations exist; less common readiness behavior needs coverage.
Release history in Kubernetes SecretsSupportedRelease records can be persisted without Helm CLI.
OCI registry and provenancePlannedAPI surface exists or is planned; production parity is not complete.

Known boundaries

These are the areas to check before betting a production workflow on exact Helm behavior:

  • full Sprig function parity;
  • obscure values coercion and list syntax cases;
  • byte-for-byte manifest formatting;
  • OCI authentication and registry flows;
  • provenance verification;
  • readiness for uncommon Kubernetes resource kinds;
  • safe replacement for Helm plugin execution.

How to report a gap

Open a compatibility issue with:

  • Helm CLI and HelmSharp versions;
  • a minimal chart and values input;
  • the exact Helm command and output;
  • the equivalent HelmSharp API call and output;
  • whether the difference affects rendering, release state, or cluster mutation.

Small reproducible charts are more useful than screenshots or large private charts.

Released under the MIT License.