Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Engine ¶
type Engine struct {
// contains filtered or unexported fields
}
Engine represents the core manifest rendering and processing engine.
func (*Engine) Render ¶
func (e *Engine) Render(ctx context.Context, opts ...RenderOption) ([]unstructured.Unstructured, error)
Render processes all inputs associated with the registered renderer configurations and returns a consolidated slice of unstructured.Unstructured objects.
The rendering pipeline has three stages for filters and transformers:
- renderer-specific: Each renderer applies its own filters/transformers during Process()
- engine-level: Filters/transformers configured via New() are applied to aggregated results
- render-time: Filters/transformers passed via opts are merged with engine-level ones
Render-time options are additive - they append to engine-level options. Render-time values are passed to all renderers and deep merged with Source-level values.
type Option ¶
Option is a generic option for Options.
func WithFilter ¶
WithFilter adds an engine-level filter function to the processing chain. Engine-level filters are applied to aggregated results from all renderers on every Render() call. For renderer-specific filtering, use the renderer's WithFilter option (e.g., helm.WithFilter). For one-time filtering on a single Render() call, use WithRenderFilter.
func WithParallel ¶
WithParallel enables or disables parallel execution of renderers. When enabled, all renderers execute concurrently using goroutines. When disabled (default), renderers execute sequentially. Parallel execution is beneficial for I/O-bound renderers (Helm OCI fetch, file reads).
func WithRenderer ¶
WithRenderer adds a configured renderer to the engine. Can only be used during engine creation.
func WithTransformer ¶
func WithTransformer(t types.Transformer) Option
WithTransformer adds an engine-level transformer function to the processing chain. Engine-level transformers are applied to aggregated results from all renderers on every Render() call. For renderer-specific transformation, use the renderer's WithTransformer option (e.g., helm.WithTransformer). For one-time transformation on a single Render() call, use WithRenderTransformer.
type Options ¶
type Options struct {
// Filters are engine-level filters applied to all renders.
Filters []types.Filter
// Transformers are engine-level transformers applied to all renders.
Transformers []types.Transformer
// Values are values passed to renderers (used internally during rendering).
Values map[string]any
// Renderers are the manifest sources to process (e.g., Helm, Kustomize, YAML).
Renderers []types.Renderer
// Parallel enables parallel execution of renderers.
Parallel bool
}
Options represents the processing options for the engine.
type RenderOption ¶
type RenderOption = util.Option[RenderOptions]
RenderOption is a generic option for RenderOptions.
func WithRenderFilter ¶
func WithRenderFilter(f types.Filter) RenderOption
WithRenderFilter adds a render-time filter function for a single Render() call. Render-time filters are merged with (appended to) engine-level filters. Use this for one-off filtering that doesn't apply to all renders.
func WithRenderTransformer ¶
func WithRenderTransformer(t types.Transformer) RenderOption
WithRenderTransformer adds a render-time transformer function for a single Render() call. Render-time transformers are merged with (appended to) engine-level transformers. Use this for one-off transformation that doesn't apply to all renders.
func WithValues ¶
func WithValues(values map[string]any) RenderOption
WithValues adds render-time values for a single Render() call. These values are passed to all renderers and deep merged with Source-level values, with render-time values taking precedence for conflicting keys. Renderers that support dynamic values (Helm, Kustomize, GoTemplate) will use these values. Renderers that don't support values (YAML, Mem) will ignore them.
type RenderOptions ¶
type RenderOptions struct {
// Filters are render-time filters applied only to this specific Render() call.
// These are merged with (appended to) engine-level filters.
Filters []types.Filter
// Transformers are render-time transformers applied only to this specific Render() call.
// These are merged with (appended to) engine-level transformers.
Transformers []types.Transformer
// Values are render-time values passed to all renderers during this specific Render() call.
// These values are deep merged with Source-level values, with render-time values taking precedence.
Values map[string]any
}
RenderOptions represents the processing options for rendering.
func (RenderOptions) ApplyTo ¶
func (opts RenderOptions) ApplyTo(target *RenderOptions)
ApplyTo implements the Option interface for RenderOptions.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package filter provides combinators for composing multiple filters using boolean logic.
|
Package filter provides combinators for composing multiple filters using boolean logic. |
|
Package transformer provides combinators for composing multiple transformers.
|
Package transformer provides combinators for composing multiple transformers. |