Skip to content

Choose a package and API

Choose packages by the operation your application needs to perform. Rendering loads chart content and values, then returns manifest text. Release operations also require Kubernetes credentials and maintain lifecycle history.

Choose by task

GoalStart withMain typesDo not choose it when…
Render a chartHelmSharp.Chart + HelmSharp.EngineHelmChartLoader, HelmValues, HelmTemplateRendererThe application must apply resources and record release history.
Expose Helm-style operationsHelmSharp.ActionHelmClient, IHelmClient, request objects, CommandResultYou only need YAML and want no Kubernetes dependencies.
Apply existing YAMLHelmSharp.KubeKubernetesManifestApplier, KubernetesResourceWaiter, ManifestIdentityYou need Helm release state, hooks, or values merging.
Work with releases directlyHelmSharp.ReleaseRelease model and Kubernetes-backed storeHelmClient already owns the whole workflow.
Maintain an HTTP chart repositoryHelmSharp.RepoHelmChartRepository, HelmRepoIndexer, HelmPullRequestThe requirement is complete OCI registry parity.
Transform manifest textHelmSharp.PostRendererIPostRendererThe transformation belongs in a chart template.

High-level client or renderer?

Use HelmTemplateRenderer directly when an application exposes a rendering capability. It makes the operation visible in code: load the chart, compute values, configure capabilities, and return strings.

Use HelmClient when the public surface deliberately resembles a Helm operation. It returns CommandResult for template, package, repository, dependency, and lifecycle work, so an endpoint or CLI can expose standard output, standard error, and an exit code consistently.

csharp
var result = await client.TemplateAsync(new HelmTemplateRequest
{
    ReleaseName = "preview",
    Namespace = "platform",
    Chart = chartPath,
    ValuesFiles = ["values.production.yaml"],
    KubeVersion = "1.30.0"
}, cancellationToken);

if (!result.Succeeded)
    return Results.BadRequest(result.StandardError);

return Results.Text(result.StandardOutput, "text/yaml");

Use the generated public API index

The generated pages list public types, properties, and methods from the current source tree. They are a name and source index, not full API reference documentation. Use the package guide to decide which abstraction belongs in your code, then use the listed source-file path to find the declaration in the repository for parameter-level detail.

PackageGuideGenerated API
HelmSharp.ActionGuideAPI
HelmSharp.ChartGuideAPI
HelmSharp.EngineGuideAPI
HelmSharp.KubeGuideAPI
Distribution and extensionsAll package guidesAll generated pages

Template helper types under HelmSharp.Engine.Functions and HelmSharp.Engine.Utilities mainly exist to implement Helm/Sprig behavior. Application code should treat HelmTemplateRenderer as its renderer API and consult the function matrix before using a helper in a chart.

Released under the MIT License.