renderer

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Nov 16, 2025 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package renderer handles ResourceTemplate orchestration for ComponentTypes.

The renderer evaluates ResourceTemplate control flow (includeWhen, forEach) and uses the template engine to render Kubernetes resources.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ExtractTemplateData

func ExtractTemplateData(tmpl v1alpha1.ResourceTemplate) (any, error)

ExtractTemplateData extracts the template data from a ResourceTemplate. This is a helper for testing.

func MustRawExtension

func MustRawExtension(v any) runtime.RawExtension

MustRawExtension creates a runtime.RawExtension from any value. Panics if marshaling fails. For testing only.

Types

type Renderer

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

Renderer orchestrates the rendering of ResourceTemplates from ComponentTypes.

func NewRenderer

func NewRenderer(templateEngine *template.Engine) *Renderer

NewRenderer creates a new ResourceTemplate renderer.

func (*Renderer) RenderResources

func (r *Renderer) RenderResources(
	templates []v1alpha1.ResourceTemplate,
	context map[string]any,
) ([]map[string]any, error)

RenderResources renders all resources from a ComponentType.

The process:

  1. Iterate through ComponentType.Spec.Resources
  2. For each ResourceTemplate: - Evaluate includeWhen (skip if false) - Check forEach (render multiple times if present) - Render template field using template engine
  3. Return all rendered resources

Returns an error if any template fails to render (unless it's a missing data error for includeWhen evaluation).

Jump to

Keyboard shortcuts

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