renderer

package
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: Dec 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 RenderedResource added in v0.8.0

type RenderedResource struct {
	// Resource is the fully rendered Kubernetes resource manifest.
	Resource map[string]any

	// TargetPlane indicates which plane this resource should be deployed to.
	TargetPlane string
}

RenderedResource wraps a rendered Kubernetes resource with metadata about its target plane.

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,
) ([]RenderedResource, error)

RenderResources renders all resources from a ComponentType.

The process:

  • Iterate through ComponentType.Spec.Resources
  • For each ResourceTemplate:
  • Evaluate includeWhen (skip if false)
  • Check forEach (render multiple times if present)
  • Render template field using template engine
  • Return all rendered resources with their target planes

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