Documentation
Template Custom Resources
ClusterSourceTemplate
ClusterSourceTemplate
indicates how the supply chain could instantiate an object responsible for providing source
code.
The ClusterSourceTemplate
requires definition of a urlPath
and revisionPath
. ClusterSourceTemplate
will update
its status to emit url
and revision
values, which are reflections of the values at the path on the created objects.
The supply chain may make these values available to other resources.
---
apiVersion: carto.run/v1alpha1
kind: ClusterSourceTemplate
metadata: {}
spec:
# HealthRule specifies rubric for determining the health of a
# resource stamped by this template. See:
# https://cartographer.sh/docs/latest/health-rules/
# +optional
healthRule:
# AlwaysHealthy being set indicates the resource should always
# be considered healthy once it exists.
# +optional
alwaysHealthy: {}
# MultiMatch specifies explicitly which conditions and/or
# fields should be used to determine healthiness.
# +optional
multiMatch:
# Healthy is a HealthMatchRule which stipulates
# requirements, ALL of which must be met for the resource to
# be considered healthy.
healthy:
# MatchConditions are the conditions and statuses to read.
# +optional
matchConditions:
- # Status is the status of the condition
status: <string>
# Type is the type of the condition
type: <string>
# MatchFields stipulates a FieldSelectorRequirement for
# this rule.
# +optional
matchFields:
- # Key is the JSON path in the workload to match
# against. e.g. for workload:
# "workload.spec.source.git.url", e.g. for
# deliverable: "deliverable.spec.source.git.url"
key: <string>
# MessagePath is specified in jsonpath format. It is
# evaluated against the resource to provide a message
# in the owner's resource condition if it is the first
# matching requirement that determine the current
# ResourcesHealthy condition status.
# +optional
messagePath: <string>
# Operator represents a key's relationship to a set of
# values. Valid operators are In, NotIn, Exists and
# DoesNotExist.
operator: <[In|NotIn|Exists|DoesNotExist]>
# Values is an array of string values. If the operator
# is In or NotIn, the values array must be non-empty.
# If the operator is Exists or DoesNotExist, the
# values array must be empty.
# +optional
values: [ <string> ]
# Unhealthy is a HealthMatchRule which stipulates
# requirements, ANY of which, when met, indicate that the
# resource should be considered unhealthy.
unhealthy:
matchConditions:
- status: <string>
type: <string>
matchFields:
- key: <string>
messagePath: <string>
operator: <[In|NotIn|Exists|DoesNotExist]>
values: [ <string> ]
# SingleConditionType names a single condition which, when
# True indicates the resource is healthy. When False it is
# unhealthy. Otherwise, healthiness is Unknown.
# +optional
singleConditionType: <string>
# Lifecycle specifies whether template modifications should
# result in originally created objects being updated (`mutable`)
# or in new objects created alongside original objects
# (`immutable` or `tekton`). See:
# https://cartographer.sh/docs/latest/lifecycle/
# +optional
lifecycle: <[mutable|immutable|tekton]>
# Additional parameters. See:
# https://cartographer.sh/docs/latest/architecture/#parameter-hierarchy
# +optional
params:
- # DefaultValue of the parameter. Causes the parameter to be
# optional; If the Owner or Template does not specify this
# parameter, this value is used.
default: <any>
# Name of a parameter the template accepts from the
# Blueprint or Owner.
name: <string>
# RetentionPolicy specifies how many successful and failed runs
# should be retained if the template lifecycle is
# immutable/tekton. Runs older than this (ordered by creation
# time) will be deleted. Setting higher values will increase
# memory footprint. If unspecified on immutable/tekton, default
# behavior will == {maxFailedRuns: 10, maxSuccessfulRuns: 10}
# +optional
retentionPolicy:
# MaxFailedRuns is the number of failed runs to retain.
maxFailedRuns: <integer>
# MaxSuccessfulRuns is the number of successful runs to
# retain.
maxSuccessfulRuns: <integer>
# RevisionPath is a path into the templated object's data that
# contains a revision. The revision, along with the URL,
# represents the output of the Template. RevisionPath is
# specified in jsonpath format, eg: .status.artifact.revision
revisionPath: <string>
# Template defines a resource template for a Kubernetes Resource
# or Custom Resource which is applied to the server each time
# the blueprint is applied. Templates support simple value
# interpolation using the $()$ marker format. For more
# information, see:
# https://cartographer.sh/docs/latest/templating/ You cannot
# define both Template and Ytt at the same time. You should not
# define the namespace for the resource - it will automatically
# be created in the owner namespace. If the namespace is
# specified and is not the owner namespace, the resource will
# fail to be created.
# +optional
template: {}
# URLPath is a path into the templated object's data that
# contains a URL. The URL, along with the revision, represents
# the output of the Template. URLPath is specified in jsonpath
# format, eg: .status.artifact.url
urlPath: <string>
# Ytt defines a resource template written in `ytt` for a
# Kubernetes Resource or Custom Resource which is applied to the
# server each time the blueprint is applied. Templates support
# simple value interpolation using the $()$ marker format. For
# more information, see:
# https://cartographer.sh/docs/latest/templating/ You cannot
# define both Template and Ytt at the same time. You should not
# define the namespace for the resource - it will automatically
# be created in the owner namespace. If the namespace is
# specified and is not the owner namespace, the resource will
# fail to be created.
# +optional
ytt: <string>
ref: pkg/apis/v1alpha1/cluster_source_template.go
ClusterImageTemplate
ClusterImageTemplate
instructs how the supply chain should instantiate an object responsible for supplying container
images, for instance, one that takes source code, builds a container image out of it.
The ClusterImageTemplate
requires definition of an imagePath
. ClusterImageTemplate
will update its status to emit
an image
value, which is a reflection of the value at the path on the created object. The supply chain may make this
value available to other resources.
---
apiVersion: carto.run/v1alpha1
kind: ClusterImageTemplate
metadata: {}
spec:
# HealthRule specifies rubric for determining the health of a
# resource stamped by this template. See:
# https://cartographer.sh/docs/latest/health-rules/
# +optional
healthRule:
# AlwaysHealthy being set indicates the resource should always
# be considered healthy once it exists.
# +optional
alwaysHealthy: {}
# MultiMatch specifies explicitly which conditions and/or
# fields should be used to determine healthiness.
# +optional
multiMatch:
# Healthy is a HealthMatchRule which stipulates
# requirements, ALL of which must be met for the resource to
# be considered healthy.
healthy:
# MatchConditions are the conditions and statuses to read.
# +optional
matchConditions:
- # Status is the status of the condition
status: <string>
# Type is the type of the condition
type: <string>
# MatchFields stipulates a FieldSelectorRequirement for
# this rule.
# +optional
matchFields:
- # Key is the JSON path in the workload to match
# against. e.g. for workload:
# "workload.spec.source.git.url", e.g. for
# deliverable: "deliverable.spec.source.git.url"
key: <string>
# MessagePath is specified in jsonpath format. It is
# evaluated against the resource to provide a message
# in the owner's resource condition if it is the first
# matching requirement that determine the current
# ResourcesHealthy condition status.
# +optional
messagePath: <string>
# Operator represents a key's relationship to a set of
# values. Valid operators are In, NotIn, Exists and
# DoesNotExist.
operator: <[In|NotIn|Exists|DoesNotExist]>
# Values is an array of string values. If the operator
# is In or NotIn, the values array must be non-empty.
# If the operator is Exists or DoesNotExist, the
# values array must be empty.
# +optional
values: [ <string> ]
# Unhealthy is a HealthMatchRule which stipulates
# requirements, ANY of which, when met, indicate that the
# resource should be considered unhealthy.
unhealthy:
matchConditions:
- status: <string>
type: <string>
matchFields:
- key: <string>
messagePath: <string>
operator: <[In|NotIn|Exists|DoesNotExist]>
values: [ <string> ]
# SingleConditionType names a single condition which, when
# True indicates the resource is healthy. When False it is
# unhealthy. Otherwise, healthiness is Unknown.
# +optional
singleConditionType: <string>
# ImagePath is a path into the templated object's data that
# contains a valid image digest. This might be a URL or in some
# cases just a repository path and digest. The final spec for
# this field may change as we implement RFC-0016
# https://github.com/vmware-tanzu/cartographer/blob/main/rfc/rfc-0016-validate-template-outputs.md
# ImagePath is specified in jsonpath format, eg:
# .status.artifact.image_digest
imagePath: <string>
# Lifecycle specifies whether template modifications should
# result in originally created objects being updated (`mutable`)
# or in new objects created alongside original objects
# (`immutable` or `tekton`). See:
# https://cartographer.sh/docs/latest/lifecycle/
# +optional
lifecycle: <[mutable|immutable|tekton]>
# Additional parameters. See:
# https://cartographer.sh/docs/latest/architecture/#parameter-hierarchy
# +optional
params:
- # DefaultValue of the parameter. Causes the parameter to be
# optional; If the Owner or Template does not specify this
# parameter, this value is used.
default: <any>
# Name of a parameter the template accepts from the
# Blueprint or Owner.
name: <string>
# RetentionPolicy specifies how many successful and failed runs
# should be retained if the template lifecycle is
# immutable/tekton. Runs older than this (ordered by creation
# time) will be deleted. Setting higher values will increase
# memory footprint. If unspecified on immutable/tekton, default
# behavior will == {maxFailedRuns: 10, maxSuccessfulRuns: 10}
# +optional
retentionPolicy:
# MaxFailedRuns is the number of failed runs to retain.
maxFailedRuns: <integer>
# MaxSuccessfulRuns is the number of successful runs to
# retain.
maxSuccessfulRuns: <integer>
# Template defines a resource template for a Kubernetes Resource
# or Custom Resource which is applied to the server each time
# the blueprint is applied. Templates support simple value
# interpolation using the $()$ marker format. For more
# information, see:
# https://cartographer.sh/docs/latest/templating/ You cannot
# define both Template and Ytt at the same time. You should not
# define the namespace for the resource - it will automatically
# be created in the owner namespace. If the namespace is
# specified and is not the owner namespace, the resource will
# fail to be created.
# +optional
template: {}
# Ytt defines a resource template written in `ytt` for a
# Kubernetes Resource or Custom Resource which is applied to the
# server each time the blueprint is applied. Templates support
# simple value interpolation using the $()$ marker format. For
# more information, see:
# https://cartographer.sh/docs/latest/templating/ You cannot
# define both Template and Ytt at the same time. You should not
# define the namespace for the resource - it will automatically
# be created in the owner namespace. If the namespace is
# specified and is not the owner namespace, the resource will
# fail to be created.
# +optional
ytt: <string>
ref: pkg/apis/v1alpha1/cluster_image_template.go
ClusterConfigTemplate
Instructs the supply chain how to instantiate a Kubernetes object that knows how to make Kubernetes configurations available to further resources in the chain.
The ClusterConfigTemplate
requires definition of a configPath
. ClusterConfigTemplate
will update its status to
emit a config
value, which is a reflection of the value at the path on the created object. The supply chain may make
this value available to other resources.
---
apiVersion: carto.run/v1alpha1
kind: ClusterConfigTemplate
metadata: {}
spec:
# ConfigPath is a path into the templated object's data that
# contains valid yaml. This is typically the information that
# will configure the components of the deployable image.
# ConfigPath is specified in jsonpath format, eg: .data
configPath: <string>
# HealthRule specifies rubric for determining the health of a
# resource stamped by this template. See:
# https://cartographer.sh/docs/latest/health-rules/
# +optional
healthRule:
# AlwaysHealthy being set indicates the resource should always
# be considered healthy once it exists.
# +optional
alwaysHealthy: {}
# MultiMatch specifies explicitly which conditions and/or
# fields should be used to determine healthiness.
# +optional
multiMatch:
# Healthy is a HealthMatchRule which stipulates
# requirements, ALL of which must be met for the resource to
# be considered healthy.
healthy:
# MatchConditions are the conditions and statuses to read.
# +optional
matchConditions:
- # Status is the status of the condition
status: <string>
# Type is the type of the condition
type: <string>
# MatchFields stipulates a FieldSelectorRequirement for
# this rule.
# +optional
matchFields:
- # Key is the JSON path in the workload to match
# against. e.g. for workload:
# "workload.spec.source.git.url", e.g. for
# deliverable: "deliverable.spec.source.git.url"
key: <string>
# MessagePath is specified in jsonpath format. It is
# evaluated against the resource to provide a message
# in the owner's resource condition if it is the first
# matching requirement that determine the current
# ResourcesHealthy condition status.
# +optional
messagePath: <string>
# Operator represents a key's relationship to a set of
# values. Valid operators are In, NotIn, Exists and
# DoesNotExist.
operator: <[In|NotIn|Exists|DoesNotExist]>
# Values is an array of string values. If the operator
# is In or NotIn, the values array must be non-empty.
# If the operator is Exists or DoesNotExist, the
# values array must be empty.
# +optional
values: [ <string> ]
# Unhealthy is a HealthMatchRule which stipulates
# requirements, ANY of which, when met, indicate that the
# resource should be considered unhealthy.
unhealthy:
matchConditions:
- status: <string>
type: <string>
matchFields:
- key: <string>
messagePath: <string>
operator: <[In|NotIn|Exists|DoesNotExist]>
values: [ <string> ]
# SingleConditionType names a single condition which, when
# True indicates the resource is healthy. When False it is
# unhealthy. Otherwise, healthiness is Unknown.
# +optional
singleConditionType: <string>
# Lifecycle specifies whether template modifications should
# result in originally created objects being updated (`mutable`)
# or in new objects created alongside original objects
# (`immutable` or `tekton`). See:
# https://cartographer.sh/docs/latest/lifecycle/
# +optional
lifecycle: <[mutable|immutable|tekton]>
# Additional parameters. See:
# https://cartographer.sh/docs/latest/architecture/#parameter-hierarchy
# +optional
params:
- # DefaultValue of the parameter. Causes the parameter to be
# optional; If the Owner or Template does not specify this
# parameter, this value is used.
default: <any>
# Name of a parameter the template accepts from the
# Blueprint or Owner.
name: <string>
# RetentionPolicy specifies how many successful and failed runs
# should be retained if the template lifecycle is
# immutable/tekton. Runs older than this (ordered by creation
# time) will be deleted. Setting higher values will increase
# memory footprint. If unspecified on immutable/tekton, default
# behavior will == {maxFailedRuns: 10, maxSuccessfulRuns: 10}
# +optional
retentionPolicy:
# MaxFailedRuns is the number of failed runs to retain.
maxFailedRuns: <integer>
# MaxSuccessfulRuns is the number of successful runs to
# retain.
maxSuccessfulRuns: <integer>
# Template defines a resource template for a Kubernetes Resource
# or Custom Resource which is applied to the server each time
# the blueprint is applied. Templates support simple value
# interpolation using the $()$ marker format. For more
# information, see:
# https://cartographer.sh/docs/latest/templating/ You cannot
# define both Template and Ytt at the same time. You should not
# define the namespace for the resource - it will automatically
# be created in the owner namespace. If the namespace is
# specified and is not the owner namespace, the resource will
# fail to be created.
# +optional
template: {}
# Ytt defines a resource template written in `ytt` for a
# Kubernetes Resource or Custom Resource which is applied to the
# server each time the blueprint is applied. Templates support
# simple value interpolation using the $()$ marker format. For
# more information, see:
# https://cartographer.sh/docs/latest/templating/ You cannot
# define both Template and Ytt at the same time. You should not
# define the namespace for the resource - it will automatically
# be created in the owner namespace. If the namespace is
# specified and is not the owner namespace, the resource will
# fail to be created.
# +optional
ytt: <string>
ref: pkg/apis/v1alpha1/cluster_config_template.go
ClusterDeploymentTemplate
A ClusterDeploymentTemplate
indicates how the delivery should configure the environment (namespace/cluster).
The ClusterDeploymentTemplate
consumes configuration from the deployment
values provided by the ClusterDelivery
.
The ClusterDeploymentTemplate
outputs these same values. The ClusterDeploymentTemplate
is able to consume additional
configuration from the sources
provided by the ClusterDelivery
.
ClusterDeploymentTemplate
must specify criteria to determine whether the templated object has successfully completed
its role in configuring the environment. Once the criteria are met, the ClusterDeploymentTemplate
will output the
deployment
values. The criteria may be specified in spec.observedMatches
or in spec.observedCompletion
.
---
apiVersion: carto.run/v1alpha1
kind: ClusterDeploymentTemplate
metadata: {}
spec:
# HealthRule specifies rubric for determining the health of a
# resource stamped by this template. See:
# https://cartographer.sh/docs/latest/health-rules/
# +optional
healthRule:
# AlwaysHealthy being set indicates the resource should always
# be considered healthy once it exists.
# +optional
alwaysHealthy: {}
# MultiMatch specifies explicitly which conditions and/or
# fields should be used to determine healthiness.
# +optional
multiMatch:
# Healthy is a HealthMatchRule which stipulates
# requirements, ALL of which must be met for the resource to
# be considered healthy.
healthy:
# MatchConditions are the conditions and statuses to read.
# +optional
matchConditions:
- # Status is the status of the condition
status: <string>
# Type is the type of the condition
type: <string>
# MatchFields stipulates a FieldSelectorRequirement for
# this rule.
# +optional
matchFields:
- # Key is the JSON path in the workload to match
# against. e.g. for workload:
# "workload.spec.source.git.url", e.g. for
# deliverable: "deliverable.spec.source.git.url"
key: <string>
# MessagePath is specified in jsonpath format. It is
# evaluated against the resource to provide a message
# in the owner's resource condition if it is the first
# matching requirement that determine the current
# ResourcesHealthy condition status.
# +optional
messagePath: <string>
# Operator represents a key's relationship to a set of
# values. Valid operators are In, NotIn, Exists and
# DoesNotExist.
operator: <[In|NotIn|Exists|DoesNotExist]>
# Values is an array of string values. If the operator
# is In or NotIn, the values array must be non-empty.
# If the operator is Exists or DoesNotExist, the
# values array must be empty.
# +optional
values: [ <string> ]
# Unhealthy is a HealthMatchRule which stipulates
# requirements, ANY of which, when met, indicate that the
# resource should be considered unhealthy.
unhealthy:
matchConditions:
- status: <string>
type: <string>
matchFields:
- key: <string>
messagePath: <string>
operator: <[In|NotIn|Exists|DoesNotExist]>
values: [ <string> ]
# SingleConditionType names a single condition which, when
# True indicates the resource is healthy. When False it is
# unhealthy. Otherwise, healthiness is Unknown.
# +optional
singleConditionType: <string>
# Lifecycle specifies whether template modifications should
# result in originally created objects being updated (`mutable`)
# or in new objects created alongside original objects
# (`immutable` or `tekton`). See:
# https://cartographer.sh/docs/latest/lifecycle/
# +optional
lifecycle: <[mutable|immutable|tekton]>
# ObservedCompletion describe the criteria for determining that
# the templated object completed configuration of environment.
# These criteria assert completion when metadata.Generation and
# status.ObservedGeneration match, AND success or failure
# criteria match. Cannot specify both ObservedMatches and
# ObservedCompletion.
# +optional
observedCompletion:
# FailedCondition, when matched, indicates that the input did
# not deploy successfully.
# +optional
failed:
# Key is a jsonPath expression pointing to the field to
# inspect on the templated object, eg:
# 'status.conditions[?(@.type=="Succeeded")].status'
key: <string>
# Value is the expected value that, when matching the key's
# actual value, makes this condition true.
value: <string>
# SucceededCondition, when matched, indicates that the input
# was successfully deployed.
succeeded:
# Key is a jsonPath expression pointing to the field to
# inspect on the templated object, eg:
# 'status.conditions[?(@.type=="Succeeded")].status'
key: <string>
# Value is the expected value that, when matching the key's
# actual value, makes this condition true.
value: <string>
# ObservedMatches describe the criteria for determining that the
# templated object completed configuration of environment. These
# criteria assert completion when an output (usually a field in
# .status) matches an input (usually a field in .spec) Cannot
# specify both ObservedMatches and ObservedCompletion.
# +optional
observedMatches:
- # Input is a jsonPath to a value that is fulfilled before
# the templated object is reconciled. Usually a value in the
# .spec of the object
input: <string>
# Output is a jsonPath to a value that is fulfilled after
# the templated object is reconciled. Usually a value in the
# .status of the object
output: <string>
# Additional parameters. See:
# https://cartographer.sh/docs/latest/architecture/#parameter-hierarchy
# +optional
params:
- # DefaultValue of the parameter. Causes the parameter to be
# optional; If the Owner or Template does not specify this
# parameter, this value is used.
default: <any>
# Name of a parameter the template accepts from the
# Blueprint or Owner.
name: <string>
# RetentionPolicy specifies how many successful and failed runs
# should be retained if the template lifecycle is
# immutable/tekton. Runs older than this (ordered by creation
# time) will be deleted. Setting higher values will increase
# memory footprint. If unspecified on immutable/tekton, default
# behavior will == {maxFailedRuns: 10, maxSuccessfulRuns: 10}
# +optional
retentionPolicy:
# MaxFailedRuns is the number of failed runs to retain.
maxFailedRuns: <integer>
# MaxSuccessfulRuns is the number of successful runs to
# retain.
maxSuccessfulRuns: <integer>
# Template defines a resource template for a Kubernetes Resource
# or Custom Resource which is applied to the server each time
# the blueprint is applied. Templates support simple value
# interpolation using the $()$ marker format. For more
# information, see:
# https://cartographer.sh/docs/latest/templating/ You cannot
# define both Template and Ytt at the same time. You should not
# define the namespace for the resource - it will automatically
# be created in the owner namespace. If the namespace is
# specified and is not the owner namespace, the resource will
# fail to be created.
# +optional
template: {}
# Ytt defines a resource template written in `ytt` for a
# Kubernetes Resource or Custom Resource which is applied to the
# server each time the blueprint is applied. Templates support
# simple value interpolation using the $()$ marker format. For
# more information, see:
# https://cartographer.sh/docs/latest/templating/ You cannot
# define both Template and Ytt at the same time. You should not
# define the namespace for the resource - it will automatically
# be created in the owner namespace. If the namespace is
# specified and is not the owner namespace, the resource will
# fail to be created.
# +optional
ytt: <string>
ref: pkg/apis/v1alpha1/cluster_deployment_template.go
ClusterTemplate
A ClusterTemplate
instructs the supply chain to instantiate a Kubernetes object that has no outputs to be supplied to
other objects in the chain, for instance, a resource that deploys a container image that has been built by other
ancestor resources.
The ClusterTemplate
does not emit values to the supply chain.
---
apiVersion: carto.run/v1alpha1
kind: ClusterTemplate
metadata: {}
spec:
# HealthRule specifies rubric for determining the health of a
# resource stamped by this template. See:
# https://cartographer.sh/docs/latest/health-rules/
# +optional
healthRule:
# AlwaysHealthy being set indicates the resource should always
# be considered healthy once it exists.
# +optional
alwaysHealthy: {}
# MultiMatch specifies explicitly which conditions and/or
# fields should be used to determine healthiness.
# +optional
multiMatch:
# Healthy is a HealthMatchRule which stipulates
# requirements, ALL of which must be met for the resource to
# be considered healthy.
healthy:
# MatchConditions are the conditions and statuses to read.
# +optional
matchConditions:
- # Status is the status of the condition
status: <string>
# Type is the type of the condition
type: <string>
# MatchFields stipulates a FieldSelectorRequirement for
# this rule.
# +optional
matchFields:
- # Key is the JSON path in the workload to match
# against. e.g. for workload:
# "workload.spec.source.git.url", e.g. for
# deliverable: "deliverable.spec.source.git.url"
key: <string>
# MessagePath is specified in jsonpath format. It is
# evaluated against the resource to provide a message
# in the owner's resource condition if it is the first
# matching requirement that determine the current
# ResourcesHealthy condition status.
# +optional
messagePath: <string>
# Operator represents a key's relationship to a set of
# values. Valid operators are In, NotIn, Exists and
# DoesNotExist.
operator: <[In|NotIn|Exists|DoesNotExist]>
# Values is an array of string values. If the operator
# is In or NotIn, the values array must be non-empty.
# If the operator is Exists or DoesNotExist, the
# values array must be empty.
# +optional
values: [ <string> ]
# Unhealthy is a HealthMatchRule which stipulates
# requirements, ANY of which, when met, indicate that the
# resource should be considered unhealthy.
unhealthy:
matchConditions:
- status: <string>
type: <string>
matchFields:
- key: <string>
messagePath: <string>
operator: <[In|NotIn|Exists|DoesNotExist]>
values: [ <string> ]
# SingleConditionType names a single condition which, when
# True indicates the resource is healthy. When False it is
# unhealthy. Otherwise, healthiness is Unknown.
# +optional
singleConditionType: <string>
# Lifecycle specifies whether template modifications should
# result in originally created objects being updated (`mutable`)
# or in new objects created alongside original objects
# (`immutable` or `tekton`). See:
# https://cartographer.sh/docs/latest/lifecycle/
# +optional
lifecycle: <[mutable|immutable|tekton]>
# Additional parameters. See:
# https://cartographer.sh/docs/latest/architecture/#parameter-hierarchy
# +optional
params:
- # DefaultValue of the parameter. Causes the parameter to be
# optional; If the Owner or Template does not specify this
# parameter, this value is used.
default: <any>
# Name of a parameter the template accepts from the
# Blueprint or Owner.
name: <string>
# RetentionPolicy specifies how many successful and failed runs
# should be retained if the template lifecycle is
# immutable/tekton. Runs older than this (ordered by creation
# time) will be deleted. Setting higher values will increase
# memory footprint. If unspecified on immutable/tekton, default
# behavior will == {maxFailedRuns: 10, maxSuccessfulRuns: 10}
# +optional
retentionPolicy:
# MaxFailedRuns is the number of failed runs to retain.
maxFailedRuns: <integer>
# MaxSuccessfulRuns is the number of successful runs to
# retain.
maxSuccessfulRuns: <integer>
# Template defines a resource template for a Kubernetes Resource
# or Custom Resource which is applied to the server each time
# the blueprint is applied. Templates support simple value
# interpolation using the $()$ marker format. For more
# information, see:
# https://cartographer.sh/docs/latest/templating/ You cannot
# define both Template and Ytt at the same time. You should not
# define the namespace for the resource - it will automatically
# be created in the owner namespace. If the namespace is
# specified and is not the owner namespace, the resource will
# fail to be created.
# +optional
template: {}
# Ytt defines a resource template written in `ytt` for a
# Kubernetes Resource or Custom Resource which is applied to the
# server each time the blueprint is applied. Templates support
# simple value interpolation using the $()$ marker format. For
# more information, see:
# https://cartographer.sh/docs/latest/templating/ You cannot
# define both Template and Ytt at the same time. You should not
# define the namespace for the resource - it will automatically
# be created in the owner namespace. If the namespace is
# specified and is not the owner namespace, the resource will
# fail to be created.
# +optional
ytt: <string>