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 ¶
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 ¶
SetLocalOnly requires existing local charts confined to root, with no acquisition.