Skip to content

HelmSharpUse Helm charts from .NET

Render, inspect, and release Helm charts in managed code. HelmSharp does not start the Helm CLI at runtime.

HelmSharp logo

Start with the job you need to do

The smallest useful render

Install the chart and renderer packages:

powershell
dotnet add package HelmSharp.Chart --version 1.3.2
dotnet add package HelmSharp.Engine --version 1.3.2

Then load a chart directory, build its values, and render it. The quickstart contains a copyable program and explains the three objects involved.

csharp
var chart = await HelmChartLoader.LoadAsync(chartPath, CancellationToken.None);
var values = await HelmValues.BuildAsync(chart, valuesFiles: null, null, null, null, null, null, CancellationToken.None);
var renderer = new HelmTemplateRenderer(chart, "demo", "default", values);

var manifest = renderer.Render();
Use the lower-level path for previews. It only reads chart inputs and returns strings. Use HelmSharp.Action when you intentionally need release state or Kubernetes mutation.

Choose the right entry point

If you are building…Start withRead next
A preview, validator, or GitOps generatorHelmSharp.Chart + HelmSharp.EngineRender a chart
A deployment service or operatorHelmSharp.ActionInstall and upgrade releases
A Kubernetes controller with existing YAMLHelmSharp.KubeApply manifests directly
A chart repository or packaging pipelineHelmSharp.Action + HelmSharp.RepoChart delivery

The package decision guide explains these boundaries in more detail and links to each generated API surface.

Before using an existing chart

HelmSharp follows Helm behavior where that behavior is implemented and tested; it is not a promise that every chart or plugin will work unchanged. Check the compatibility contract and the template-function matrix before treating a Helm edge case as a production dependency.

HelmCompare is also available for side-by-side output inspection.

Released under the MIT License.