helm

package
v0.2.0-rc.1 Latest Latest
Warning

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

Go to latest
Published: Oct 7, 2026 License: GPL-3.0 Imports: 42 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AcquisitionCache

type AcquisitionCache struct {
	// contains filtered or unexported fields
}

AcquisitionCache pins chart selectors to immutable archives within one run, never rendered output or local trees. Create a new cache for each resolution epoch and Close it after rendering has stopped. Reusing a selector cache across independent runs would freeze mutable tags and version ranges indefinitely.

func NewAcquisitionCache

func NewAcquisitionCache() (*AcquisitionCache, error)

func (*AcquisitionCache) Close

func (c *AcquisitionCache) Close() error

type Expander

type Expander struct {
	// contains filtered or unexported fields
}

Expander implements the expander.Expander interface for Helm. It is safe for concurrent use -- each call to Expand operates on isolated state. The Expander tracks which releases have already been expanded to avoid duplicating resources across iterative expansion loops.

func NewExpander

func NewExpander(runner *Runner, resolver chartSourceResolver, log logr.Logger) *Expander

NewExpander creates a new Helm expander.

func NewExpanderWithAcquisitionCache

func NewExpanderWithAcquisitionCache(
	runner *Runner,
	resolver chartSourceResolver,
	log logr.Logger,
	cache *AcquisitionCache,
) *Expander

NewExpanderWithAcquisitionCache uses a shared archive cache while keeping the release tracker private to this expander. Local-only runners bypass acquisition.

func (*Expander) Expand

Expand implements expander.Expander. It parses HelmRelease and source resources from the render, then delegates chart rendering to the Runner.

func (*Expander) SetStrictInputs

func (e *Expander) SetStrictInputs()

SetStrictInputs rejects known unsupported rendering inputs without restricting chart source acquisition. Local-only runners imply this validation as well.

type PostRenderer

type PostRenderer interface {
	Run(renderedManifests *bytes.Buffer) (modifiedManifests *bytes.Buffer, err error)
}

PostRenderer is the minimal interface fmp needs for post-rendering Helm output. We intentionally keep this local instead of importing Helm's pkg/postrenderer, which drags in Helm's plugin runtime stack.

type RenderTask

type RenderTask struct {
	// contains filtered or unexported fields
}

type Runner

type Runner struct {
	// contains filtered or unexported fields
}

Runner handles Helm chart downloading and rendering.

func NewRunner

func NewRunner(settings *helmcli.EnvSettings, log logr.Logger) *Runner

NewRunner creates a new Helm runner.

func (*Runner) RenderCharts

func (r *Runner) RenderCharts(ctx context.Context, releases []RenderTask) (resmap.ResMap, []error, error)

RenderCharts renders multiple charts in parallel. Charts that fail to render are collected as errors and skipped; partial results are returned.

func (*Runner) SetLocalOnly

func (r *Runner) SetLocalOnly(root string)

SetLocalOnly requires existing local charts confined to root, with no acquisition.

Jump to

Keyboard shortcuts

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