renderer-helm

module
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 16, 2026 License: Apache-2.0

README

renderer-helm

Helm chart renderer with OCI support

Part of the k8s-manifest-kit organization.

Helm Version: Uses Helm v4 SDK.

Installation

go get github.com/k8s-manifest-kit/renderer-helm

Examples

Basic Usage

Render a Helm chart from an OCI registry:

package main

import (
    "context"
    
    helm "github.com/k8s-manifest-kit/renderer-helm/pkg"
)

func main() {
    ctx := context.Background()
    
    // Create engine with a single Helm chart
    engine, err := helm.NewEngine(helm.Source{
        Chart:       "oci://registry-1.docker.io/bitnamicharts/nginx",
        ReleaseName: "my-nginx",
    })
    if err != nil {
        panic(err)
    }
    
    // Render the chart
    objects, err := engine.Render(ctx, nil)
    if err != nil {
        panic(err)
    }
    
    // Use the rendered Kubernetes objects
    for _, obj := range objects {
        // Process object...
    }
}
With Values

Override chart values during rendering:

engine, err := helm.NewEngine(helm.Source{
    Chart:       "oci://registry-1.docker.io/bitnamicharts/nginx",
    ReleaseName: "my-nginx",
    Values: helm.Values(map[string]any{
        "replicaCount": 3,
        "image": map[string]any{
            "tag": "1.25",
        },
    }),
})
if err != nil {
    panic(err)
}

objects, err := engine.Render(ctx, map[string]any{
    "service": map[string]any{
        "type": "LoadBalancer",
    },
})
Multiple Charts

Render multiple charts using the renderer directly:

renderer, err := helm.New([]helm.Source{
    {
        Chart:       "oci://registry/chart1",
        ReleaseName: "app",
    },
    {
        Chart:       "oci://registry/chart2",
        ReleaseName: "db",
    },
})
if err != nil {
    panic(err)
}

objects, err := renderer.Process(ctx, nil)
if err != nil {
    panic(err)
}

Documentation

See the main docs repository for comprehensive documentation.

Contributing

Contributions are welcome! Please see our contributing guidelines.

License

Apache License 2.0 - See LICENSE for details.

Directories

Path Synopsis
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL