apiextensions.crossplane.io / v1beta1 / CompositionRevision
- string
.apiVersion
APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
- string
.kind
Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- object
.metadata
- object
.spec
CompositionRevisionSpec specifies the desired state of the composition revision.
- object required
.spec .compositeTypeRef
CompositeTypeRef specifies the type of composite resource that this composition is compatible with.
- string required
.spec .compositeTypeRef .apiVersion
APIVersion of the type.
- string required
.spec .compositeTypeRef .kind
Kind of the type.
- string
.spec .mode
Mode controls what type or “mode” of Composition will be used.
“Pipeline” indicates that a Composition specifies a pipeline of Composition Functions, each of which is responsible for producing composed resources that Crossplane should create or update.
“Resources” indicates that a Composition uses what is commonly referred to as “Patch & Transform” or P&T composition. This mode of Composition uses an array of resources, each a template for a composed resource.
All Compositions should use Pipeline mode. Resources mode is deprecated. Resources mode won’t be removed in Crossplane 1.x, and will remain the default to avoid breaking legacy Compositions. However, it’s no longer accepting new features, and only accepting security related bug fixes.
- array
.spec .patchSets
PatchSets define a named set of patches that may be included by any resource in this Composition. PatchSets cannot themselves refer to other PatchSets.
PatchSets are only used by the “Resources” mode of Composition. They are ignored by other modes.
Deprecated: Use Composition Functions instead.
- string required
.spec .patchSets[] .name
Name of this PatchSet.
- array required
.spec .patchSets[] .patches
Patches will be applied as an overlay to the base resource.
- object
.spec .patchSets[] .patches[] .combine
Combine is the patch configuration for a CombineFromComposite or CombineToComposite patch.
- string required
.spec .patchSets[] .patches[] .combine .strategy
Strategy defines the strategy to use to combine the input variable values. Currently only string is supported.
- object
.spec .patchSets[] .patches[] .combine .string
String declares that input variables should be combined into a single string, using the relevant settings for formatting purposes.
- string required
.spec .patchSets[] .patches[] .combine .string .fmt
Format the input using a Go format string. See https://golang.org/pkg/fmt/ for details.
- array required
.spec .patchSets[] .patches[] .combine .variables
Variables are the list of variables whose values will be retrieved and combined.
- string required
.spec .patchSets[] .patches[] .combine .variables[] .fromFieldPath
FromFieldPath is the path of the field on the source whose value is to be used as input.
- string
.spec .patchSets[] .patches[] .fromFieldPath
FromFieldPath is the path of the field on the resource whose value is to be used as input. Required when type is FromCompositeFieldPath or ToCompositeFieldPath.
- string
.spec .patchSets[] .patches[] .patchSetName
PatchSetName to include patches from. Required when type is PatchSet.
- object
.spec .patchSets[] .patches[] .policy
Policy configures the specifics of patching behaviour.
- string
.spec .patchSets[] .patches[] .policy .fromFieldPath
FromFieldPath specifies how to patch from a field path. The default is ‘Optional’, which means the patch will be a no-op if the specified fromFieldPath does not exist. Use ‘Required’ if the patch should fail if the specified path does not exist.
- object
.spec .patchSets[] .patches[] .policy .mergeOptions
MergeOptions Specifies merge options on a field path.
- boolean
.spec .patchSets[] .patches[] .policy .mergeOptions .appendSlice
Specifies that already existing elements in a merged slice should be preserved
- boolean
.spec .patchSets[] .patches[] .policy .mergeOptions .keepMapValues
Specifies that already existing values in a merged map should be preserved
- string
.spec .patchSets[] .patches[] .toFieldPath
ToFieldPath is the path of the field on the resource whose value will be changed with the result of transforms. Leave empty if you’d like to propagate to the same path as fromFieldPath.
- array
.spec .patchSets[] .patches[] .transforms
Transforms are the list of functions that are used as a FIFO pipe for the input to be transformed.
- object
.spec .patchSets[] .patches[] .transforms[] .convert
Convert is used to cast the input into the given output type.
- string
.spec .patchSets[] .patches[] .transforms[] .convert .format
The expected input format.
quantity
- parses the input as a K8sresource.Quantity
. Only used duringstring -> float64
conversions.json
- parses the input as a JSON string. Only used duringstring -> object
orstring -> list
conversions.
If this property is null, the default conversion is applied.
- string required
.spec .patchSets[] .patches[] .transforms[] .convert .toType
ToType is the type of the output of this transform.
- object
.spec .patchSets[] .patches[] .transforms[] .map
Map uses the input as a key in the given map and returns the value.
- object
.spec .patchSets[] .patches[] .transforms[] .match
Match is a more complex version of Map that matches a list of patterns.
- string
.spec .patchSets[] .patches[] .transforms[] .match .fallbackTo
Determines to what value the transform should fallback if no pattern matches.
- undefined
.spec .patchSets[] .patches[] .transforms[] .match .fallbackValue
The fallback value that should be returned by the transform if now pattern matches.
- array
.spec .patchSets[] .patches[] .transforms[] .match .patterns
The patterns that should be tested against the input string. Patterns are tested in order. The value of the first match is used as result of this transform.
- string
.spec .patchSets[] .patches[] .transforms[] .match .patterns[] .literal
Literal exactly matches the input string (case sensitive). Is required if
type
isliteral
. - string
.spec .patchSets[] .patches[] .transforms[] .match .patterns[] .regexp
Regexp to match against the input string. Is required if
type
isregexp
. - undefined required
.spec .patchSets[] .patches[] .transforms[] .match .patterns[] .result
The value that is used as result of the transform if the pattern matches.
- string required
.spec .patchSets[] .patches[] .transforms[] .match .patterns[] .type
Type specifies how the pattern matches the input.
literal
- the pattern value has to exactly match (case sensitive) the input string. This is the default.regexp
- the pattern treated as a regular expression against which the input string is tested. Crossplane will throw an error if the key is not a valid regexp.
- object
.spec .patchSets[] .patches[] .transforms[] .math
Math is used to transform the input via mathematical operations such as multiplication.
- integer
.spec .patchSets[] .patches[] .transforms[] .math .clampMax
ClampMax makes sure that the value is not bigger than the given value.
- integer
.spec .patchSets[] .patches[] .transforms[] .math .clampMin
ClampMin makes sure that the value is not smaller than the given value.
- integer
.spec .patchSets[] .patches[] .transforms[] .math .multiply
Multiply the value.
- string
.spec .patchSets[] .patches[] .transforms[] .math .type
Type of the math transform to be run.
- object
.spec .patchSets[] .patches[] .transforms[] .string
String is used to transform the input into a string or a different kind of string. Note that the input does not necessarily need to be a string.
- string
.spec .patchSets[] .patches[] .transforms[] .string .convert
Optional conversion method to be specified.
ToUpper
andToLower
change the letter case of the input string.ToBase64
andFromBase64
perform a base64 conversion based on the input string.ToJson
converts any input value into its raw JSON representation.ToSha1
,ToSha256
andToSha512
generate a hash value based on the input converted to JSON.ToAdler32
generate a addler32 hash based on the input string. - string
.spec .patchSets[] .patches[] .transforms[] .string .fmt
Format the input using a Go format string. See https://golang.org/pkg/fmt/ for details.
- object
.spec .patchSets[] .patches[] .transforms[] .string .join
Join defines parameters to join a slice of values to a string.
- string required
.spec .patchSets[] .patches[] .transforms[] .string .join .separator
Separator defines the character that should separate the values from each other in the joined string.
- object
.spec .patchSets[] .patches[] .transforms[] .string .regexp
Extract a match from the input using a regular expression.
- integer
.spec .patchSets[] .patches[] .transforms[] .string .regexp .group
Group number to match. 0 (the default) matches the entire expression.
- string required
.spec .patchSets[] .patches[] .transforms[] .string .regexp .match
Match string. May optionally include submatches, aka capture groups. See https://pkg.go.dev/regexp/ for details.
- string
.spec .patchSets[] .patches[] .transforms[] .string .trim
Trim the prefix or suffix from the input
- string
.spec .patchSets[] .patches[] .transforms[] .string .type
Type of the string transform to be run.
- string required
.spec .patchSets[] .patches[] .transforms[] .type
Type of the transform to be run.
- string
.spec .patchSets[] .patches[] .type
Type sets the patching behaviour to be used. Each patch type may require its own fields to be set on the Patch object.
- array
.spec .pipeline
Pipeline is a list of composition function steps that will be used when a composite resource referring to this composition is created. One of resources and pipeline must be specified - you cannot specify both.
The Pipeline is only used by the “Pipeline” mode of Composition. It is ignored by other modes.
- array
.spec .pipeline[] .credentials
Credentials are optional credentials that the Composition Function needs.
- string required
.spec .pipeline[] .credentials[] .name
Name of this set of credentials.
- object
.spec .pipeline[] .credentials[] .secretRef
A SecretRef is a reference to a secret containing credentials that should be supplied to the function.
- string required
.spec .pipeline[] .credentials[] .secretRef .name
Name of the secret.
- string required
.spec .pipeline[] .credentials[] .secretRef .namespace
Namespace of the secret.
- string required
.spec .pipeline[] .credentials[] .source
Source of the function credentials.
- object required
.spec .pipeline[] .functionRef
FunctionRef is a reference to the Composition Function this step should execute.
- string required
.spec .pipeline[] .functionRef .name
Name of the referenced Function.
- object
.spec .pipeline[] .input
Input is an optional, arbitrary Kubernetes resource (i.e. a resource with an apiVersion and kind) that will be passed to the Composition Function as the ‘input’ of its RunFunctionRequest.
- string required
.spec .pipeline[] .step
Step name. Must be unique within its Pipeline.
- object
.spec .publishConnectionDetailsWithStoreConfigRef
PublishConnectionDetailsWithStoreConfig specifies the secret store config with which the connection details of composite resources dynamically provisioned using this composition will be published.
THIS IS AN ALPHA FIELD. Do not use it in production. It is not honored unless the relevant Crossplane feature flag is enabled, and may be changed or removed without notice.
- string required
.spec .publishConnectionDetailsWithStoreConfigRef .name
Name of the referenced StoreConfig.
- array
.spec .resources
Resources is a list of resource templates that will be used when a composite resource referring to this composition is created.
Resources are only used by the “Resources” mode of Composition. They are ignored by other modes.
Deprecated: Use Composition Functions instead.
- object required
.spec .resources[] .base
Base is the target resource that the patches will be applied on.
- array
.spec .resources[] .connectionDetails
ConnectionDetails lists the propagation secret keys from this target resource to the composition instance connection secret.
- string
.spec .resources[] .connectionDetails[] .fromConnectionSecretKey
FromConnectionSecretKey is the key that will be used to fetch the value from the composed resource’s connection secret.
- string
.spec .resources[] .connectionDetails[] .fromFieldPath
FromFieldPath is the path of the field on the composed resource whose value to be used as input. Name must be specified if the type is FromFieldPath.
- string
.spec .resources[] .connectionDetails[] .name
Name of the connection secret key that will be propagated to the connection secret of the composition instance. Leave empty if you’d like to use the same key name.
- string
.spec .resources[] .connectionDetails[] .type
Type sets the connection detail fetching behaviour to be used. Each connection detail type may require its own fields to be set on the ConnectionDetail object. If the type is omitted Crossplane will attempt to infer it based on which other fields were specified. If multiple fields are specified the order of precedence is:
- FromValue
- FromConnectionSecretKey
- FromFieldPath
- string
.spec .resources[] .connectionDetails[] .value
Value that will be propagated to the connection secret of the composite resource. May be set to inject a fixed, non-sensitive connection secret value, for example a well-known port.
- string
.spec .resources[] .name
A Name uniquely identifies this entry within its Composition’s resources array. Names are optional but strongly recommended. When all entries in the resources array are named entries may added, deleted, and reordered as long as their names do not change. When entries are not named the length and order of the resources array should be treated as immutable. Either all or no entries must be named.
- array
.spec .resources[] .patches
Patches will be applied as overlay to the base resource.
- object
.spec .resources[] .patches[] .combine
Combine is the patch configuration for a CombineFromComposite or CombineToComposite patch.
- string required
.spec .resources[] .patches[] .combine .strategy
Strategy defines the strategy to use to combine the input variable values. Currently only string is supported.
- object
.spec .resources[] .patches[] .combine .string
String declares that input variables should be combined into a single string, using the relevant settings for formatting purposes.
- string required
.spec .resources[] .patches[] .combine .string .fmt
Format the input using a Go format string. See https://golang.org/pkg/fmt/ for details.
- array required
.spec .resources[] .patches[] .combine .variables
Variables are the list of variables whose values will be retrieved and combined.
- string required
.spec .resources[] .patches[] .combine .variables[] .fromFieldPath
FromFieldPath is the path of the field on the source whose value is to be used as input.
- string
.spec .resources[] .patches[] .fromFieldPath
FromFieldPath is the path of the field on the resource whose value is to be used as input. Required when type is FromCompositeFieldPath or ToCompositeFieldPath.
- string
.spec .resources[] .patches[] .patchSetName
PatchSetName to include patches from. Required when type is PatchSet.
- object
.spec .resources[] .patches[] .policy
Policy configures the specifics of patching behaviour.
- string
.spec .resources[] .patches[] .policy .fromFieldPath
FromFieldPath specifies how to patch from a field path. The default is ‘Optional’, which means the patch will be a no-op if the specified fromFieldPath does not exist. Use ‘Required’ if the patch should fail if the specified path does not exist.
- object
.spec .resources[] .patches[] .policy .mergeOptions
MergeOptions Specifies merge options on a field path.
- boolean
.spec .resources[] .patches[] .policy .mergeOptions .appendSlice
Specifies that already existing elements in a merged slice should be preserved
- boolean
.spec .resources[] .patches[] .policy .mergeOptions .keepMapValues
Specifies that already existing values in a merged map should be preserved
- string
.spec .resources[] .patches[] .toFieldPath
ToFieldPath is the path of the field on the resource whose value will be changed with the result of transforms. Leave empty if you’d like to propagate to the same path as fromFieldPath.
- array
.spec .resources[] .patches[] .transforms
Transforms are the list of functions that are used as a FIFO pipe for the input to be transformed.
- object
.spec .resources[] .patches[] .transforms[] .convert
Convert is used to cast the input into the given output type.
- string
.spec .resources[] .patches[] .transforms[] .convert .format
The expected input format.
quantity
- parses the input as a K8sresource.Quantity
. Only used duringstring -> float64
conversions.json
- parses the input as a JSON string. Only used duringstring -> object
orstring -> list
conversions.
If this property is null, the default conversion is applied.
- string required
.spec .resources[] .patches[] .transforms[] .convert .toType
ToType is the type of the output of this transform.
- object
.spec .resources[] .patches[] .transforms[] .map
Map uses the input as a key in the given map and returns the value.
- object
.spec .resources[] .patches[] .transforms[] .match
Match is a more complex version of Map that matches a list of patterns.
- string
.spec .resources[] .patches[] .transforms[] .match .fallbackTo
Determines to what value the transform should fallback if no pattern matches.
- undefined
.spec .resources[] .patches[] .transforms[] .match .fallbackValue
The fallback value that should be returned by the transform if now pattern matches.
- array
.spec .resources[] .patches[] .transforms[] .match .patterns
The patterns that should be tested against the input string. Patterns are tested in order. The value of the first match is used as result of this transform.
- string
.spec .resources[] .patches[] .transforms[] .match .patterns[] .literal
Literal exactly matches the input string (case sensitive). Is required if
type
isliteral
. - string
.spec .resources[] .patches[] .transforms[] .match .patterns[] .regexp
Regexp to match against the input string. Is required if
type
isregexp
. - undefined required
.spec .resources[] .patches[] .transforms[] .match .patterns[] .result
The value that is used as result of the transform if the pattern matches.
- string required
.spec .resources[] .patches[] .transforms[] .match .patterns[] .type
Type specifies how the pattern matches the input.
literal
- the pattern value has to exactly match (case sensitive) the input string. This is the default.regexp
- the pattern treated as a regular expression against which the input string is tested. Crossplane will throw an error if the key is not a valid regexp.
- object
.spec .resources[] .patches[] .transforms[] .math
Math is used to transform the input via mathematical operations such as multiplication.
- integer
.spec .resources[] .patches[] .transforms[] .math .clampMax
ClampMax makes sure that the value is not bigger than the given value.
- integer
.spec .resources[] .patches[] .transforms[] .math .clampMin
ClampMin makes sure that the value is not smaller than the given value.
- integer
.spec .resources[] .patches[] .transforms[] .math .multiply
Multiply the value.
- string
.spec .resources[] .patches[] .transforms[] .math .type
Type of the math transform to be run.
- object
.spec .resources[] .patches[] .transforms[] .string
String is used to transform the input into a string or a different kind of string. Note that the input does not necessarily need to be a string.
- string
.spec .resources[] .patches[] .transforms[] .string .convert
Optional conversion method to be specified.
ToUpper
andToLower
change the letter case of the input string.ToBase64
andFromBase64
perform a base64 conversion based on the input string.ToJson
converts any input value into its raw JSON representation.ToSha1
,ToSha256
andToSha512
generate a hash value based on the input converted to JSON.ToAdler32
generate a addler32 hash based on the input string. - string
.spec .resources[] .patches[] .transforms[] .string .fmt
Format the input using a Go format string. See https://golang.org/pkg/fmt/ for details.
- object
.spec .resources[] .patches[] .transforms[] .string .join
Join defines parameters to join a slice of values to a string.
- string required
.spec .resources[] .patches[] .transforms[] .string .join .separator
Separator defines the character that should separate the values from each other in the joined string.
- object
.spec .resources[] .patches[] .transforms[] .string .regexp
Extract a match from the input using a regular expression.
- integer
.spec .resources[] .patches[] .transforms[] .string .regexp .group
Group number to match. 0 (the default) matches the entire expression.
- string required
.spec .resources[] .patches[] .transforms[] .string .regexp .match
Match string. May optionally include submatches, aka capture groups. See https://pkg.go.dev/regexp/ for details.
- string
.spec .resources[] .patches[] .transforms[] .string .trim
Trim the prefix or suffix from the input
- string
.spec .resources[] .patches[] .transforms[] .string .type
Type of the string transform to be run.
- string required
.spec .resources[] .patches[] .transforms[] .type
Type of the transform to be run.
- string
.spec .resources[] .patches[] .type
Type sets the patching behaviour to be used. Each patch type may require its own fields to be set on the Patch object.
- array
.spec .resources[] .readinessChecks
ReadinessChecks allows users to define custom readiness checks. All checks have to return true in order for resource to be considered ready. The default readiness check is to have the “Ready” condition to be “True”.
- string
.spec .resources[] .readinessChecks[] .fieldPath
FieldPath shows the path of the field whose value will be used.
- object
.spec .resources[] .readinessChecks[] .matchCondition
MatchCondition specifies the condition you’d like to match if you’re using “MatchCondition” type.
- string required
.spec .resources[] .readinessChecks[] .matchCondition .status
Status is the status of the condition you’d like to match.
- string required
.spec .resources[] .readinessChecks[] .matchCondition .type
Type indicates the type of condition you’d like to use.
- integer
.spec .resources[] .readinessChecks[] .matchInteger
MatchInt is the value you’d like to match if you’re using “MatchInt” type.
- string
.spec .resources[] .readinessChecks[] .matchString
MatchString is the value you’d like to match if you’re using “MatchString” type.
- string required
.spec .resources[] .readinessChecks[] .type
Type indicates the type of probe you’d like to use.
- integer required
.spec .revision
Revision number. Newer revisions have larger numbers.
This number can change. When a Composition transitions from state A -> B -> A there will be only two CompositionRevisions. Crossplane will edit the original CompositionRevision to change its revision number from 0 to 2.
- string
.spec .writeConnectionSecretsToNamespace
WriteConnectionSecretsToNamespace specifies the namespace in which the connection secrets of composite resource dynamically provisioned using this composition will be created. This field is planned to be replaced in a future release in favor of PublishConnectionDetailsWithStoreConfigRef. Currently, both could be set independently and connection details would be published to both without affecting each other as long as related fields at MR level specified.
- object
.status
CompositionRevisionStatus shows the observed state of the composition revision.
- array
.status .conditions
Conditions of the resource.
- string required
.status .conditions[] .lastTransitionTime
LastTransitionTime is the last time this condition transitioned from one status to another.
- string
.status .conditions[] .message
A Message containing details about this condition’s last transition from one status to another, if any.
- integer
.status .conditions[] .observedGeneration
ObservedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.
- string required
.status .conditions[] .reason
A Reason for this condition’s last transition from one status to another.
- string required
.status .conditions[] .status
Status of this condition; is it currently True, False, or Unknown?
- string required
.status .conditions[] .type
Type of this condition. At most one of each condition type may apply to a resource at any point in time.