mirror of https://github.com/crossplane/docs.git
2269 lines
122 KiB
YAML
2269 lines
122 KiB
YAML
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.16.5
|
|
name: compositionrevisions.apiextensions.crossplane.io
|
|
spec:
|
|
group: apiextensions.crossplane.io
|
|
names:
|
|
categories:
|
|
- crossplane
|
|
kind: CompositionRevision
|
|
listKind: CompositionRevisionList
|
|
plural: compositionrevisions
|
|
shortNames:
|
|
- comprev
|
|
singular: compositionrevision
|
|
scope: Cluster
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .spec.revision
|
|
name: REVISION
|
|
type: string
|
|
- jsonPath: .spec.compositeTypeRef.kind
|
|
name: XR-KIND
|
|
type: string
|
|
- jsonPath: .spec.compositeTypeRef.apiVersion
|
|
name: XR-APIVERSION
|
|
type: string
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: AGE
|
|
type: date
|
|
name: v1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: |-
|
|
A CompositionRevision represents a revision of a Composition. Crossplane
|
|
creates new revisions when there are changes to the Composition.
|
|
|
|
Crossplane creates and manages CompositionRevisions. Don't directly edit
|
|
CompositionRevisions.
|
|
properties:
|
|
apiVersion:
|
|
description: |-
|
|
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
|
|
type: string
|
|
kind:
|
|
description: |-
|
|
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
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: |-
|
|
CompositionRevisionSpec specifies the desired state of the composition
|
|
revision.
|
|
properties:
|
|
compositeTypeRef:
|
|
description: |-
|
|
CompositeTypeRef specifies the type of composite resource that this
|
|
composition is compatible with.
|
|
properties:
|
|
apiVersion:
|
|
description: APIVersion of the type.
|
|
type: string
|
|
kind:
|
|
description: Kind of the type.
|
|
type: string
|
|
required:
|
|
- apiVersion
|
|
- kind
|
|
type: object
|
|
x-kubernetes-validations:
|
|
- message: Value is immutable
|
|
rule: self == oldSelf
|
|
mode:
|
|
default: Resources
|
|
description: |-
|
|
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.
|
|
enum:
|
|
- Resources
|
|
- Pipeline
|
|
type: string
|
|
patchSets:
|
|
description: |-
|
|
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.
|
|
items:
|
|
description: |-
|
|
A PatchSet is a set of patches that can be reused from all resources within
|
|
a Composition.
|
|
properties:
|
|
name:
|
|
description: Name of this PatchSet.
|
|
type: string
|
|
patches:
|
|
description: Patches will be applied as an overlay to the base
|
|
resource.
|
|
items:
|
|
description: |-
|
|
Patch objects are applied between composite and composed resources. Their
|
|
behaviour depends on the Type selected. The default Type,
|
|
FromCompositeFieldPath, copies a value from the composite resource to
|
|
the composed resource, applying any defined transformers.
|
|
properties:
|
|
combine:
|
|
description: |-
|
|
Combine is the patch configuration for a CombineFromComposite or
|
|
CombineToComposite patch.
|
|
properties:
|
|
strategy:
|
|
description: |-
|
|
Strategy defines the strategy to use to combine the input variable values.
|
|
Currently only string is supported.
|
|
enum:
|
|
- string
|
|
type: string
|
|
string:
|
|
description: |-
|
|
String declares that input variables should be combined into a single
|
|
string, using the relevant settings for formatting purposes.
|
|
properties:
|
|
fmt:
|
|
description: |-
|
|
Format the input using a Go format string. See
|
|
https://golang.org/pkg/fmt/ for details.
|
|
type: string
|
|
required:
|
|
- fmt
|
|
type: object
|
|
variables:
|
|
description: |-
|
|
Variables are the list of variables whose values will be retrieved and
|
|
combined.
|
|
items:
|
|
description: |-
|
|
A CombineVariable defines the source of a value that is combined with
|
|
others to form and patch an output value. Currently, this only supports
|
|
retrieving values from a field path.
|
|
properties:
|
|
fromFieldPath:
|
|
description: |-
|
|
FromFieldPath is the path of the field on the source whose value is
|
|
to be used as input.
|
|
type: string
|
|
required:
|
|
- fromFieldPath
|
|
type: object
|
|
minItems: 1
|
|
type: array
|
|
required:
|
|
- strategy
|
|
- variables
|
|
type: object
|
|
fromFieldPath:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
patchSetName:
|
|
description: PatchSetName to include patches from. Required
|
|
when type is PatchSet.
|
|
type: string
|
|
policy:
|
|
description: Policy configures the specifics of patching
|
|
behaviour.
|
|
properties:
|
|
fromFieldPath:
|
|
description: |-
|
|
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.
|
|
enum:
|
|
- Optional
|
|
- Required
|
|
type: string
|
|
mergeOptions:
|
|
description: MergeOptions Specifies merge options
|
|
on a field path.
|
|
properties:
|
|
appendSlice:
|
|
description: Specifies that already existing elements
|
|
in a merged slice should be preserved
|
|
type: boolean
|
|
keepMapValues:
|
|
description: Specifies that already existing values
|
|
in a merged map should be preserved
|
|
type: boolean
|
|
type: object
|
|
type: object
|
|
toFieldPath:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
transforms:
|
|
description: |-
|
|
Transforms are the list of functions that are used as a FIFO pipe for the
|
|
input to be transformed.
|
|
items:
|
|
description: |-
|
|
Transform is a unit of process whose input is transformed into an output with
|
|
the supplied configuration.
|
|
properties:
|
|
convert:
|
|
description: Convert is used to cast the input into
|
|
the given output type.
|
|
properties:
|
|
format:
|
|
description: |-
|
|
The expected input format.
|
|
|
|
* `quantity` - parses the input as a K8s [`resource.Quantity`](https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Quantity).
|
|
Only used during `string -> float64` conversions.
|
|
* `json` - parses the input as a JSON string.
|
|
Only used during `string -> object` or `string -> list` conversions.
|
|
|
|
If this property is null, the default conversion is applied.
|
|
enum:
|
|
- none
|
|
- quantity
|
|
- json
|
|
type: string
|
|
toType:
|
|
description: ToType is the type of the output
|
|
of this transform.
|
|
enum:
|
|
- string
|
|
- int
|
|
- int64
|
|
- bool
|
|
- float64
|
|
- object
|
|
- array
|
|
type: string
|
|
required:
|
|
- toType
|
|
type: object
|
|
map:
|
|
additionalProperties:
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
description: Map uses the input as a key in the
|
|
given map and returns the value.
|
|
type: object
|
|
match:
|
|
description: Match is a more complex version of
|
|
Map that matches a list of patterns.
|
|
properties:
|
|
fallbackTo:
|
|
default: Value
|
|
description: Determines to what value the transform
|
|
should fallback if no pattern matches.
|
|
enum:
|
|
- Value
|
|
- Input
|
|
type: string
|
|
fallbackValue:
|
|
description: |-
|
|
The fallback value that should be returned by the transform if now pattern
|
|
matches.
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
patterns:
|
|
description: |-
|
|
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.
|
|
items:
|
|
description: |-
|
|
MatchTransformPattern is a transform that returns the value that matches a
|
|
pattern.
|
|
properties:
|
|
literal:
|
|
description: |-
|
|
Literal exactly matches the input string (case sensitive).
|
|
Is required if `type` is `literal`.
|
|
type: string
|
|
regexp:
|
|
description: |-
|
|
Regexp to match against the input string.
|
|
Is required if `type` is `regexp`.
|
|
type: string
|
|
result:
|
|
description: The value that is used as
|
|
result of the transform if the pattern
|
|
matches.
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
type:
|
|
default: literal
|
|
description: |-
|
|
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.
|
|
enum:
|
|
- literal
|
|
- regexp
|
|
type: string
|
|
required:
|
|
- result
|
|
- type
|
|
type: object
|
|
type: array
|
|
type: object
|
|
math:
|
|
description: |-
|
|
Math is used to transform the input via mathematical operations such as
|
|
multiplication.
|
|
properties:
|
|
clampMax:
|
|
description: ClampMax makes sure that the value
|
|
is not bigger than the given value.
|
|
format: int64
|
|
type: integer
|
|
clampMin:
|
|
description: ClampMin makes sure that the value
|
|
is not smaller than the given value.
|
|
format: int64
|
|
type: integer
|
|
multiply:
|
|
description: Multiply the value.
|
|
format: int64
|
|
type: integer
|
|
type:
|
|
default: Multiply
|
|
description: Type of the math transform to be
|
|
run.
|
|
enum:
|
|
- Multiply
|
|
- ClampMin
|
|
- ClampMax
|
|
type: string
|
|
type: object
|
|
string:
|
|
description: |-
|
|
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.
|
|
properties:
|
|
convert:
|
|
description: |-
|
|
Optional conversion method to be specified.
|
|
`ToUpper` and `ToLower` change the letter case of the input string.
|
|
`ToBase64` and `FromBase64` perform a base64 conversion based on the input string.
|
|
`ToJson` converts any input value into its raw JSON representation.
|
|
`ToSha1`, `ToSha256` and `ToSha512` generate a hash value based on the input
|
|
converted to JSON.
|
|
`ToAdler32` generate a addler32 hash based on the input string.
|
|
enum:
|
|
- ToUpper
|
|
- ToLower
|
|
- ToBase64
|
|
- FromBase64
|
|
- ToJson
|
|
- ToSha1
|
|
- ToSha256
|
|
- ToSha512
|
|
- ToAdler32
|
|
type: string
|
|
fmt:
|
|
description: |-
|
|
Format the input using a Go format string. See
|
|
https://golang.org/pkg/fmt/ for details.
|
|
type: string
|
|
join:
|
|
description: Join defines parameters to join
|
|
a slice of values to a string.
|
|
properties:
|
|
separator:
|
|
description: |-
|
|
Separator defines the character that should separate the values from each
|
|
other in the joined string.
|
|
type: string
|
|
required:
|
|
- separator
|
|
type: object
|
|
regexp:
|
|
description: Extract a match from the input
|
|
using a regular expression.
|
|
properties:
|
|
group:
|
|
description: Group number to match. 0 (the
|
|
default) matches the entire expression.
|
|
type: integer
|
|
match:
|
|
description: |-
|
|
Match string. May optionally include submatches, aka capture groups.
|
|
See https://pkg.go.dev/regexp/ for details.
|
|
type: string
|
|
required:
|
|
- match
|
|
type: object
|
|
trim:
|
|
description: Trim the prefix or suffix from
|
|
the input
|
|
type: string
|
|
type:
|
|
default: Format
|
|
description: Type of the string transform to
|
|
be run.
|
|
enum:
|
|
- Format
|
|
- Convert
|
|
- TrimPrefix
|
|
- TrimSuffix
|
|
- Regexp
|
|
- Join
|
|
type: string
|
|
type: object
|
|
type:
|
|
description: Type of the transform to be run.
|
|
enum:
|
|
- map
|
|
- match
|
|
- math
|
|
- string
|
|
- convert
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
type: array
|
|
type:
|
|
default: FromCompositeFieldPath
|
|
description: |-
|
|
Type sets the patching behaviour to be used. Each patch type may require
|
|
its own fields to be set on the Patch object.
|
|
enum:
|
|
- FromCompositeFieldPath
|
|
- PatchSet
|
|
- ToCompositeFieldPath
|
|
- CombineFromComposite
|
|
- CombineToComposite
|
|
type: string
|
|
type: object
|
|
type: array
|
|
required:
|
|
- name
|
|
- patches
|
|
type: object
|
|
type: array
|
|
pipeline:
|
|
description: |-
|
|
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.
|
|
items:
|
|
description: A PipelineStep in a Composition Function pipeline.
|
|
properties:
|
|
credentials:
|
|
description: Credentials are optional credentials that the Composition
|
|
Function needs.
|
|
items:
|
|
description: |-
|
|
FunctionCredentials are optional credentials that a Composition Function
|
|
needs to run.
|
|
properties:
|
|
name:
|
|
description: Name of this set of credentials.
|
|
type: string
|
|
secretRef:
|
|
description: |-
|
|
A SecretRef is a reference to a secret containing credentials that should
|
|
be supplied to the function.
|
|
properties:
|
|
name:
|
|
description: Name of the secret.
|
|
type: string
|
|
namespace:
|
|
description: Namespace of the secret.
|
|
type: string
|
|
required:
|
|
- name
|
|
- namespace
|
|
type: object
|
|
source:
|
|
description: Source of the function credentials.
|
|
enum:
|
|
- None
|
|
- Secret
|
|
type: string
|
|
required:
|
|
- name
|
|
- source
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
functionRef:
|
|
description: |-
|
|
FunctionRef is a reference to the Composition Function this step should
|
|
execute.
|
|
properties:
|
|
name:
|
|
description: Name of the referenced Function.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
input:
|
|
description: |-
|
|
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.
|
|
type: object
|
|
x-kubernetes-embedded-resource: true
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
step:
|
|
description: Step name. Must be unique within its Pipeline.
|
|
type: string
|
|
required:
|
|
- functionRef
|
|
- step
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- step
|
|
x-kubernetes-list-type: map
|
|
publishConnectionDetailsWithStoreConfigRef:
|
|
default:
|
|
name: default
|
|
description: |-
|
|
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.
|
|
properties:
|
|
name:
|
|
description: Name of the referenced StoreConfig.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
resources:
|
|
description: |-
|
|
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.
|
|
items:
|
|
description: |-
|
|
ComposedTemplate is used to provide information about how the composed resource
|
|
should be processed.
|
|
properties:
|
|
base:
|
|
description: Base is the target resource that the patches will
|
|
be applied on.
|
|
type: object
|
|
x-kubernetes-embedded-resource: true
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
connectionDetails:
|
|
description: |-
|
|
ConnectionDetails lists the propagation secret keys from this target
|
|
resource to the composition instance connection secret.
|
|
items:
|
|
description: |-
|
|
ConnectionDetail includes the information about the propagation of the connection
|
|
information from one secret to another.
|
|
properties:
|
|
fromConnectionSecretKey:
|
|
description: |-
|
|
FromConnectionSecretKey is the key that will be used to fetch the value
|
|
from the composed resource's connection secret.
|
|
type: string
|
|
fromFieldPath:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
name:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
type:
|
|
description: |-
|
|
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:
|
|
1. FromValue
|
|
2. FromConnectionSecretKey
|
|
3. FromFieldPath
|
|
enum:
|
|
- FromConnectionSecretKey
|
|
- FromFieldPath
|
|
- FromValue
|
|
type: string
|
|
value:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
name:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
patches:
|
|
description: Patches will be applied as overlay to the base
|
|
resource.
|
|
items:
|
|
description: |-
|
|
Patch objects are applied between composite and composed resources. Their
|
|
behaviour depends on the Type selected. The default Type,
|
|
FromCompositeFieldPath, copies a value from the composite resource to
|
|
the composed resource, applying any defined transformers.
|
|
properties:
|
|
combine:
|
|
description: |-
|
|
Combine is the patch configuration for a CombineFromComposite or
|
|
CombineToComposite patch.
|
|
properties:
|
|
strategy:
|
|
description: |-
|
|
Strategy defines the strategy to use to combine the input variable values.
|
|
Currently only string is supported.
|
|
enum:
|
|
- string
|
|
type: string
|
|
string:
|
|
description: |-
|
|
String declares that input variables should be combined into a single
|
|
string, using the relevant settings for formatting purposes.
|
|
properties:
|
|
fmt:
|
|
description: |-
|
|
Format the input using a Go format string. See
|
|
https://golang.org/pkg/fmt/ for details.
|
|
type: string
|
|
required:
|
|
- fmt
|
|
type: object
|
|
variables:
|
|
description: |-
|
|
Variables are the list of variables whose values will be retrieved and
|
|
combined.
|
|
items:
|
|
description: |-
|
|
A CombineVariable defines the source of a value that is combined with
|
|
others to form and patch an output value. Currently, this only supports
|
|
retrieving values from a field path.
|
|
properties:
|
|
fromFieldPath:
|
|
description: |-
|
|
FromFieldPath is the path of the field on the source whose value is
|
|
to be used as input.
|
|
type: string
|
|
required:
|
|
- fromFieldPath
|
|
type: object
|
|
minItems: 1
|
|
type: array
|
|
required:
|
|
- strategy
|
|
- variables
|
|
type: object
|
|
fromFieldPath:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
patchSetName:
|
|
description: PatchSetName to include patches from. Required
|
|
when type is PatchSet.
|
|
type: string
|
|
policy:
|
|
description: Policy configures the specifics of patching
|
|
behaviour.
|
|
properties:
|
|
fromFieldPath:
|
|
description: |-
|
|
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.
|
|
enum:
|
|
- Optional
|
|
- Required
|
|
type: string
|
|
mergeOptions:
|
|
description: MergeOptions Specifies merge options
|
|
on a field path.
|
|
properties:
|
|
appendSlice:
|
|
description: Specifies that already existing elements
|
|
in a merged slice should be preserved
|
|
type: boolean
|
|
keepMapValues:
|
|
description: Specifies that already existing values
|
|
in a merged map should be preserved
|
|
type: boolean
|
|
type: object
|
|
type: object
|
|
toFieldPath:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
transforms:
|
|
description: |-
|
|
Transforms are the list of functions that are used as a FIFO pipe for the
|
|
input to be transformed.
|
|
items:
|
|
description: |-
|
|
Transform is a unit of process whose input is transformed into an output with
|
|
the supplied configuration.
|
|
properties:
|
|
convert:
|
|
description: Convert is used to cast the input into
|
|
the given output type.
|
|
properties:
|
|
format:
|
|
description: |-
|
|
The expected input format.
|
|
|
|
* `quantity` - parses the input as a K8s [`resource.Quantity`](https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Quantity).
|
|
Only used during `string -> float64` conversions.
|
|
* `json` - parses the input as a JSON string.
|
|
Only used during `string -> object` or `string -> list` conversions.
|
|
|
|
If this property is null, the default conversion is applied.
|
|
enum:
|
|
- none
|
|
- quantity
|
|
- json
|
|
type: string
|
|
toType:
|
|
description: ToType is the type of the output
|
|
of this transform.
|
|
enum:
|
|
- string
|
|
- int
|
|
- int64
|
|
- bool
|
|
- float64
|
|
- object
|
|
- array
|
|
type: string
|
|
required:
|
|
- toType
|
|
type: object
|
|
map:
|
|
additionalProperties:
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
description: Map uses the input as a key in the
|
|
given map and returns the value.
|
|
type: object
|
|
match:
|
|
description: Match is a more complex version of
|
|
Map that matches a list of patterns.
|
|
properties:
|
|
fallbackTo:
|
|
default: Value
|
|
description: Determines to what value the transform
|
|
should fallback if no pattern matches.
|
|
enum:
|
|
- Value
|
|
- Input
|
|
type: string
|
|
fallbackValue:
|
|
description: |-
|
|
The fallback value that should be returned by the transform if now pattern
|
|
matches.
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
patterns:
|
|
description: |-
|
|
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.
|
|
items:
|
|
description: |-
|
|
MatchTransformPattern is a transform that returns the value that matches a
|
|
pattern.
|
|
properties:
|
|
literal:
|
|
description: |-
|
|
Literal exactly matches the input string (case sensitive).
|
|
Is required if `type` is `literal`.
|
|
type: string
|
|
regexp:
|
|
description: |-
|
|
Regexp to match against the input string.
|
|
Is required if `type` is `regexp`.
|
|
type: string
|
|
result:
|
|
description: The value that is used as
|
|
result of the transform if the pattern
|
|
matches.
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
type:
|
|
default: literal
|
|
description: |-
|
|
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.
|
|
enum:
|
|
- literal
|
|
- regexp
|
|
type: string
|
|
required:
|
|
- result
|
|
- type
|
|
type: object
|
|
type: array
|
|
type: object
|
|
math:
|
|
description: |-
|
|
Math is used to transform the input via mathematical operations such as
|
|
multiplication.
|
|
properties:
|
|
clampMax:
|
|
description: ClampMax makes sure that the value
|
|
is not bigger than the given value.
|
|
format: int64
|
|
type: integer
|
|
clampMin:
|
|
description: ClampMin makes sure that the value
|
|
is not smaller than the given value.
|
|
format: int64
|
|
type: integer
|
|
multiply:
|
|
description: Multiply the value.
|
|
format: int64
|
|
type: integer
|
|
type:
|
|
default: Multiply
|
|
description: Type of the math transform to be
|
|
run.
|
|
enum:
|
|
- Multiply
|
|
- ClampMin
|
|
- ClampMax
|
|
type: string
|
|
type: object
|
|
string:
|
|
description: |-
|
|
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.
|
|
properties:
|
|
convert:
|
|
description: |-
|
|
Optional conversion method to be specified.
|
|
`ToUpper` and `ToLower` change the letter case of the input string.
|
|
`ToBase64` and `FromBase64` perform a base64 conversion based on the input string.
|
|
`ToJson` converts any input value into its raw JSON representation.
|
|
`ToSha1`, `ToSha256` and `ToSha512` generate a hash value based on the input
|
|
converted to JSON.
|
|
`ToAdler32` generate a addler32 hash based on the input string.
|
|
enum:
|
|
- ToUpper
|
|
- ToLower
|
|
- ToBase64
|
|
- FromBase64
|
|
- ToJson
|
|
- ToSha1
|
|
- ToSha256
|
|
- ToSha512
|
|
- ToAdler32
|
|
type: string
|
|
fmt:
|
|
description: |-
|
|
Format the input using a Go format string. See
|
|
https://golang.org/pkg/fmt/ for details.
|
|
type: string
|
|
join:
|
|
description: Join defines parameters to join
|
|
a slice of values to a string.
|
|
properties:
|
|
separator:
|
|
description: |-
|
|
Separator defines the character that should separate the values from each
|
|
other in the joined string.
|
|
type: string
|
|
required:
|
|
- separator
|
|
type: object
|
|
regexp:
|
|
description: Extract a match from the input
|
|
using a regular expression.
|
|
properties:
|
|
group:
|
|
description: Group number to match. 0 (the
|
|
default) matches the entire expression.
|
|
type: integer
|
|
match:
|
|
description: |-
|
|
Match string. May optionally include submatches, aka capture groups.
|
|
See https://pkg.go.dev/regexp/ for details.
|
|
type: string
|
|
required:
|
|
- match
|
|
type: object
|
|
trim:
|
|
description: Trim the prefix or suffix from
|
|
the input
|
|
type: string
|
|
type:
|
|
default: Format
|
|
description: Type of the string transform to
|
|
be run.
|
|
enum:
|
|
- Format
|
|
- Convert
|
|
- TrimPrefix
|
|
- TrimSuffix
|
|
- Regexp
|
|
- Join
|
|
type: string
|
|
type: object
|
|
type:
|
|
description: Type of the transform to be run.
|
|
enum:
|
|
- map
|
|
- match
|
|
- math
|
|
- string
|
|
- convert
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
type: array
|
|
type:
|
|
default: FromCompositeFieldPath
|
|
description: |-
|
|
Type sets the patching behaviour to be used. Each patch type may require
|
|
its own fields to be set on the Patch object.
|
|
enum:
|
|
- FromCompositeFieldPath
|
|
- PatchSet
|
|
- ToCompositeFieldPath
|
|
- CombineFromComposite
|
|
- CombineToComposite
|
|
type: string
|
|
type: object
|
|
type: array
|
|
readinessChecks:
|
|
default:
|
|
- matchCondition:
|
|
status: "True"
|
|
type: Ready
|
|
type: MatchCondition
|
|
description: |-
|
|
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".
|
|
items:
|
|
description: |-
|
|
ReadinessCheck is used to indicate how to tell whether a resource is ready
|
|
for consumption.
|
|
properties:
|
|
fieldPath:
|
|
description: FieldPath shows the path of the field whose
|
|
value will be used.
|
|
type: string
|
|
matchCondition:
|
|
description: MatchCondition specifies the condition you'd
|
|
like to match if you're using "MatchCondition" type.
|
|
properties:
|
|
status:
|
|
default: "True"
|
|
description: Status is the status of the condition
|
|
you'd like to match.
|
|
type: string
|
|
type:
|
|
default: Ready
|
|
description: Type indicates the type of condition
|
|
you'd like to use.
|
|
type: string
|
|
required:
|
|
- status
|
|
- type
|
|
type: object
|
|
matchInteger:
|
|
description: MatchInt is the value you'd like to match
|
|
if you're using "MatchInt" type.
|
|
format: int64
|
|
type: integer
|
|
matchString:
|
|
description: MatchString is the value you'd like to match
|
|
if you're using "MatchString" type.
|
|
type: string
|
|
type:
|
|
description: Type indicates the type of probe you'd like
|
|
to use.
|
|
enum:
|
|
- MatchString
|
|
- MatchInteger
|
|
- NonEmpty
|
|
- MatchCondition
|
|
- MatchTrue
|
|
- MatchFalse
|
|
- None
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
type: array
|
|
required:
|
|
- base
|
|
type: object
|
|
type: array
|
|
revision:
|
|
description: |-
|
|
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.
|
|
format: int64
|
|
type: integer
|
|
writeConnectionSecretsToNamespace:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
required:
|
|
- compositeTypeRef
|
|
- revision
|
|
type: object
|
|
status:
|
|
description: |-
|
|
CompositionRevisionStatus shows the observed state of the composition
|
|
revision.
|
|
properties:
|
|
conditions:
|
|
description: Conditions of the resource.
|
|
items:
|
|
description: A Condition that may apply to a resource.
|
|
properties:
|
|
lastTransitionTime:
|
|
description: |-
|
|
LastTransitionTime is the last time this condition transitioned from one
|
|
status to another.
|
|
format: date-time
|
|
type: string
|
|
message:
|
|
description: |-
|
|
A Message containing details about this condition's last transition from
|
|
one status to another, if any.
|
|
type: string
|
|
observedGeneration:
|
|
description: |-
|
|
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.
|
|
format: int64
|
|
type: integer
|
|
reason:
|
|
description: A Reason for this condition's last transition from
|
|
one status to another.
|
|
type: string
|
|
status:
|
|
description: Status of this condition; is it currently True,
|
|
False, or Unknown?
|
|
type: string
|
|
type:
|
|
description: |-
|
|
Type of this condition. At most one of each condition type may apply to
|
|
a resource at any point in time.
|
|
type: string
|
|
required:
|
|
- lastTransitionTime
|
|
- reason
|
|
- status
|
|
- type
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- type
|
|
x-kubernetes-list-type: map
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .spec.revision
|
|
name: REVISION
|
|
type: string
|
|
- jsonPath: .spec.compositeTypeRef.kind
|
|
name: XR-KIND
|
|
type: string
|
|
- jsonPath: .spec.compositeTypeRef.apiVersion
|
|
name: XR-APIVERSION
|
|
type: string
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: AGE
|
|
type: date
|
|
name: v1beta1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: |-
|
|
A CompositionRevision represents a revision of a Composition. Crossplane
|
|
creates new revisions when there are changes to the Composition.
|
|
|
|
Crossplane creates and manages CompositionRevisions. Don't directly edit
|
|
CompositionRevisions.
|
|
properties:
|
|
apiVersion:
|
|
description: |-
|
|
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
|
|
type: string
|
|
kind:
|
|
description: |-
|
|
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
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: |-
|
|
CompositionRevisionSpec specifies the desired state of the composition
|
|
revision.
|
|
properties:
|
|
compositeTypeRef:
|
|
description: |-
|
|
CompositeTypeRef specifies the type of composite resource that this
|
|
composition is compatible with.
|
|
properties:
|
|
apiVersion:
|
|
description: APIVersion of the type.
|
|
type: string
|
|
kind:
|
|
description: Kind of the type.
|
|
type: string
|
|
required:
|
|
- apiVersion
|
|
- kind
|
|
type: object
|
|
x-kubernetes-validations:
|
|
- message: Value is immutable
|
|
rule: self == oldSelf
|
|
mode:
|
|
default: Resources
|
|
description: |-
|
|
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.
|
|
enum:
|
|
- Resources
|
|
- Pipeline
|
|
type: string
|
|
patchSets:
|
|
description: |-
|
|
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.
|
|
items:
|
|
description: |-
|
|
A PatchSet is a set of patches that can be reused from all resources within
|
|
a Composition.
|
|
properties:
|
|
name:
|
|
description: Name of this PatchSet.
|
|
type: string
|
|
patches:
|
|
description: Patches will be applied as an overlay to the base
|
|
resource.
|
|
items:
|
|
description: |-
|
|
Patch objects are applied between composite and composed resources. Their
|
|
behaviour depends on the Type selected. The default Type,
|
|
FromCompositeFieldPath, copies a value from the composite resource to
|
|
the composed resource, applying any defined transformers.
|
|
properties:
|
|
combine:
|
|
description: |-
|
|
Combine is the patch configuration for a CombineFromComposite or
|
|
CombineToComposite patch.
|
|
properties:
|
|
strategy:
|
|
description: |-
|
|
Strategy defines the strategy to use to combine the input variable values.
|
|
Currently only string is supported.
|
|
enum:
|
|
- string
|
|
type: string
|
|
string:
|
|
description: |-
|
|
String declares that input variables should be combined into a single
|
|
string, using the relevant settings for formatting purposes.
|
|
properties:
|
|
fmt:
|
|
description: |-
|
|
Format the input using a Go format string. See
|
|
https://golang.org/pkg/fmt/ for details.
|
|
type: string
|
|
required:
|
|
- fmt
|
|
type: object
|
|
variables:
|
|
description: |-
|
|
Variables are the list of variables whose values will be retrieved and
|
|
combined.
|
|
items:
|
|
description: |-
|
|
A CombineVariable defines the source of a value that is combined with
|
|
others to form and patch an output value. Currently, this only supports
|
|
retrieving values from a field path.
|
|
properties:
|
|
fromFieldPath:
|
|
description: |-
|
|
FromFieldPath is the path of the field on the source whose value is
|
|
to be used as input.
|
|
type: string
|
|
required:
|
|
- fromFieldPath
|
|
type: object
|
|
minItems: 1
|
|
type: array
|
|
required:
|
|
- strategy
|
|
- variables
|
|
type: object
|
|
fromFieldPath:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
patchSetName:
|
|
description: PatchSetName to include patches from. Required
|
|
when type is PatchSet.
|
|
type: string
|
|
policy:
|
|
description: Policy configures the specifics of patching
|
|
behaviour.
|
|
properties:
|
|
fromFieldPath:
|
|
description: |-
|
|
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.
|
|
enum:
|
|
- Optional
|
|
- Required
|
|
type: string
|
|
mergeOptions:
|
|
description: MergeOptions Specifies merge options
|
|
on a field path.
|
|
properties:
|
|
appendSlice:
|
|
description: Specifies that already existing elements
|
|
in a merged slice should be preserved
|
|
type: boolean
|
|
keepMapValues:
|
|
description: Specifies that already existing values
|
|
in a merged map should be preserved
|
|
type: boolean
|
|
type: object
|
|
type: object
|
|
toFieldPath:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
transforms:
|
|
description: |-
|
|
Transforms are the list of functions that are used as a FIFO pipe for the
|
|
input to be transformed.
|
|
items:
|
|
description: |-
|
|
Transform is a unit of process whose input is transformed into an output with
|
|
the supplied configuration.
|
|
properties:
|
|
convert:
|
|
description: Convert is used to cast the input into
|
|
the given output type.
|
|
properties:
|
|
format:
|
|
description: |-
|
|
The expected input format.
|
|
|
|
* `quantity` - parses the input as a K8s [`resource.Quantity`](https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Quantity).
|
|
Only used during `string -> float64` conversions.
|
|
* `json` - parses the input as a JSON string.
|
|
Only used during `string -> object` or `string -> list` conversions.
|
|
|
|
If this property is null, the default conversion is applied.
|
|
enum:
|
|
- none
|
|
- quantity
|
|
- json
|
|
type: string
|
|
toType:
|
|
description: ToType is the type of the output
|
|
of this transform.
|
|
enum:
|
|
- string
|
|
- int
|
|
- int64
|
|
- bool
|
|
- float64
|
|
- object
|
|
- array
|
|
type: string
|
|
required:
|
|
- toType
|
|
type: object
|
|
map:
|
|
additionalProperties:
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
description: Map uses the input as a key in the
|
|
given map and returns the value.
|
|
type: object
|
|
match:
|
|
description: Match is a more complex version of
|
|
Map that matches a list of patterns.
|
|
properties:
|
|
fallbackTo:
|
|
default: Value
|
|
description: Determines to what value the transform
|
|
should fallback if no pattern matches.
|
|
enum:
|
|
- Value
|
|
- Input
|
|
type: string
|
|
fallbackValue:
|
|
description: |-
|
|
The fallback value that should be returned by the transform if now pattern
|
|
matches.
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
patterns:
|
|
description: |-
|
|
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.
|
|
items:
|
|
description: |-
|
|
MatchTransformPattern is a transform that returns the value that matches a
|
|
pattern.
|
|
properties:
|
|
literal:
|
|
description: |-
|
|
Literal exactly matches the input string (case sensitive).
|
|
Is required if `type` is `literal`.
|
|
type: string
|
|
regexp:
|
|
description: |-
|
|
Regexp to match against the input string.
|
|
Is required if `type` is `regexp`.
|
|
type: string
|
|
result:
|
|
description: The value that is used as
|
|
result of the transform if the pattern
|
|
matches.
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
type:
|
|
default: literal
|
|
description: |-
|
|
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.
|
|
enum:
|
|
- literal
|
|
- regexp
|
|
type: string
|
|
required:
|
|
- result
|
|
- type
|
|
type: object
|
|
type: array
|
|
type: object
|
|
math:
|
|
description: |-
|
|
Math is used to transform the input via mathematical operations such as
|
|
multiplication.
|
|
properties:
|
|
clampMax:
|
|
description: ClampMax makes sure that the value
|
|
is not bigger than the given value.
|
|
format: int64
|
|
type: integer
|
|
clampMin:
|
|
description: ClampMin makes sure that the value
|
|
is not smaller than the given value.
|
|
format: int64
|
|
type: integer
|
|
multiply:
|
|
description: Multiply the value.
|
|
format: int64
|
|
type: integer
|
|
type:
|
|
default: Multiply
|
|
description: Type of the math transform to be
|
|
run.
|
|
enum:
|
|
- Multiply
|
|
- ClampMin
|
|
- ClampMax
|
|
type: string
|
|
type: object
|
|
string:
|
|
description: |-
|
|
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.
|
|
properties:
|
|
convert:
|
|
description: |-
|
|
Optional conversion method to be specified.
|
|
`ToUpper` and `ToLower` change the letter case of the input string.
|
|
`ToBase64` and `FromBase64` perform a base64 conversion based on the input string.
|
|
`ToJson` converts any input value into its raw JSON representation.
|
|
`ToSha1`, `ToSha256` and `ToSha512` generate a hash value based on the input
|
|
converted to JSON.
|
|
`ToAdler32` generate a addler32 hash based on the input string.
|
|
enum:
|
|
- ToUpper
|
|
- ToLower
|
|
- ToBase64
|
|
- FromBase64
|
|
- ToJson
|
|
- ToSha1
|
|
- ToSha256
|
|
- ToSha512
|
|
- ToAdler32
|
|
type: string
|
|
fmt:
|
|
description: |-
|
|
Format the input using a Go format string. See
|
|
https://golang.org/pkg/fmt/ for details.
|
|
type: string
|
|
join:
|
|
description: Join defines parameters to join
|
|
a slice of values to a string.
|
|
properties:
|
|
separator:
|
|
description: |-
|
|
Separator defines the character that should separate the values from each
|
|
other in the joined string.
|
|
type: string
|
|
required:
|
|
- separator
|
|
type: object
|
|
regexp:
|
|
description: Extract a match from the input
|
|
using a regular expression.
|
|
properties:
|
|
group:
|
|
description: Group number to match. 0 (the
|
|
default) matches the entire expression.
|
|
type: integer
|
|
match:
|
|
description: |-
|
|
Match string. May optionally include submatches, aka capture groups.
|
|
See https://pkg.go.dev/regexp/ for details.
|
|
type: string
|
|
required:
|
|
- match
|
|
type: object
|
|
trim:
|
|
description: Trim the prefix or suffix from
|
|
the input
|
|
type: string
|
|
type:
|
|
default: Format
|
|
description: Type of the string transform to
|
|
be run.
|
|
enum:
|
|
- Format
|
|
- Convert
|
|
- TrimPrefix
|
|
- TrimSuffix
|
|
- Regexp
|
|
- Join
|
|
type: string
|
|
type: object
|
|
type:
|
|
description: Type of the transform to be run.
|
|
enum:
|
|
- map
|
|
- match
|
|
- math
|
|
- string
|
|
- convert
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
type: array
|
|
type:
|
|
default: FromCompositeFieldPath
|
|
description: |-
|
|
Type sets the patching behaviour to be used. Each patch type may require
|
|
its own fields to be set on the Patch object.
|
|
enum:
|
|
- FromCompositeFieldPath
|
|
- PatchSet
|
|
- ToCompositeFieldPath
|
|
- CombineFromComposite
|
|
- CombineToComposite
|
|
type: string
|
|
type: object
|
|
type: array
|
|
required:
|
|
- name
|
|
- patches
|
|
type: object
|
|
type: array
|
|
pipeline:
|
|
description: |-
|
|
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.
|
|
items:
|
|
description: A PipelineStep in a Composition Function pipeline.
|
|
properties:
|
|
credentials:
|
|
description: Credentials are optional credentials that the Composition
|
|
Function needs.
|
|
items:
|
|
description: |-
|
|
FunctionCredentials are optional credentials that a Composition Function
|
|
needs to run.
|
|
properties:
|
|
name:
|
|
description: Name of this set of credentials.
|
|
type: string
|
|
secretRef:
|
|
description: |-
|
|
A SecretRef is a reference to a secret containing credentials that should
|
|
be supplied to the function.
|
|
properties:
|
|
name:
|
|
description: Name of the secret.
|
|
type: string
|
|
namespace:
|
|
description: Namespace of the secret.
|
|
type: string
|
|
required:
|
|
- name
|
|
- namespace
|
|
type: object
|
|
source:
|
|
description: Source of the function credentials.
|
|
enum:
|
|
- None
|
|
- Secret
|
|
type: string
|
|
required:
|
|
- name
|
|
- source
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
functionRef:
|
|
description: |-
|
|
FunctionRef is a reference to the Composition Function this step should
|
|
execute.
|
|
properties:
|
|
name:
|
|
description: Name of the referenced Function.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
input:
|
|
description: |-
|
|
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.
|
|
type: object
|
|
x-kubernetes-embedded-resource: true
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
step:
|
|
description: Step name. Must be unique within its Pipeline.
|
|
type: string
|
|
required:
|
|
- functionRef
|
|
- step
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- step
|
|
x-kubernetes-list-type: map
|
|
publishConnectionDetailsWithStoreConfigRef:
|
|
default:
|
|
name: default
|
|
description: |-
|
|
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.
|
|
properties:
|
|
name:
|
|
description: Name of the referenced StoreConfig.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
resources:
|
|
description: |-
|
|
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.
|
|
items:
|
|
description: |-
|
|
ComposedTemplate is used to provide information about how the composed resource
|
|
should be processed.
|
|
properties:
|
|
base:
|
|
description: Base is the target resource that the patches will
|
|
be applied on.
|
|
type: object
|
|
x-kubernetes-embedded-resource: true
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
connectionDetails:
|
|
description: |-
|
|
ConnectionDetails lists the propagation secret keys from this target
|
|
resource to the composition instance connection secret.
|
|
items:
|
|
description: |-
|
|
ConnectionDetail includes the information about the propagation of the connection
|
|
information from one secret to another.
|
|
properties:
|
|
fromConnectionSecretKey:
|
|
description: |-
|
|
FromConnectionSecretKey is the key that will be used to fetch the value
|
|
from the composed resource's connection secret.
|
|
type: string
|
|
fromFieldPath:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
name:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
type:
|
|
description: |-
|
|
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:
|
|
1. FromValue
|
|
2. FromConnectionSecretKey
|
|
3. FromFieldPath
|
|
enum:
|
|
- FromConnectionSecretKey
|
|
- FromFieldPath
|
|
- FromValue
|
|
type: string
|
|
value:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
name:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
patches:
|
|
description: Patches will be applied as overlay to the base
|
|
resource.
|
|
items:
|
|
description: |-
|
|
Patch objects are applied between composite and composed resources. Their
|
|
behaviour depends on the Type selected. The default Type,
|
|
FromCompositeFieldPath, copies a value from the composite resource to
|
|
the composed resource, applying any defined transformers.
|
|
properties:
|
|
combine:
|
|
description: |-
|
|
Combine is the patch configuration for a CombineFromComposite or
|
|
CombineToComposite patch.
|
|
properties:
|
|
strategy:
|
|
description: |-
|
|
Strategy defines the strategy to use to combine the input variable values.
|
|
Currently only string is supported.
|
|
enum:
|
|
- string
|
|
type: string
|
|
string:
|
|
description: |-
|
|
String declares that input variables should be combined into a single
|
|
string, using the relevant settings for formatting purposes.
|
|
properties:
|
|
fmt:
|
|
description: |-
|
|
Format the input using a Go format string. See
|
|
https://golang.org/pkg/fmt/ for details.
|
|
type: string
|
|
required:
|
|
- fmt
|
|
type: object
|
|
variables:
|
|
description: |-
|
|
Variables are the list of variables whose values will be retrieved and
|
|
combined.
|
|
items:
|
|
description: |-
|
|
A CombineVariable defines the source of a value that is combined with
|
|
others to form and patch an output value. Currently, this only supports
|
|
retrieving values from a field path.
|
|
properties:
|
|
fromFieldPath:
|
|
description: |-
|
|
FromFieldPath is the path of the field on the source whose value is
|
|
to be used as input.
|
|
type: string
|
|
required:
|
|
- fromFieldPath
|
|
type: object
|
|
minItems: 1
|
|
type: array
|
|
required:
|
|
- strategy
|
|
- variables
|
|
type: object
|
|
fromFieldPath:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
patchSetName:
|
|
description: PatchSetName to include patches from. Required
|
|
when type is PatchSet.
|
|
type: string
|
|
policy:
|
|
description: Policy configures the specifics of patching
|
|
behaviour.
|
|
properties:
|
|
fromFieldPath:
|
|
description: |-
|
|
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.
|
|
enum:
|
|
- Optional
|
|
- Required
|
|
type: string
|
|
mergeOptions:
|
|
description: MergeOptions Specifies merge options
|
|
on a field path.
|
|
properties:
|
|
appendSlice:
|
|
description: Specifies that already existing elements
|
|
in a merged slice should be preserved
|
|
type: boolean
|
|
keepMapValues:
|
|
description: Specifies that already existing values
|
|
in a merged map should be preserved
|
|
type: boolean
|
|
type: object
|
|
type: object
|
|
toFieldPath:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
transforms:
|
|
description: |-
|
|
Transforms are the list of functions that are used as a FIFO pipe for the
|
|
input to be transformed.
|
|
items:
|
|
description: |-
|
|
Transform is a unit of process whose input is transformed into an output with
|
|
the supplied configuration.
|
|
properties:
|
|
convert:
|
|
description: Convert is used to cast the input into
|
|
the given output type.
|
|
properties:
|
|
format:
|
|
description: |-
|
|
The expected input format.
|
|
|
|
* `quantity` - parses the input as a K8s [`resource.Quantity`](https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Quantity).
|
|
Only used during `string -> float64` conversions.
|
|
* `json` - parses the input as a JSON string.
|
|
Only used during `string -> object` or `string -> list` conversions.
|
|
|
|
If this property is null, the default conversion is applied.
|
|
enum:
|
|
- none
|
|
- quantity
|
|
- json
|
|
type: string
|
|
toType:
|
|
description: ToType is the type of the output
|
|
of this transform.
|
|
enum:
|
|
- string
|
|
- int
|
|
- int64
|
|
- bool
|
|
- float64
|
|
- object
|
|
- array
|
|
type: string
|
|
required:
|
|
- toType
|
|
type: object
|
|
map:
|
|
additionalProperties:
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
description: Map uses the input as a key in the
|
|
given map and returns the value.
|
|
type: object
|
|
match:
|
|
description: Match is a more complex version of
|
|
Map that matches a list of patterns.
|
|
properties:
|
|
fallbackTo:
|
|
default: Value
|
|
description: Determines to what value the transform
|
|
should fallback if no pattern matches.
|
|
enum:
|
|
- Value
|
|
- Input
|
|
type: string
|
|
fallbackValue:
|
|
description: |-
|
|
The fallback value that should be returned by the transform if now pattern
|
|
matches.
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
patterns:
|
|
description: |-
|
|
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.
|
|
items:
|
|
description: |-
|
|
MatchTransformPattern is a transform that returns the value that matches a
|
|
pattern.
|
|
properties:
|
|
literal:
|
|
description: |-
|
|
Literal exactly matches the input string (case sensitive).
|
|
Is required if `type` is `literal`.
|
|
type: string
|
|
regexp:
|
|
description: |-
|
|
Regexp to match against the input string.
|
|
Is required if `type` is `regexp`.
|
|
type: string
|
|
result:
|
|
description: The value that is used as
|
|
result of the transform if the pattern
|
|
matches.
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
type:
|
|
default: literal
|
|
description: |-
|
|
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.
|
|
enum:
|
|
- literal
|
|
- regexp
|
|
type: string
|
|
required:
|
|
- result
|
|
- type
|
|
type: object
|
|
type: array
|
|
type: object
|
|
math:
|
|
description: |-
|
|
Math is used to transform the input via mathematical operations such as
|
|
multiplication.
|
|
properties:
|
|
clampMax:
|
|
description: ClampMax makes sure that the value
|
|
is not bigger than the given value.
|
|
format: int64
|
|
type: integer
|
|
clampMin:
|
|
description: ClampMin makes sure that the value
|
|
is not smaller than the given value.
|
|
format: int64
|
|
type: integer
|
|
multiply:
|
|
description: Multiply the value.
|
|
format: int64
|
|
type: integer
|
|
type:
|
|
default: Multiply
|
|
description: Type of the math transform to be
|
|
run.
|
|
enum:
|
|
- Multiply
|
|
- ClampMin
|
|
- ClampMax
|
|
type: string
|
|
type: object
|
|
string:
|
|
description: |-
|
|
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.
|
|
properties:
|
|
convert:
|
|
description: |-
|
|
Optional conversion method to be specified.
|
|
`ToUpper` and `ToLower` change the letter case of the input string.
|
|
`ToBase64` and `FromBase64` perform a base64 conversion based on the input string.
|
|
`ToJson` converts any input value into its raw JSON representation.
|
|
`ToSha1`, `ToSha256` and `ToSha512` generate a hash value based on the input
|
|
converted to JSON.
|
|
`ToAdler32` generate a addler32 hash based on the input string.
|
|
enum:
|
|
- ToUpper
|
|
- ToLower
|
|
- ToBase64
|
|
- FromBase64
|
|
- ToJson
|
|
- ToSha1
|
|
- ToSha256
|
|
- ToSha512
|
|
- ToAdler32
|
|
type: string
|
|
fmt:
|
|
description: |-
|
|
Format the input using a Go format string. See
|
|
https://golang.org/pkg/fmt/ for details.
|
|
type: string
|
|
join:
|
|
description: Join defines parameters to join
|
|
a slice of values to a string.
|
|
properties:
|
|
separator:
|
|
description: |-
|
|
Separator defines the character that should separate the values from each
|
|
other in the joined string.
|
|
type: string
|
|
required:
|
|
- separator
|
|
type: object
|
|
regexp:
|
|
description: Extract a match from the input
|
|
using a regular expression.
|
|
properties:
|
|
group:
|
|
description: Group number to match. 0 (the
|
|
default) matches the entire expression.
|
|
type: integer
|
|
match:
|
|
description: |-
|
|
Match string. May optionally include submatches, aka capture groups.
|
|
See https://pkg.go.dev/regexp/ for details.
|
|
type: string
|
|
required:
|
|
- match
|
|
type: object
|
|
trim:
|
|
description: Trim the prefix or suffix from
|
|
the input
|
|
type: string
|
|
type:
|
|
default: Format
|
|
description: Type of the string transform to
|
|
be run.
|
|
enum:
|
|
- Format
|
|
- Convert
|
|
- TrimPrefix
|
|
- TrimSuffix
|
|
- Regexp
|
|
- Join
|
|
type: string
|
|
type: object
|
|
type:
|
|
description: Type of the transform to be run.
|
|
enum:
|
|
- map
|
|
- match
|
|
- math
|
|
- string
|
|
- convert
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
type: array
|
|
type:
|
|
default: FromCompositeFieldPath
|
|
description: |-
|
|
Type sets the patching behaviour to be used. Each patch type may require
|
|
its own fields to be set on the Patch object.
|
|
enum:
|
|
- FromCompositeFieldPath
|
|
- PatchSet
|
|
- ToCompositeFieldPath
|
|
- CombineFromComposite
|
|
- CombineToComposite
|
|
type: string
|
|
type: object
|
|
type: array
|
|
readinessChecks:
|
|
default:
|
|
- matchCondition:
|
|
status: "True"
|
|
type: Ready
|
|
type: MatchCondition
|
|
description: |-
|
|
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".
|
|
items:
|
|
description: |-
|
|
ReadinessCheck is used to indicate how to tell whether a resource is ready
|
|
for consumption.
|
|
properties:
|
|
fieldPath:
|
|
description: FieldPath shows the path of the field whose
|
|
value will be used.
|
|
type: string
|
|
matchCondition:
|
|
description: MatchCondition specifies the condition you'd
|
|
like to match if you're using "MatchCondition" type.
|
|
properties:
|
|
status:
|
|
default: "True"
|
|
description: Status is the status of the condition
|
|
you'd like to match.
|
|
type: string
|
|
type:
|
|
default: Ready
|
|
description: Type indicates the type of condition
|
|
you'd like to use.
|
|
type: string
|
|
required:
|
|
- status
|
|
- type
|
|
type: object
|
|
matchInteger:
|
|
description: MatchInt is the value you'd like to match
|
|
if you're using "MatchInt" type.
|
|
format: int64
|
|
type: integer
|
|
matchString:
|
|
description: MatchString is the value you'd like to match
|
|
if you're using "MatchString" type.
|
|
type: string
|
|
type:
|
|
description: Type indicates the type of probe you'd like
|
|
to use.
|
|
enum:
|
|
- MatchString
|
|
- MatchInteger
|
|
- NonEmpty
|
|
- MatchCondition
|
|
- MatchTrue
|
|
- MatchFalse
|
|
- None
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
type: array
|
|
required:
|
|
- base
|
|
type: object
|
|
type: array
|
|
revision:
|
|
description: |-
|
|
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.
|
|
format: int64
|
|
type: integer
|
|
writeConnectionSecretsToNamespace:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
required:
|
|
- compositeTypeRef
|
|
- revision
|
|
type: object
|
|
status:
|
|
description: |-
|
|
CompositionRevisionStatus shows the observed state of the composition
|
|
revision.
|
|
properties:
|
|
conditions:
|
|
description: Conditions of the resource.
|
|
items:
|
|
description: A Condition that may apply to a resource.
|
|
properties:
|
|
lastTransitionTime:
|
|
description: |-
|
|
LastTransitionTime is the last time this condition transitioned from one
|
|
status to another.
|
|
format: date-time
|
|
type: string
|
|
message:
|
|
description: |-
|
|
A Message containing details about this condition's last transition from
|
|
one status to another, if any.
|
|
type: string
|
|
observedGeneration:
|
|
description: |-
|
|
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.
|
|
format: int64
|
|
type: integer
|
|
reason:
|
|
description: A Reason for this condition's last transition from
|
|
one status to another.
|
|
type: string
|
|
status:
|
|
description: Status of this condition; is it currently True,
|
|
False, or Unknown?
|
|
type: string
|
|
type:
|
|
description: |-
|
|
Type of this condition. At most one of each condition type may apply to
|
|
a resource at any point in time.
|
|
type: string
|
|
required:
|
|
- lastTransitionTime
|
|
- reason
|
|
- status
|
|
- type
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- type
|
|
x-kubernetes-list-type: map
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: false
|
|
subresources:
|
|
status: {}
|