mirror of https://github.com/crossplane/docs.git
update CRDs for v2.0-preview
Signed-off-by: Jared Watts <jbw976@gmail.com>
This commit is contained in:
parent
017ee79d92
commit
31c766b48f
|
@ -116,6 +116,10 @@ spec:
|
||||||
x-kubernetes-validations:
|
x-kubernetes-validations:
|
||||||
- message: Value is immutable
|
- message: Value is immutable
|
||||||
rule: self == oldSelf
|
rule: self == oldSelf
|
||||||
|
- message: Plural name must be lowercase
|
||||||
|
rule: self.plural == self.plural.lowerAscii()
|
||||||
|
- message: Singular name must be lowercase
|
||||||
|
rule: '!has(self.singular) || self.singular == self.singular.lowerAscii()'
|
||||||
connectionSecretKeys:
|
connectionSecretKeys:
|
||||||
description: |-
|
description: |-
|
||||||
ConnectionSecretKeys is the list of keys that will be exposed to the end
|
ConnectionSecretKeys is the list of keys that will be exposed to the end
|
||||||
|
@ -228,6 +232,10 @@ spec:
|
||||||
required:
|
required:
|
||||||
- strategy
|
- strategy
|
||||||
type: object
|
type: object
|
||||||
|
x-kubernetes-validations:
|
||||||
|
- message: Webhook configuration is required when conversion strategy
|
||||||
|
is Webhook
|
||||||
|
rule: self.strategy == 'Webhook' && has(self.webhook)
|
||||||
defaultCompositeDeletePolicy:
|
defaultCompositeDeletePolicy:
|
||||||
default: Background
|
default: Background
|
||||||
description: |-
|
description: |-
|
||||||
|
@ -355,6 +363,26 @@ spec:
|
||||||
x-kubernetes-validations:
|
x-kubernetes-validations:
|
||||||
- message: Value is immutable
|
- message: Value is immutable
|
||||||
rule: self == oldSelf
|
rule: self == oldSelf
|
||||||
|
- message: Plural name must be lowercase
|
||||||
|
rule: self.plural == self.plural.lowerAscii()
|
||||||
|
- message: Singular name must be lowercase
|
||||||
|
rule: '!has(self.singular) || self.singular == self.singular.lowerAscii()'
|
||||||
|
scope:
|
||||||
|
default: LegacyCluster
|
||||||
|
description: |-
|
||||||
|
Scope of the defined composite resource. Namespaced composite resources
|
||||||
|
are scoped to a single namespace. Cluster scoped composite resource exist
|
||||||
|
outside the scope of any namespace. Neither can be claimed. Legacy
|
||||||
|
cluster scoped composite resources are cluster scoped resources that can
|
||||||
|
be claimed.
|
||||||
|
enum:
|
||||||
|
- LegacyCluster
|
||||||
|
- Namespaced
|
||||||
|
- Cluster
|
||||||
|
type: string
|
||||||
|
x-kubernetes-validations:
|
||||||
|
- message: Value is immutable
|
||||||
|
rule: self == oldSelf
|
||||||
versions:
|
versions:
|
||||||
description: |-
|
description: |-
|
||||||
Versions is the list of all API versions of the defined composite
|
Versions is the list of all API versions of the defined composite
|
||||||
|
@ -474,6 +502,9 @@ spec:
|
||||||
- names
|
- names
|
||||||
- versions
|
- versions
|
||||||
type: object
|
type: object
|
||||||
|
x-kubernetes-validations:
|
||||||
|
- message: Only LegacyCluster composite resources can offer claims
|
||||||
|
rule: self.scope == 'LegacyCluster' || !has(self.claimNames)
|
||||||
status:
|
status:
|
||||||
description: CompositeResourceDefinitionStatus shows the observed state
|
description: CompositeResourceDefinitionStatus shows the observed state
|
||||||
of the definition.
|
of the definition.
|
||||||
|
@ -572,3 +603,576 @@ spec:
|
||||||
storage: true
|
storage: true
|
||||||
subresources:
|
subresources:
|
||||||
status: {}
|
status: {}
|
||||||
|
- additionalPrinterColumns:
|
||||||
|
- jsonPath: .status.conditions[?(@.type=='Established')].status
|
||||||
|
name: ESTABLISHED
|
||||||
|
type: string
|
||||||
|
- jsonPath: .status.conditions[?(@.type=='Offered')].status
|
||||||
|
name: OFFERED
|
||||||
|
type: string
|
||||||
|
- jsonPath: .metadata.creationTimestamp
|
||||||
|
name: AGE
|
||||||
|
type: date
|
||||||
|
name: v2alpha1
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
description: |-
|
||||||
|
A CompositeResourceDefinition defines the schema for a new custom Kubernetes
|
||||||
|
API.
|
||||||
|
|
||||||
|
Read the Crossplane documentation for
|
||||||
|
[more information about CustomResourceDefinitions](https://docs.crossplane.io/latest/concepts/composite-resource-definitions).
|
||||||
|
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: CompositeResourceDefinitionSpec specifies the desired state
|
||||||
|
of the definition.
|
||||||
|
properties:
|
||||||
|
claimNames:
|
||||||
|
description: |-
|
||||||
|
ClaimNames specifies the names of an optional composite resource claim.
|
||||||
|
When claim names are specified Crossplane will create a namespaced
|
||||||
|
'composite resource claim' CRD that corresponds to the defined composite
|
||||||
|
resource. This composite resource claim acts as a namespaced proxy for
|
||||||
|
the composite resource; creating, updating, or deleting the claim will
|
||||||
|
create, update, or delete a corresponding composite resource. You may add
|
||||||
|
claim names to an existing CompositeResourceDefinition, but they cannot
|
||||||
|
be changed or removed once they have been set.
|
||||||
|
|
||||||
|
Deprecated: Claims aren't supported in apiextensions.crossplane.io/v2.
|
||||||
|
properties:
|
||||||
|
categories:
|
||||||
|
description: |-
|
||||||
|
categories is a list of grouped resources this custom resource belongs to (e.g. 'all').
|
||||||
|
This is published in API discovery documents, and used by clients to support invocations like
|
||||||
|
`kubectl get all`.
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
x-kubernetes-list-type: atomic
|
||||||
|
kind:
|
||||||
|
description: |-
|
||||||
|
kind is the serialized kind of the resource. It is normally CamelCase and singular.
|
||||||
|
Custom resource instances will use this value as the `kind` attribute in API calls.
|
||||||
|
type: string
|
||||||
|
listKind:
|
||||||
|
description: listKind is the serialized kind of the list for this
|
||||||
|
resource. Defaults to "`kind`List".
|
||||||
|
type: string
|
||||||
|
plural:
|
||||||
|
description: |-
|
||||||
|
plural is the plural name of the resource to serve.
|
||||||
|
The custom resources are served under `/apis/<group>/<version>/.../<plural>`.
|
||||||
|
Must match the name of the CustomResourceDefinition (in the form `<names.plural>.<group>`).
|
||||||
|
Must be all lowercase.
|
||||||
|
type: string
|
||||||
|
shortNames:
|
||||||
|
description: |-
|
||||||
|
shortNames are short names for the resource, exposed in API discovery documents,
|
||||||
|
and used by clients to support invocations like `kubectl get <shortname>`.
|
||||||
|
It must be all lowercase.
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
x-kubernetes-list-type: atomic
|
||||||
|
singular:
|
||||||
|
description: singular is the singular name of the resource. It
|
||||||
|
must be all lowercase. Defaults to lowercased `kind`.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- kind
|
||||||
|
- plural
|
||||||
|
type: object
|
||||||
|
connectionSecretKeys:
|
||||||
|
description: |-
|
||||||
|
ConnectionSecretKeys is the list of keys that will be exposed to the end
|
||||||
|
user of the defined kind.
|
||||||
|
If the list is empty, all keys will be published.
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
conversion:
|
||||||
|
description: Conversion defines all conversion settings for the defined
|
||||||
|
Composite resource.
|
||||||
|
properties:
|
||||||
|
strategy:
|
||||||
|
description: |-
|
||||||
|
strategy specifies how custom resources are converted between versions. Allowed values are:
|
||||||
|
- `"None"`: The converter only change the apiVersion and would not touch any other field in the custom resource.
|
||||||
|
- `"Webhook"`: API Server will call to an external webhook to do the conversion. Additional information
|
||||||
|
is needed for this option. This requires spec.preserveUnknownFields to be false, and spec.conversion.webhook to be set.
|
||||||
|
type: string
|
||||||
|
webhook:
|
||||||
|
description: webhook describes how to call the conversion webhook.
|
||||||
|
Required when `strategy` is set to `"Webhook"`.
|
||||||
|
properties:
|
||||||
|
clientConfig:
|
||||||
|
description: clientConfig is the instructions for how to call
|
||||||
|
the webhook if strategy is `Webhook`.
|
||||||
|
properties:
|
||||||
|
caBundle:
|
||||||
|
description: |-
|
||||||
|
caBundle is a PEM encoded CA bundle which will be used to validate the webhook's server certificate.
|
||||||
|
If unspecified, system trust roots on the apiserver are used.
|
||||||
|
format: byte
|
||||||
|
type: string
|
||||||
|
service:
|
||||||
|
description: |-
|
||||||
|
service is a reference to the service for this webhook. Either
|
||||||
|
service or url must be specified.
|
||||||
|
|
||||||
|
If the webhook is running within the cluster, then you should use `service`.
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
description: |-
|
||||||
|
name is the name of the service.
|
||||||
|
Required
|
||||||
|
type: string
|
||||||
|
namespace:
|
||||||
|
description: |-
|
||||||
|
namespace is the namespace of the service.
|
||||||
|
Required
|
||||||
|
type: string
|
||||||
|
path:
|
||||||
|
description: path is an optional URL path at which
|
||||||
|
the webhook will be contacted.
|
||||||
|
type: string
|
||||||
|
port:
|
||||||
|
description: |-
|
||||||
|
port is an optional service port at which the webhook will be contacted.
|
||||||
|
`port` should be a valid port number (1-65535, inclusive).
|
||||||
|
Defaults to 443 for backward compatibility.
|
||||||
|
format: int32
|
||||||
|
type: integer
|
||||||
|
required:
|
||||||
|
- name
|
||||||
|
- namespace
|
||||||
|
type: object
|
||||||
|
url:
|
||||||
|
description: |-
|
||||||
|
url gives the location of the webhook, in standard URL form
|
||||||
|
(`scheme://host:port/path`). Exactly one of `url` or `service`
|
||||||
|
must be specified.
|
||||||
|
|
||||||
|
The `host` should not refer to a service running in the cluster; use
|
||||||
|
the `service` field instead. The host might be resolved via external
|
||||||
|
DNS in some apiservers (e.g., `kube-apiserver` cannot resolve
|
||||||
|
in-cluster DNS as that would be a layering violation). `host` may
|
||||||
|
also be an IP address.
|
||||||
|
|
||||||
|
Please note that using `localhost` or `127.0.0.1` as a `host` is
|
||||||
|
risky unless you take great care to run this webhook on all hosts
|
||||||
|
which run an apiserver which might need to make calls to this
|
||||||
|
webhook. Such installs are likely to be non-portable, i.e., not easy
|
||||||
|
to turn up in a new cluster.
|
||||||
|
|
||||||
|
The scheme must be "https"; the URL must begin with "https://".
|
||||||
|
|
||||||
|
A path is optional, and if present may be any string permissible in
|
||||||
|
a URL. You may use the path to pass an arbitrary string to the
|
||||||
|
webhook, for example, a cluster identifier.
|
||||||
|
|
||||||
|
Attempting to use a user or basic auth e.g. "user:password@" is not
|
||||||
|
allowed. Fragments ("#...") and query parameters ("?...") are not
|
||||||
|
allowed, either.
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
conversionReviewVersions:
|
||||||
|
description: |-
|
||||||
|
conversionReviewVersions is an ordered list of preferred `ConversionReview`
|
||||||
|
versions the Webhook expects. The API server will use the first version in
|
||||||
|
the list which it supports. If none of the versions specified in this list
|
||||||
|
are supported by API server, conversion will fail for the custom resource.
|
||||||
|
If a persisted Webhook configuration specifies allowed versions and does not
|
||||||
|
include any versions known to the API Server, calls to the webhook will fail.
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
x-kubernetes-list-type: atomic
|
||||||
|
required:
|
||||||
|
- conversionReviewVersions
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- strategy
|
||||||
|
type: object
|
||||||
|
defaultCompositeDeletePolicy:
|
||||||
|
description: |-
|
||||||
|
DefaultCompositeDeletePolicy is the policy used when deleting the Composite
|
||||||
|
that is associated with the Claim if no policy has been specified.
|
||||||
|
|
||||||
|
Deprecated: Claims aren't supported in apiextensions.crossplane.io/v2.
|
||||||
|
enum:
|
||||||
|
- Background
|
||||||
|
- Foreground
|
||||||
|
type: string
|
||||||
|
defaultCompositionRef:
|
||||||
|
description: |-
|
||||||
|
DefaultCompositionRef refers to the Composition resource that will be used
|
||||||
|
in case no composition selector is given.
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
description: Name of the Composition.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- name
|
||||||
|
type: object
|
||||||
|
defaultCompositionUpdatePolicy:
|
||||||
|
default: Automatic
|
||||||
|
description: |-
|
||||||
|
DefaultCompositionUpdatePolicy is the policy used when updating composites after a new
|
||||||
|
Composition Revision has been created if no policy has been specified on the composite.
|
||||||
|
enum:
|
||||||
|
- Automatic
|
||||||
|
- Manual
|
||||||
|
type: string
|
||||||
|
enforcedCompositionRef:
|
||||||
|
description: |-
|
||||||
|
EnforcedCompositionRef refers to the Composition resource that will be used
|
||||||
|
by all composite instances whose schema is defined by this definition.
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
description: Name of the Composition.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- name
|
||||||
|
type: object
|
||||||
|
x-kubernetes-validations:
|
||||||
|
- message: Value is immutable
|
||||||
|
rule: self == oldSelf
|
||||||
|
group:
|
||||||
|
description: |-
|
||||||
|
Group specifies the API group of the defined composite resource.
|
||||||
|
Composite resources are served under `/apis/<group>/...`. Must match the
|
||||||
|
name of the XRD (in the form `<names.plural>.<group>`).
|
||||||
|
type: string
|
||||||
|
x-kubernetes-validations:
|
||||||
|
- message: Value is immutable
|
||||||
|
rule: self == oldSelf
|
||||||
|
metadata:
|
||||||
|
description: Metadata specifies the desired metadata for the defined
|
||||||
|
composite resource and claim CRD's.
|
||||||
|
properties:
|
||||||
|
annotations:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
description: |-
|
||||||
|
Annotations is an unstructured key value map stored with a resource that may be
|
||||||
|
set by external tools to store and retrieve arbitrary metadata. They are not
|
||||||
|
queryable and should be preserved when modifying objects.
|
||||||
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations
|
||||||
|
type: object
|
||||||
|
labels:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
description: |-
|
||||||
|
Map of string keys and values that can be used to organize and categorize
|
||||||
|
(scope and select) objects. May match selectors of replication controllers
|
||||||
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels
|
||||||
|
and services.
|
||||||
|
These labels are added to the composite resource and claim CRD's in addition
|
||||||
|
to any labels defined by `CompositionResourceDefinition` `metadata.labels`.
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
names:
|
||||||
|
description: |-
|
||||||
|
Names specifies the resource and kind names of the defined composite
|
||||||
|
resource.
|
||||||
|
properties:
|
||||||
|
categories:
|
||||||
|
description: |-
|
||||||
|
categories is a list of grouped resources this custom resource belongs to (e.g. 'all').
|
||||||
|
This is published in API discovery documents, and used by clients to support invocations like
|
||||||
|
`kubectl get all`.
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
x-kubernetes-list-type: atomic
|
||||||
|
kind:
|
||||||
|
description: |-
|
||||||
|
kind is the serialized kind of the resource. It is normally CamelCase and singular.
|
||||||
|
Custom resource instances will use this value as the `kind` attribute in API calls.
|
||||||
|
type: string
|
||||||
|
listKind:
|
||||||
|
description: listKind is the serialized kind of the list for this
|
||||||
|
resource. Defaults to "`kind`List".
|
||||||
|
type: string
|
||||||
|
plural:
|
||||||
|
description: |-
|
||||||
|
plural is the plural name of the resource to serve.
|
||||||
|
The custom resources are served under `/apis/<group>/<version>/.../<plural>`.
|
||||||
|
Must match the name of the CustomResourceDefinition (in the form `<names.plural>.<group>`).
|
||||||
|
Must be all lowercase.
|
||||||
|
type: string
|
||||||
|
shortNames:
|
||||||
|
description: |-
|
||||||
|
shortNames are short names for the resource, exposed in API discovery documents,
|
||||||
|
and used by clients to support invocations like `kubectl get <shortname>`.
|
||||||
|
It must be all lowercase.
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
x-kubernetes-list-type: atomic
|
||||||
|
singular:
|
||||||
|
description: singular is the singular name of the resource. It
|
||||||
|
must be all lowercase. Defaults to lowercased `kind`.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- kind
|
||||||
|
- plural
|
||||||
|
type: object
|
||||||
|
x-kubernetes-validations:
|
||||||
|
- message: Value is immutable
|
||||||
|
rule: self == oldSelf
|
||||||
|
- message: Plural name must be lowercase
|
||||||
|
rule: self.plural == self.plural.lowerAscii()
|
||||||
|
- message: Singular name must be lowercase
|
||||||
|
rule: '!has(self.singular) || self.singular == self.singular.lowerAscii()'
|
||||||
|
scope:
|
||||||
|
default: Namespaced
|
||||||
|
description: |-
|
||||||
|
Scope of the defined composite resource. Namespaced composite resources
|
||||||
|
are scoped to a single namespace. Cluster scoped composite resource exist
|
||||||
|
outside the scope of any namespace.
|
||||||
|
enum:
|
||||||
|
- Namespaced
|
||||||
|
- Cluster
|
||||||
|
type: string
|
||||||
|
x-kubernetes-validations:
|
||||||
|
- message: Value is immutable
|
||||||
|
rule: self == oldSelf
|
||||||
|
versions:
|
||||||
|
description: |-
|
||||||
|
Versions is the list of all API versions of the defined composite
|
||||||
|
resource. Version names are used to compute the order in which served
|
||||||
|
versions are listed in API discovery. If the version string is
|
||||||
|
"kube-like", it will sort above non "kube-like" version strings, which
|
||||||
|
are ordered lexicographically. "Kube-like" versions start with a "v",
|
||||||
|
then are followed by a number (the major version), then optionally the
|
||||||
|
string "alpha" or "beta" and another number (the minor version). These
|
||||||
|
are sorted first by GA > beta > alpha (where GA is a version with no
|
||||||
|
suffix such as beta or alpha), and then by comparing major version, then
|
||||||
|
minor version. An example sorted list of versions: v10, v2, v1, v11beta2,
|
||||||
|
v10beta3, v3beta1, v12alpha1, v11alpha2, foo1, foo10.
|
||||||
|
items:
|
||||||
|
description: CompositeResourceDefinitionVersion describes a version
|
||||||
|
of an XR.
|
||||||
|
properties:
|
||||||
|
additionalPrinterColumns:
|
||||||
|
description: |-
|
||||||
|
AdditionalPrinterColumns specifies additional columns returned in Table
|
||||||
|
output. If no columns are specified, a single column displaying the age
|
||||||
|
of the custom resource is used. See the following link for details:
|
||||||
|
https://kubernetes.io/docs/reference/using-api/api-concepts/#receiving-resources-as-tables
|
||||||
|
items:
|
||||||
|
description: CustomResourceColumnDefinition specifies a column
|
||||||
|
for server side printing.
|
||||||
|
properties:
|
||||||
|
description:
|
||||||
|
description: description is a human readable description
|
||||||
|
of this column.
|
||||||
|
type: string
|
||||||
|
format:
|
||||||
|
description: |-
|
||||||
|
format is an optional OpenAPI type definition for this column. The 'name' format is applied
|
||||||
|
to the primary identifier column to assist in clients identifying column is the resource name.
|
||||||
|
See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types for details.
|
||||||
|
type: string
|
||||||
|
jsonPath:
|
||||||
|
description: |-
|
||||||
|
jsonPath is a simple JSON path (i.e. with array notation) which is evaluated against
|
||||||
|
each custom resource to produce the value for this column.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: name is a human readable name for the column.
|
||||||
|
type: string
|
||||||
|
priority:
|
||||||
|
description: |-
|
||||||
|
priority is an integer defining the relative importance of this column compared to others. Lower
|
||||||
|
numbers are considered higher priority. Columns that may be omitted in limited space scenarios
|
||||||
|
should be given a priority greater than 0.
|
||||||
|
format: int32
|
||||||
|
type: integer
|
||||||
|
type:
|
||||||
|
description: |-
|
||||||
|
type is an OpenAPI type definition for this column.
|
||||||
|
See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types for details.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- jsonPath
|
||||||
|
- name
|
||||||
|
- type
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
deprecated:
|
||||||
|
description: |-
|
||||||
|
The deprecated field specifies that this version is deprecated and should
|
||||||
|
not be used.
|
||||||
|
type: boolean
|
||||||
|
deprecationWarning:
|
||||||
|
description: |-
|
||||||
|
DeprecationWarning specifies the message that should be shown to the user
|
||||||
|
when using this version.
|
||||||
|
maxLength: 256
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
description: |-
|
||||||
|
Name of this version, e.g. “v1”, “v2beta1”, etc. Composite resources are
|
||||||
|
served under this version at `/apis/<group>/<version>/...` if `served` is
|
||||||
|
true.
|
||||||
|
type: string
|
||||||
|
referenceable:
|
||||||
|
description: |-
|
||||||
|
Referenceable specifies that this version may be referenced by a
|
||||||
|
Composition in order to configure which resources an XR may be composed
|
||||||
|
of. Exactly one version must be marked as referenceable; all Compositions
|
||||||
|
must target only the referenceable version. The referenceable version
|
||||||
|
must be served. It's mapped to the CRD's `spec.versions[*].storage` field.
|
||||||
|
type: boolean
|
||||||
|
schema:
|
||||||
|
description: |-
|
||||||
|
Schema describes the schema used for validation, pruning, and defaulting
|
||||||
|
of this version of the defined composite resource. Fields required by all
|
||||||
|
composite resources will be injected into this schema automatically, and
|
||||||
|
will override equivalently named fields in this schema. Omitting this
|
||||||
|
schema results in a schema that contains only the fields required by all
|
||||||
|
composite resources.
|
||||||
|
properties:
|
||||||
|
openAPIV3Schema:
|
||||||
|
description: |-
|
||||||
|
OpenAPIV3Schema is the OpenAPI v3 schema to use for validation and
|
||||||
|
pruning.
|
||||||
|
type: object
|
||||||
|
x-kubernetes-preserve-unknown-fields: true
|
||||||
|
type: object
|
||||||
|
served:
|
||||||
|
description: Served specifies that this version should be served
|
||||||
|
via REST APIs.
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- name
|
||||||
|
- referenceable
|
||||||
|
- served
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
|
required:
|
||||||
|
- group
|
||||||
|
- names
|
||||||
|
- versions
|
||||||
|
type: object
|
||||||
|
x-kubernetes-validations:
|
||||||
|
- message: Claims aren't supported in apiextensions.crossplane.io/v2
|
||||||
|
rule: '!has(self.claimNames)'
|
||||||
|
status:
|
||||||
|
description: CompositeResourceDefinitionStatus shows the observed state
|
||||||
|
of the definition.
|
||||||
|
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
|
||||||
|
controllers:
|
||||||
|
description: |-
|
||||||
|
Controllers represents the status of the controllers that power this
|
||||||
|
composite resource definition.
|
||||||
|
properties:
|
||||||
|
compositeResourceClaimType:
|
||||||
|
description: |-
|
||||||
|
The CompositeResourceClaimTypeRef is the type of composite resource claim
|
||||||
|
that Crossplane is currently reconciling for this definition. Its version
|
||||||
|
will eventually become consistent with the definition's referenceable
|
||||||
|
version. Note that clients may interact with any served type; this is
|
||||||
|
simply the type that Crossplane interacts with.
|
||||||
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
description: APIVersion of the type.
|
||||||
|
type: string
|
||||||
|
kind:
|
||||||
|
description: Kind of the type.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- apiVersion
|
||||||
|
- kind
|
||||||
|
type: object
|
||||||
|
compositeResourceType:
|
||||||
|
description: |-
|
||||||
|
The CompositeResourceTypeRef is the type of composite resource that
|
||||||
|
Crossplane is currently reconciling for this definition. Its version will
|
||||||
|
eventually become consistent with the definition's referenceable version.
|
||||||
|
Note that clients may interact with any served type; this is simply the
|
||||||
|
type that Crossplane interacts with.
|
||||||
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
description: APIVersion of the type.
|
||||||
|
type: string
|
||||||
|
kind:
|
||||||
|
description: Kind of the type.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- apiVersion
|
||||||
|
- kind
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
served: true
|
||||||
|
storage: false
|
||||||
|
subresources:
|
||||||
|
status: {}
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -77,395 +77,16 @@ spec:
|
||||||
- message: Value is immutable
|
- message: Value is immutable
|
||||||
rule: self == oldSelf
|
rule: self == oldSelf
|
||||||
mode:
|
mode:
|
||||||
default: Resources
|
default: Pipeline
|
||||||
description: |-
|
description: |-
|
||||||
Mode controls what type or "mode" of Composition will be used.
|
Mode controls what type or "mode" of Composition will be used.
|
||||||
|
|
||||||
"Pipeline" indicates that a Composition specifies a pipeline of
|
"Pipeline" indicates that a Composition specifies a pipeline of
|
||||||
Composition Functions, each of which is responsible for producing
|
Composition Functions, each of which is responsible for producing
|
||||||
composed resources that Crossplane should create or update.
|
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:
|
enum:
|
||||||
- Resources
|
|
||||||
- Pipeline
|
- Pipeline
|
||||||
type: string
|
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:
|
pipeline:
|
||||||
description: |-
|
description: |-
|
||||||
Pipeline is a list of composition function steps that will be used when a
|
Pipeline is a list of composition function steps that will be used when a
|
||||||
|
@ -513,6 +134,9 @@ spec:
|
||||||
- name
|
- name
|
||||||
- source
|
- source
|
||||||
type: object
|
type: object
|
||||||
|
x-kubernetes-validations:
|
||||||
|
- message: the Secret source requires a secretRef
|
||||||
|
rule: self.source == 'Secret' && has(self.secretRef)
|
||||||
type: array
|
type: array
|
||||||
x-kubernetes-list-map-keys:
|
x-kubernetes-list-map-keys:
|
||||||
- name
|
- name
|
||||||
|
@ -543,532 +167,24 @@ spec:
|
||||||
- functionRef
|
- functionRef
|
||||||
- step
|
- step
|
||||||
type: object
|
type: object
|
||||||
|
maxItems: 99
|
||||||
|
minItems: 1
|
||||||
type: array
|
type: array
|
||||||
x-kubernetes-list-map-keys:
|
x-kubernetes-list-map-keys:
|
||||||
- step
|
- step
|
||||||
x-kubernetes-list-type: map
|
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
|
|
||||||
writeConnectionSecretsToNamespace:
|
writeConnectionSecretsToNamespace:
|
||||||
description: |-
|
description: |-
|
||||||
WriteConnectionSecretsToNamespace specifies the namespace in which the
|
WriteConnectionSecretsToNamespace specifies the namespace in which the
|
||||||
connection secrets of composite resource dynamically provisioned using
|
connection secrets of composite resource dynamically provisioned using
|
||||||
this composition will be created.
|
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
|
type: string
|
||||||
required:
|
required:
|
||||||
- compositeTypeRef
|
- compositeTypeRef
|
||||||
type: object
|
type: object
|
||||||
|
x-kubernetes-validations:
|
||||||
|
- message: an array of pipeline steps is required in Pipeline mode
|
||||||
|
rule: self.mode == 'Pipeline' && has(self.pipeline)
|
||||||
type: object
|
type: object
|
||||||
served: true
|
served: true
|
||||||
storage: true
|
storage: true
|
||||||
|
|
|
@ -58,7 +58,7 @@ spec:
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
served: true
|
served: true
|
||||||
storage: false
|
storage: true
|
||||||
subresources: {}
|
subresources: {}
|
||||||
- additionalPrinterColumns:
|
- additionalPrinterColumns:
|
||||||
- jsonPath: .metadata.creationTimestamp
|
- jsonPath: .metadata.creationTimestamp
|
||||||
|
@ -100,5 +100,5 @@ spec:
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
served: true
|
served: true
|
||||||
storage: true
|
storage: false
|
||||||
subresources: {}
|
subresources: {}
|
||||||
|
|
|
@ -26,6 +26,9 @@ spec:
|
||||||
- jsonPath: .metadata.creationTimestamp
|
- jsonPath: .metadata.creationTimestamp
|
||||||
name: AGE
|
name: AGE
|
||||||
type: date
|
type: date
|
||||||
|
deprecated: true
|
||||||
|
deprecationWarning: apiextensions.crossplane.io Usage is deprecated; migrate to
|
||||||
|
protection.crossplane.io Usage or ClusterUsage
|
||||||
name: v1alpha1
|
name: v1alpha1
|
||||||
schema:
|
schema:
|
||||||
openAPIV3Schema:
|
openAPIV3Schema:
|
||||||
|
@ -36,7 +39,9 @@ spec:
|
||||||
resources with dependent resources.
|
resources with dependent resources.
|
||||||
|
|
||||||
Read the Crossplane documentation for
|
Read the Crossplane documentation for
|
||||||
[more information about Compositions](https://docs.crossplane.io/latest/concepts/usages).
|
[more information about Usages](https://docs.crossplane.io/latest/concepts/usages).
|
||||||
|
|
||||||
|
Deprecated: Use protection.crossplane.io Usage or ClusterUsage.
|
||||||
properties:
|
properties:
|
||||||
apiVersion:
|
apiVersion:
|
||||||
description: |-
|
description: |-
|
||||||
|
@ -213,3 +218,205 @@ spec:
|
||||||
storage: true
|
storage: true
|
||||||
subresources:
|
subresources:
|
||||||
status: {}
|
status: {}
|
||||||
|
- additionalPrinterColumns:
|
||||||
|
- jsonPath: .metadata.annotations.crossplane\.io/usage-details
|
||||||
|
name: DETAILS
|
||||||
|
type: string
|
||||||
|
- jsonPath: .status.conditions[?(@.type=='Ready')].status
|
||||||
|
name: READY
|
||||||
|
type: string
|
||||||
|
- jsonPath: .metadata.creationTimestamp
|
||||||
|
name: AGE
|
||||||
|
type: date
|
||||||
|
deprecated: true
|
||||||
|
deprecationWarning: apiextensions.crossplane.io Usage is deprecated; migrate to
|
||||||
|
protection.crossplane.io Usage or ClusterUsage
|
||||||
|
name: v1beta1
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
description: |-
|
||||||
|
A Usage defines a deletion blocking relationship between two resources.
|
||||||
|
|
||||||
|
Usages prevent accidental deletion of a single resource or deletion of
|
||||||
|
resources with dependent resources.
|
||||||
|
|
||||||
|
Read the Crossplane documentation for
|
||||||
|
[more information about Usages](https://docs.crossplane.io/latest/concepts/usages).
|
||||||
|
|
||||||
|
Deprecated: Use protection.crossplane.io Usage or ClusterUsage.
|
||||||
|
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: UsageSpec defines the desired state of Usage.
|
||||||
|
properties:
|
||||||
|
by:
|
||||||
|
description: By is the resource that is "using the other resource".
|
||||||
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
description: API version of the referent.
|
||||||
|
type: string
|
||||||
|
kind:
|
||||||
|
description: |-
|
||||||
|
Kind of the referent.
|
||||||
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
||||||
|
type: string
|
||||||
|
resourceRef:
|
||||||
|
description: Reference to the resource.
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
description: Name of the referent.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- name
|
||||||
|
type: object
|
||||||
|
resourceSelector:
|
||||||
|
description: |-
|
||||||
|
Selector to the resource.
|
||||||
|
This field will be ignored if ResourceRef is set.
|
||||||
|
properties:
|
||||||
|
matchControllerRef:
|
||||||
|
description: |-
|
||||||
|
MatchControllerRef ensures an object with the same controller reference
|
||||||
|
as the selecting object is selected.
|
||||||
|
type: boolean
|
||||||
|
matchLabels:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
description: MatchLabels ensures an object with matching labels
|
||||||
|
is selected.
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
x-kubernetes-validations:
|
||||||
|
- message: either a resource reference or a resource selector should
|
||||||
|
be set.
|
||||||
|
rule: has(self.resourceRef) || has(self.resourceSelector)
|
||||||
|
of:
|
||||||
|
description: Of is the resource that is "being used".
|
||||||
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
description: API version of the referent.
|
||||||
|
type: string
|
||||||
|
kind:
|
||||||
|
description: |-
|
||||||
|
Kind of the referent.
|
||||||
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
||||||
|
type: string
|
||||||
|
resourceRef:
|
||||||
|
description: Reference to the resource.
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
description: Name of the referent.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- name
|
||||||
|
type: object
|
||||||
|
resourceSelector:
|
||||||
|
description: |-
|
||||||
|
Selector to the resource.
|
||||||
|
This field will be ignored if ResourceRef is set.
|
||||||
|
properties:
|
||||||
|
matchControllerRef:
|
||||||
|
description: |-
|
||||||
|
MatchControllerRef ensures an object with the same controller reference
|
||||||
|
as the selecting object is selected.
|
||||||
|
type: boolean
|
||||||
|
matchLabels:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
description: MatchLabels ensures an object with matching labels
|
||||||
|
is selected.
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
x-kubernetes-validations:
|
||||||
|
- message: either a resource reference or a resource selector should
|
||||||
|
be set.
|
||||||
|
rule: has(self.resourceRef) || has(self.resourceSelector)
|
||||||
|
reason:
|
||||||
|
description: Reason is the reason for blocking deletion of the resource.
|
||||||
|
type: string
|
||||||
|
replayDeletion:
|
||||||
|
description: ReplayDeletion will trigger a deletion on the used resource
|
||||||
|
during the deletion of the usage itself, if it was attempted to
|
||||||
|
be deleted at least once.
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- of
|
||||||
|
type: object
|
||||||
|
x-kubernetes-validations:
|
||||||
|
- message: either "spec.by" or "spec.reason" must be specified.
|
||||||
|
rule: has(self.by) || has(self.reason)
|
||||||
|
status:
|
||||||
|
description: UsageStatus defines the observed state of Usage.
|
||||||
|
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
|
||||||
|
required:
|
||||||
|
- spec
|
||||||
|
type: object
|
||||||
|
served: true
|
||||||
|
storage: false
|
||||||
|
subresources:
|
||||||
|
status: {}
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -44,6 +44,9 @@ spec:
|
||||||
items:
|
items:
|
||||||
description: LockPackage is a package that is in the lock.
|
description: LockPackage is a package that is in the lock.
|
||||||
properties:
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
description: APIVersion of the package.
|
||||||
|
type: string
|
||||||
dependencies:
|
dependencies:
|
||||||
description: |-
|
description: |-
|
||||||
Dependencies are the list of dependencies of this package. The order of
|
Dependencies are the list of dependencies of this package. The order of
|
||||||
|
@ -52,25 +55,39 @@ spec:
|
||||||
description: A Dependency is a dependency of a package in the
|
description: A Dependency is a dependency of a package in the
|
||||||
lock.
|
lock.
|
||||||
properties:
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
description: APIVersion of the package.
|
||||||
|
type: string
|
||||||
constraints:
|
constraints:
|
||||||
description: |-
|
description: |-
|
||||||
Constraints is a valid semver range or a digest, which will be used to select a valid
|
Constraints is a valid semver range or a digest, which will be used to select a valid
|
||||||
dependency version.
|
dependency version.
|
||||||
type: string
|
type: string
|
||||||
|
kind:
|
||||||
|
description: Kind of the package (not the kind of the package
|
||||||
|
revision).
|
||||||
|
type: string
|
||||||
package:
|
package:
|
||||||
description: Package is the OCI image name without a tag or
|
description: Package is the OCI image name without a tag or
|
||||||
digest.
|
digest.
|
||||||
type: string
|
type: string
|
||||||
type:
|
type:
|
||||||
description: Type is the type of package. Can be either Configuration
|
description: |-
|
||||||
or Provider.
|
Type is the type of package. Can be either Configuration or Provider.
|
||||||
|
Deprecated: Specify an apiVersion and kind instead.
|
||||||
|
enum:
|
||||||
|
- Configuration
|
||||||
|
- Provider
|
||||||
|
- Function
|
||||||
type: string
|
type: string
|
||||||
required:
|
required:
|
||||||
- constraints
|
- constraints
|
||||||
- package
|
- package
|
||||||
- type
|
|
||||||
type: object
|
type: object
|
||||||
type: array
|
type: array
|
||||||
|
kind:
|
||||||
|
description: Kind of the package (not the kind of the package revision).
|
||||||
|
type: string
|
||||||
name:
|
name:
|
||||||
description: Name corresponds to the name of the package revision
|
description: Name corresponds to the name of the package revision
|
||||||
for this package.
|
for this package.
|
||||||
|
@ -79,8 +96,13 @@ spec:
|
||||||
description: Source is the OCI image name without a tag or digest.
|
description: Source is the OCI image name without a tag or digest.
|
||||||
type: string
|
type: string
|
||||||
type:
|
type:
|
||||||
description: Type is the type of package. Can be either Configuration
|
description: |-
|
||||||
or Provider.
|
Type is the type of package.
|
||||||
|
Deprecated: Specify an apiVersion and kind instead.
|
||||||
|
enum:
|
||||||
|
- Configuration
|
||||||
|
- Provider
|
||||||
|
- Function
|
||||||
type: string
|
type: string
|
||||||
version:
|
version:
|
||||||
description: Version is the tag or digest of the OCI image.
|
description: Version is the tag or digest of the OCI image.
|
||||||
|
@ -89,7 +111,6 @@ spec:
|
||||||
- dependencies
|
- dependencies
|
||||||
- name
|
- name
|
||||||
- source
|
- source
|
||||||
- type
|
|
||||||
- version
|
- version
|
||||||
type: object
|
type: object
|
||||||
type: array
|
type: array
|
||||||
|
|
|
@ -0,0 +1,216 @@
|
||||||
|
---
|
||||||
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
|
kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
controller-gen.kubebuilder.io/version: v0.16.5
|
||||||
|
name: clusterusages.protection.crossplane.io
|
||||||
|
spec:
|
||||||
|
group: protection.crossplane.io
|
||||||
|
names:
|
||||||
|
categories:
|
||||||
|
- crossplane
|
||||||
|
kind: ClusterUsage
|
||||||
|
listKind: ClusterUsageList
|
||||||
|
plural: clusterusages
|
||||||
|
singular: clusterusage
|
||||||
|
scope: Cluster
|
||||||
|
versions:
|
||||||
|
- additionalPrinterColumns:
|
||||||
|
- jsonPath: .metadata.annotations.crossplane\.io/usage-details
|
||||||
|
name: DETAILS
|
||||||
|
type: string
|
||||||
|
- jsonPath: .status.conditions[?(@.type=='Ready')].status
|
||||||
|
name: READY
|
||||||
|
type: string
|
||||||
|
- jsonPath: .metadata.creationTimestamp
|
||||||
|
name: AGE
|
||||||
|
type: date
|
||||||
|
name: v1beta1
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
description: |-
|
||||||
|
A ClusterUsage defines a deletion blocking relationship between two
|
||||||
|
resources.
|
||||||
|
|
||||||
|
Usages prevent accidental deletion of a single resource or deletion of
|
||||||
|
resources with dependent resources.
|
||||||
|
|
||||||
|
Read the Crossplane documentation for
|
||||||
|
[more information about usages](https://docs.crossplane.io/latest/concepts/usages).
|
||||||
|
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: ClusterUsageSpec defines the desired state of a ClusterUsage.
|
||||||
|
properties:
|
||||||
|
by:
|
||||||
|
description: By is the resource that is "using the other resource".
|
||||||
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
description: API version of the referent.
|
||||||
|
type: string
|
||||||
|
kind:
|
||||||
|
description: |-
|
||||||
|
Kind of the referent.
|
||||||
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
||||||
|
type: string
|
||||||
|
resourceRef:
|
||||||
|
description: Reference to the resource.
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
description: Name of the referent.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- name
|
||||||
|
type: object
|
||||||
|
resourceSelector:
|
||||||
|
description: |-
|
||||||
|
Selector to the resource.
|
||||||
|
This field will be ignored if ResourceRef is set.
|
||||||
|
properties:
|
||||||
|
matchControllerRef:
|
||||||
|
description: |-
|
||||||
|
MatchControllerRef ensures an object with the same controller reference
|
||||||
|
as the selecting object is selected.
|
||||||
|
type: boolean
|
||||||
|
matchLabels:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
description: MatchLabels ensures an object with matching labels
|
||||||
|
is selected.
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
x-kubernetes-validations:
|
||||||
|
- message: either a resource reference or a resource selector should
|
||||||
|
be set.
|
||||||
|
rule: has(self.resourceRef) || has(self.resourceSelector)
|
||||||
|
of:
|
||||||
|
description: Of is the resource that is "being used".
|
||||||
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
description: API version of the referent.
|
||||||
|
type: string
|
||||||
|
kind:
|
||||||
|
description: |-
|
||||||
|
Kind of the referent.
|
||||||
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
||||||
|
type: string
|
||||||
|
resourceRef:
|
||||||
|
description: Reference to the resource.
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
description: Name of the referent.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- name
|
||||||
|
type: object
|
||||||
|
resourceSelector:
|
||||||
|
description: |-
|
||||||
|
Selector to the resource.
|
||||||
|
This field will be ignored if ResourceRef is set.
|
||||||
|
properties:
|
||||||
|
matchControllerRef:
|
||||||
|
description: |-
|
||||||
|
MatchControllerRef ensures an object with the same controller reference
|
||||||
|
as the selecting object is selected.
|
||||||
|
type: boolean
|
||||||
|
matchLabels:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
description: MatchLabels ensures an object with matching labels
|
||||||
|
is selected.
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
x-kubernetes-validations:
|
||||||
|
- message: either a resource reference or a resource selector should
|
||||||
|
be set.
|
||||||
|
rule: has(self.resourceRef) || has(self.resourceSelector)
|
||||||
|
reason:
|
||||||
|
description: Reason is the reason for blocking deletion of the resource.
|
||||||
|
type: string
|
||||||
|
replayDeletion:
|
||||||
|
description: ReplayDeletion will trigger a deletion on the used resource
|
||||||
|
during the deletion of the usage itself, if it was attempted to
|
||||||
|
be deleted at least once.
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- of
|
||||||
|
type: object
|
||||||
|
x-kubernetes-validations:
|
||||||
|
- message: either "spec.by" or "spec.reason" must be specified.
|
||||||
|
rule: has(self.by) || has(self.reason)
|
||||||
|
status:
|
||||||
|
description: UsageStatus defines the observed state of Usage.
|
||||||
|
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
|
||||||
|
required:
|
||||||
|
- spec
|
||||||
|
type: object
|
||||||
|
served: true
|
||||||
|
storage: true
|
||||||
|
subresources:
|
||||||
|
status: {}
|
|
@ -0,0 +1,223 @@
|
||||||
|
---
|
||||||
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
|
kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
controller-gen.kubebuilder.io/version: v0.16.5
|
||||||
|
name: usages.protection.crossplane.io
|
||||||
|
spec:
|
||||||
|
group: protection.crossplane.io
|
||||||
|
names:
|
||||||
|
categories:
|
||||||
|
- crossplane
|
||||||
|
kind: Usage
|
||||||
|
listKind: UsageList
|
||||||
|
plural: usages
|
||||||
|
singular: usage
|
||||||
|
scope: Namespaced
|
||||||
|
versions:
|
||||||
|
- additionalPrinterColumns:
|
||||||
|
- jsonPath: .metadata.annotations.crossplane\.io/usage-details
|
||||||
|
name: DETAILS
|
||||||
|
type: string
|
||||||
|
- jsonPath: .status.conditions[?(@.type=='Ready')].status
|
||||||
|
name: READY
|
||||||
|
type: string
|
||||||
|
- jsonPath: .metadata.creationTimestamp
|
||||||
|
name: AGE
|
||||||
|
type: date
|
||||||
|
name: v1beta1
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
description: |-
|
||||||
|
A Usage defines a deletion blocking relationship between two resources.
|
||||||
|
|
||||||
|
Usages prevent accidental deletion of a single resource or deletion of
|
||||||
|
resources with dependent resources.
|
||||||
|
|
||||||
|
Read the Crossplane documentation for
|
||||||
|
[more information about Compositions](https://docs.crossplane.io/latest/concepts/usages).
|
||||||
|
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: UsageSpec defines the desired state of Usage.
|
||||||
|
properties:
|
||||||
|
by:
|
||||||
|
description: By is the resource that is "using the other resource".
|
||||||
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
description: API version of the referent.
|
||||||
|
type: string
|
||||||
|
kind:
|
||||||
|
description: |-
|
||||||
|
Kind of the referent.
|
||||||
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
||||||
|
type: string
|
||||||
|
resourceRef:
|
||||||
|
description: Reference to the resource.
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
description: Name of the referent.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- name
|
||||||
|
type: object
|
||||||
|
resourceSelector:
|
||||||
|
description: |-
|
||||||
|
Selector to the resource.
|
||||||
|
This field will be ignored if ResourceRef is set.
|
||||||
|
properties:
|
||||||
|
matchControllerRef:
|
||||||
|
description: |-
|
||||||
|
MatchControllerRef ensures an object with the same controller reference
|
||||||
|
as the selecting object is selected.
|
||||||
|
type: boolean
|
||||||
|
matchLabels:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
description: MatchLabels ensures an object with matching labels
|
||||||
|
is selected.
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
x-kubernetes-validations:
|
||||||
|
- message: either a resource reference or a resource selector should
|
||||||
|
be set.
|
||||||
|
rule: has(self.resourceRef) || has(self.resourceSelector)
|
||||||
|
of:
|
||||||
|
description: Of is the resource that is "being used".
|
||||||
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
description: API version of the referent.
|
||||||
|
type: string
|
||||||
|
kind:
|
||||||
|
description: |-
|
||||||
|
Kind of the referent.
|
||||||
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
||||||
|
type: string
|
||||||
|
resourceRef:
|
||||||
|
description: Reference to the resource.
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
description: Name of the referent.
|
||||||
|
type: string
|
||||||
|
namespace:
|
||||||
|
description: Namespace of the referent.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- name
|
||||||
|
type: object
|
||||||
|
resourceSelector:
|
||||||
|
description: |-
|
||||||
|
Selector to the resource.
|
||||||
|
This field will be ignored if ResourceRef is set.
|
||||||
|
properties:
|
||||||
|
matchControllerRef:
|
||||||
|
description: |-
|
||||||
|
MatchControllerRef ensures an object with the same controller reference
|
||||||
|
as the selecting object is selected.
|
||||||
|
type: boolean
|
||||||
|
matchLabels:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
description: MatchLabels ensures an object with matching labels
|
||||||
|
is selected.
|
||||||
|
type: object
|
||||||
|
namespace:
|
||||||
|
description: |-
|
||||||
|
Namespace ensures an object in the supplied namespace is selected.
|
||||||
|
Omit namespace to only match resources in the Usage's namespace.
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
x-kubernetes-validations:
|
||||||
|
- message: either a resource reference or a resource selector should
|
||||||
|
be set.
|
||||||
|
rule: has(self.resourceRef) || has(self.resourceSelector)
|
||||||
|
reason:
|
||||||
|
description: Reason is the reason for blocking deletion of the resource.
|
||||||
|
type: string
|
||||||
|
replayDeletion:
|
||||||
|
description: ReplayDeletion will trigger a deletion on the used resource
|
||||||
|
during the deletion of the usage itself, if it was attempted to
|
||||||
|
be deleted at least once.
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- of
|
||||||
|
type: object
|
||||||
|
x-kubernetes-validations:
|
||||||
|
- message: either "spec.by" or "spec.reason" must be specified.
|
||||||
|
rule: has(self.by) || has(self.reason)
|
||||||
|
status:
|
||||||
|
description: UsageStatus defines the observed state of Usage.
|
||||||
|
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
|
||||||
|
required:
|
||||||
|
- spec
|
||||||
|
type: object
|
||||||
|
served: true
|
||||||
|
storage: true
|
||||||
|
subresources:
|
||||||
|
status: {}
|
|
@ -1,172 +0,0 @@
|
||||||
---
|
|
||||||
apiVersion: apiextensions.k8s.io/v1
|
|
||||||
kind: CustomResourceDefinition
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
controller-gen.kubebuilder.io/version: v0.16.5
|
|
||||||
name: storeconfigs.secrets.crossplane.io
|
|
||||||
spec:
|
|
||||||
group: secrets.crossplane.io
|
|
||||||
names:
|
|
||||||
categories:
|
|
||||||
- crossplane
|
|
||||||
- store
|
|
||||||
kind: StoreConfig
|
|
||||||
listKind: StoreConfigList
|
|
||||||
plural: storeconfigs
|
|
||||||
singular: storeconfig
|
|
||||||
scope: Cluster
|
|
||||||
versions:
|
|
||||||
- additionalPrinterColumns:
|
|
||||||
- jsonPath: .metadata.creationTimestamp
|
|
||||||
name: AGE
|
|
||||||
type: date
|
|
||||||
- jsonPath: .spec.type
|
|
||||||
name: TYPE
|
|
||||||
type: string
|
|
||||||
- jsonPath: .spec.defaultScope
|
|
||||||
name: DEFAULT-SCOPE
|
|
||||||
type: string
|
|
||||||
name: v1alpha1
|
|
||||||
schema:
|
|
||||||
openAPIV3Schema:
|
|
||||||
description: |-
|
|
||||||
A StoreConfig configures how Crossplane controllers should store connection
|
|
||||||
details in an external secret store.
|
|
||||||
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: A StoreConfigSpec defines the desired state of a StoreConfig.
|
|
||||||
properties:
|
|
||||||
defaultScope:
|
|
||||||
description: |-
|
|
||||||
DefaultScope used for scoping secrets for "cluster-scoped" resources.
|
|
||||||
If store type is "Kubernetes", this would mean the default namespace to
|
|
||||||
store connection secrets for cluster scoped resources.
|
|
||||||
In case of "Vault", this would be used as the default parent path.
|
|
||||||
Typically, should be set as Crossplane installation namespace.
|
|
||||||
type: string
|
|
||||||
kubernetes:
|
|
||||||
description: |-
|
|
||||||
Kubernetes configures a Kubernetes secret store.
|
|
||||||
If the "type" is "Kubernetes" but no config provided, in cluster config
|
|
||||||
will be used.
|
|
||||||
properties:
|
|
||||||
auth:
|
|
||||||
description: Credentials used to connect to the Kubernetes API.
|
|
||||||
properties:
|
|
||||||
env:
|
|
||||||
description: |-
|
|
||||||
Env is a reference to an environment variable that contains credentials
|
|
||||||
that must be used to connect to the provider.
|
|
||||||
properties:
|
|
||||||
name:
|
|
||||||
description: Name is the name of an environment variable.
|
|
||||||
type: string
|
|
||||||
required:
|
|
||||||
- name
|
|
||||||
type: object
|
|
||||||
fs:
|
|
||||||
description: |-
|
|
||||||
Fs is a reference to a filesystem location that contains credentials that
|
|
||||||
must be used to connect to the provider.
|
|
||||||
properties:
|
|
||||||
path:
|
|
||||||
description: Path is a filesystem path.
|
|
||||||
type: string
|
|
||||||
required:
|
|
||||||
- path
|
|
||||||
type: object
|
|
||||||
secretRef:
|
|
||||||
description: |-
|
|
||||||
A SecretRef is a reference to a secret key that contains the credentials
|
|
||||||
that must be used to connect to the provider.
|
|
||||||
properties:
|
|
||||||
key:
|
|
||||||
description: The key to select.
|
|
||||||
type: string
|
|
||||||
name:
|
|
||||||
description: Name of the secret.
|
|
||||||
type: string
|
|
||||||
namespace:
|
|
||||||
description: Namespace of the secret.
|
|
||||||
type: string
|
|
||||||
required:
|
|
||||||
- key
|
|
||||||
- name
|
|
||||||
- namespace
|
|
||||||
type: object
|
|
||||||
source:
|
|
||||||
description: Source of the credentials.
|
|
||||||
enum:
|
|
||||||
- None
|
|
||||||
- Secret
|
|
||||||
- Environment
|
|
||||||
- Filesystem
|
|
||||||
type: string
|
|
||||||
required:
|
|
||||||
- source
|
|
||||||
type: object
|
|
||||||
required:
|
|
||||||
- auth
|
|
||||||
type: object
|
|
||||||
plugin:
|
|
||||||
description: Plugin configures External secret store as a plugin.
|
|
||||||
properties:
|
|
||||||
configRef:
|
|
||||||
description: ConfigRef contains store config reference info.
|
|
||||||
properties:
|
|
||||||
apiVersion:
|
|
||||||
description: APIVersion of the referenced config.
|
|
||||||
type: string
|
|
||||||
kind:
|
|
||||||
description: Kind of the referenced config.
|
|
||||||
type: string
|
|
||||||
name:
|
|
||||||
description: Name of the referenced config.
|
|
||||||
type: string
|
|
||||||
required:
|
|
||||||
- apiVersion
|
|
||||||
- kind
|
|
||||||
- name
|
|
||||||
type: object
|
|
||||||
endpoint:
|
|
||||||
description: Endpoint is the endpoint of the gRPC server.
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
type:
|
|
||||||
default: Kubernetes
|
|
||||||
description: |-
|
|
||||||
Type configures which secret store to be used. Only the configuration
|
|
||||||
block for this store will be used and others will be ignored if provided.
|
|
||||||
Default is Kubernetes.
|
|
||||||
enum:
|
|
||||||
- Kubernetes
|
|
||||||
- Vault
|
|
||||||
- Plugin
|
|
||||||
type: string
|
|
||||||
required:
|
|
||||||
- defaultScope
|
|
||||||
type: object
|
|
||||||
required:
|
|
||||||
- spec
|
|
||||||
type: object
|
|
||||||
served: true
|
|
||||||
storage: true
|
|
||||||
subresources: {}
|
|
Loading…
Reference in New Issue