templates

package
v0.8.2 Latest Latest
Warning

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

Go to latest
Published: Oct 2, 2023 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

View Source
const SuccessStatusPath = `status.conditions[?(@.type=="Succeeded")].status`

Variables

This section is empty.

Functions

func InterpolateLeafNode

func InterpolateLeafNode(executor TemplateExecutor, template []byte, tagInterpolator tagInterpolator) (interface{}, error)

InterpolateLeafNode merges the context variables anywhere a $(<<jsonPath>>)$ tag is found It validates that the jsonPath refers to objects within the context

func NewClusterConfigTemplateReader added in v0.6.0

func NewClusterConfigTemplateReader(template *v1alpha1.ClusterConfigTemplate) *clusterConfigTemplate

func NewClusterDeploymentTemplateReader added in v0.6.0

func NewClusterDeploymentTemplateReader(template *v1alpha1.ClusterDeploymentTemplate) *clusterDeploymentTemplate

func NewClusterImageTemplateReader added in v0.6.0

func NewClusterImageTemplateReader(template *v1alpha1.ClusterImageTemplate) *clusterImageTemplate

func NewClusterSourceTemplateReader added in v0.6.0

func NewClusterSourceTemplateReader(template *v1alpha1.ClusterSourceTemplate) *clusterSourceTemplate

func NewClusterTemplateReader added in v0.6.0

func NewClusterTemplateReader(template *v1alpha1.ClusterTemplate) *clusterTemplate

Types

type ClusterRunTemplate added in v0.0.7

type ClusterRunTemplate interface {
	GetName() string
	GetResourceTemplate() v1alpha1.TemplateSpec
	GetLatestSuccessfulOutput(stampedObjects []*unstructured.Unstructured) (Outputs, *unstructured.Unstructured, error)
}

func NewRunTemplateModel added in v0.0.5

func NewRunTemplateModel(template *v1alpha1.ClusterRunTemplate) ClusterRunTemplate

type Config

type Config interface{}

type ConfigInput

type ConfigInput struct {
	Config interface{} `json:"config"`
	Name   string      `json:"name"`
}

type Image

type Image interface{}

type ImageInput

type ImageInput struct {
	Image interface{} `json:"image"`
	Name  string      `json:"name"`
}

type JsonPathContext

type JsonPathContext interface{}

JsonPathContext is any structure that you intend for jsonpath to treat as it's context. typically any struct with template-specific json structure tags

type Labels

type Labels map[string]string

type Lifecycle added in v0.6.0

type Lifecycle string
const (
	Mutable   Lifecycle = "mutable"
	Immutable Lifecycle = "immutable"
	Tekton    Lifecycle = "tekton"
)

func (*Lifecycle) IsImmutable added in v0.6.0

func (l *Lifecycle) IsImmutable() bool

type Output

type Output struct {
	Source *Source
	Image  Image
	Config Config
}

type Outputs added in v0.0.5

type Outputs map[string]apiextensionsv1.JSON

type Reader added in v0.6.0

type Reader interface {
	GetDefaultParams() v1alpha1.TemplateParams

	// GetResourceTemplate returns the actual representation of a resource to stamp, and how to handle it
	// TODO: we should be expecting something with a [ytt|template] interface, the health rules and params should
	// not be fetched here
	GetResourceTemplate() v1alpha1.TemplateSpec
	GetHealthRule() *v1alpha1.HealthRule
	IsYTTTemplate() bool
	GetLifecycle() *Lifecycle
	GetRetentionPolicy() v1alpha1.RetentionPolicy
}

func NewReaderFromAPI added in v0.6.0

func NewReaderFromAPI(template client.Object) (Reader, error)

type Source

type Source struct {
	URL      interface{} `json:"url"`
	Revision interface{} `json:"revision"`
}

type SourceInput

type SourceInput struct {
	URL      interface{} `json:"url"`
	Revision interface{} `json:"revision"`
	Name     string      `json:"name"`
}

type Stamper

type Stamper struct {
	TemplatingContext JsonPathContext
	Owner             client.Object
	Labels            Labels
}

func StamperBuilder

func StamperBuilder(owner client.Object, templatingContext JsonPathContext, labels Labels) Stamper

func (*Stamper) Stamp

func (s *Stamper) Stamp(ctx context.Context, resourceTemplate v1alpha1.TemplateSpec) (*unstructured.Unstructured, error)

type StandardTagInterpolator

type StandardTagInterpolator struct {
	Context   JsonPathContext
	Evaluator evaluator
}

func (StandardTagInterpolator) Evaluate

func (t StandardTagInterpolator) Evaluate(tag string) (interface{}, error)

func (StandardTagInterpolator) InterpolateTag

func (t StandardTagInterpolator) InterpolateTag(w io.Writer, tag string) (int, error)

type TemplateExecutor

type TemplateExecutor func(template, startTag, endTag string, f fasttemplate.TagFunc) (string, error)

Directories

Path Synopsis
Code generated by counterfeiter.
Code generated by counterfeiter.

Jump to

Keyboard shortcuts

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