Skip to content

Roadmap

The roadmap is organized around what users need to trust HelmSharp in a .NET application: render the same chart, explain the same values, and mutate Kubernetes only when the application intentionally asks for it.

GitHub milestones remain the source of truth for issue-level scope.

Current focus

M1: Helm Template Parity is complete in 1.1.0, M2: Chart Packaging and Repository Parity is complete in 1.2.0, and M3: Release Lifecycle Parity is complete in 1.3.0. Work now focuses on Kubernetes operations, OCI/provenance, public SDK hardening, and compatibility expansion from real user charts.

The latest published version is 1.3.2. M2 chart-distribution and M3 release-lifecycle documentation describe APIs available from the 1.3.2 NuGet packages.

Review the compatibility page for current rendering coverage, the chart distribution guide for M2 workflows, or follow the later milestones on GitHub for release lifecycle, Kubernetes semantics, OCI, and public SDK hardening.

Delivery principles

  • Keep runtime behavior managed in .NET; do not shell out to Helm from consumer applications.
  • Use Helm CLI output as a test oracle, not as an SDK dependency.
  • Prefer common production chart behavior before rare terminal formatting details.
  • Make package boundaries clear so applications can depend on only what they use.
  • Treat Kubernetes mutation, credentials, OCI, and provenance as security-sensitive work.

Milestone plan

PhaseStatusUser outcome
M1: Helm Template ParityComplete in 1.1.0Render common charts from .NET with predictable Helm-compatible output.
M2: Chart Packaging and Repository ParityComplete in 1.2.0Package, index, pull, and resolve chart dependencies without CLI handoffs.
M3: Release Lifecycle ParityComplete in 1.3.0Install, upgrade, rollback, uninstall, status, history, and hook behavior with durable revision transitions.
M4: Kubernetes Apply and Wait SemanticsPlannedCorrect resource identity, namespace handling, readiness, Jobs, deletion, and hook cleanup.
M5: OCI and ProvenancePlannedRegistry authentication, chart pull/push, signing, and verification.
M6: Public SDK HardeningOngoingBetter docs, examples, nullable correctness, package quality, and API polish.
M7: Compatibility Expansion ResearchResearchEvidence-based decision on netstandard, .NET Framework, and longer target support.

How work graduates

A compatibility item is ready when:

  1. The behavior is captured by a focused unit, integration, or golden test.
  2. The compatibility page says what is supported and what remains open.
  3. Public API changes have examples from a user point of view.
  4. Release builds and tests pass for net8.0, net9.0, and net10.0.

Contributing

Start with an existing milestone issue when possible. For a newly found Helm difference, open a compatibility issue with a minimal chart, Helm command, HelmSharp API call, and both outputs.

Released under the MIT License.