componentworkflowpipeline

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Dec 1, 2025 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Package componentworkflowpipeline provides component workflow rendering by combining CRs and evaluating CEL expressions.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ComponentWorkflowContext

type ComponentWorkflowContext struct {
	// OrgName is the organization name (typically the namespace).
	OrgName string

	// ProjectName is the project name from the component workflow owner.
	ProjectName string

	// ComponentName is the component name from the component workflow owner.
	ComponentName string

	// ComponentWorkflowRunName is the name of the component workflow run CR.
	ComponentWorkflowRunName string
}

ComponentWorkflowContext provides contextual metadata for component workflow rendering. These values are injected into CEL expressions as ${ctx.*} variables.

type Pipeline

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

Pipeline orchestrates component workflow rendering by combining ComponentWorkflowRun, ComponentWorkflow to generate fully resolved resources (e.g., Argo Workflow).

func NewPipeline

func NewPipeline() *Pipeline

NewPipeline creates a new component workflow rendering pipeline.

func (*Pipeline) Render

func (p *Pipeline) Render(input *RenderInput) (*RenderOutput, error)

Render orchestrates the complete component workflow rendering process. It validates input, builds CEL context, renders the template, and validates output.

type RenderInput

type RenderInput struct {
	// ComponentWorkflowRun is the workflow execution instance with system and developer parameters (required).
	ComponentWorkflowRun *v1alpha1.ComponentWorkflowRun

	// ComponentWorkflow contains the schema and resource template (required).
	ComponentWorkflow *v1alpha1.ComponentWorkflow

	// Context provides workflow execution context metadata (required).
	Context ComponentWorkflowContext
}

RenderInput contains all required inputs for component workflow rendering.

type RenderMetadata

type RenderMetadata struct {
	// Warnings lists non-fatal issues encountered during rendering.
	Warnings []string
}

RenderMetadata contains non-fatal information about the rendering process.

type RenderOutput

type RenderOutput struct {
	// Resource is the fully rendered workflow resource as a map that can be converted
	// to unstructured.Unstructured for Kubernetes API operations.
	Resource map[string]any

	// Metadata contains rendering process information such as warnings.
	Metadata *RenderMetadata
}

RenderOutput contains the rendered workflow resource and associated metadata.

Jump to

Keyboard shortcuts

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