diff --git a/content/master/api/crds/apiextensions.crossplane.io_usages.yaml b/content/master/api/crds/apiextensions.crossplane.io_usages.yaml index dec53609..a7624da7 100644 --- a/content/master/api/crds/apiextensions.crossplane.io_usages.yaml +++ b/content/master/api/crds/apiextensions.crossplane.io_usages.yaml @@ -213,3 +213,200 @@ spec: storage: true subresources: 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 + 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 + 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: {} diff --git a/content/master/api/crds/pkg.crossplane.io_configurationrevisions.yaml b/content/master/api/crds/pkg.crossplane.io_configurationrevisions.yaml index 15888697..5fc418dd 100644 --- a/content/master/api/crds/pkg.crossplane.io_configurationrevisions.yaml +++ b/content/master/api/crds/pkg.crossplane.io_configurationrevisions.yaml @@ -146,6 +146,27 @@ spec: description: PackageRevisionStatus represents the observed state of a PackageRevision. properties: + appliedImageConfigRefs: + description: |- + AppliedImageConfigRefs records any image configs that were applied in + reconciling this revision, and what they were used for. + items: + description: |- + ImageConfigRef is a reference to an image config that indicates how the + referenced image config was used by the package manager. + properties: + name: + description: Name is the name of the image config. + type: string + reason: + description: Reason indicates what the image config was used + for. + type: string + required: + - name + - reason + type: object + type: array conditions: description: Conditions of the resource. items: @@ -281,6 +302,12 @@ spec: - verbs type: object type: array + resolvedImage: + description: |- + ResolvedPackage is the name of the package that was installed. It may be + different from spec.image if the package path was rewritten using an + image config. + type: string type: object type: object served: true diff --git a/content/master/api/crds/pkg.crossplane.io_configurations.yaml b/content/master/api/crds/pkg.crossplane.io_configurations.yaml index 6ec9cdc6..05f33741 100644 --- a/content/master/api/crds/pkg.crossplane.io_configurations.yaml +++ b/content/master/api/crds/pkg.crossplane.io_configurations.yaml @@ -138,6 +138,27 @@ spec: status: description: ConfigurationStatus represents the observed state of a Configuration. properties: + appliedImageConfigRefs: + description: |- + AppliedImageConfigRefs records any image configs that were applied in + reconciling this package, and what they were used for. + items: + description: |- + ImageConfigRef is a reference to an image config that indicates how the + referenced image config was used by the package manager. + properties: + name: + description: Name is the name of the image config. + type: string + reason: + description: Reason indicates what the image config was used + for. + type: string + required: + - name + - reason + type: object + type: array conditions: description: Conditions of the resource. items: @@ -199,6 +220,12 @@ spec: reflect the most up to date revision, whether it has been activated or not. type: string + resolvedPackage: + description: |- + ResolvedPackage is the name of the package that was used for version + resolution. It may be different from spec.package if the package path was + rewritten using an image config. + type: string type: object type: object served: true diff --git a/content/master/api/crds/pkg.crossplane.io_functionrevisions.yaml b/content/master/api/crds/pkg.crossplane.io_functionrevisions.yaml index d731e839..e0fc5a26 100644 --- a/content/master/api/crds/pkg.crossplane.io_functionrevisions.yaml +++ b/content/master/api/crds/pkg.crossplane.io_functionrevisions.yaml @@ -189,6 +189,27 @@ spec: description: FunctionRevisionStatus represents the observed state of a FunctionRevision. properties: + appliedImageConfigRefs: + description: |- + AppliedImageConfigRefs records any image configs that were applied in + reconciling this revision, and what they were used for. + items: + description: |- + ImageConfigRef is a reference to an image config that indicates how the + referenced image config was used by the package manager. + properties: + name: + description: Name is the name of the image config. + type: string + reason: + description: Reason indicates what the image config was used + for. + type: string + required: + - name + - reason + type: object + type: array conditions: description: Conditions of the resource. items: @@ -329,6 +350,12 @@ spec: - verbs type: object type: array + resolvedImage: + description: |- + ResolvedPackage is the name of the package that was installed. It may be + different from spec.image if the package path was rewritten using an + image config. + type: string type: object type: object served: true @@ -507,6 +534,27 @@ spec: description: FunctionRevisionStatus represents the observed state of a FunctionRevision. properties: + appliedImageConfigRefs: + description: |- + AppliedImageConfigRefs records any image configs that were applied in + reconciling this revision, and what they were used for. + items: + description: |- + ImageConfigRef is a reference to an image config that indicates how the + referenced image config was used by the package manager. + properties: + name: + description: Name is the name of the image config. + type: string + reason: + description: Reason indicates what the image config was used + for. + type: string + required: + - name + - reason + type: object + type: array conditions: description: Conditions of the resource. items: @@ -647,6 +695,12 @@ spec: - verbs type: object type: array + resolvedImage: + description: |- + ResolvedPackage is the name of the package that was installed. It may be + different from spec.image if the package path was rewritten using an + image config. + type: string type: object type: object served: true diff --git a/content/master/api/crds/pkg.crossplane.io_functions.yaml b/content/master/api/crds/pkg.crossplane.io_functions.yaml index 82623ab3..67b74eed 100644 --- a/content/master/api/crds/pkg.crossplane.io_functions.yaml +++ b/content/master/api/crds/pkg.crossplane.io_functions.yaml @@ -168,6 +168,27 @@ spec: status: description: FunctionStatus represents the observed state of a Function. properties: + appliedImageConfigRefs: + description: |- + AppliedImageConfigRefs records any image configs that were applied in + reconciling this package, and what they were used for. + items: + description: |- + ImageConfigRef is a reference to an image config that indicates how the + referenced image config was used by the package manager. + properties: + name: + description: Name is the name of the image config. + type: string + reason: + description: Reason indicates what the image config was used + for. + type: string + required: + - name + - reason + type: object + type: array conditions: description: Conditions of the resource. items: @@ -229,6 +250,12 @@ spec: reflect the most up to date revision, whether it has been activated or not. type: string + resolvedPackage: + description: |- + ResolvedPackage is the name of the package that was used for version + resolution. It may be different from spec.package if the package path was + rewritten using an image config. + type: string type: object type: object served: true @@ -386,6 +413,27 @@ spec: status: description: FunctionStatus represents the observed state of a Function. properties: + appliedImageConfigRefs: + description: |- + AppliedImageConfigRefs records any image configs that were applied in + reconciling this package, and what they were used for. + items: + description: |- + ImageConfigRef is a reference to an image config that indicates how the + referenced image config was used by the package manager. + properties: + name: + description: Name is the name of the image config. + type: string + reason: + description: Reason indicates what the image config was used + for. + type: string + required: + - name + - reason + type: object + type: array conditions: description: Conditions of the resource. items: @@ -447,6 +495,12 @@ spec: reflect the most up to date revision, whether it has been activated or not. type: string + resolvedPackage: + description: |- + ResolvedPackage is the name of the package that was used for version + resolution. It may be different from spec.package if the package path was + rewritten using an image config. + type: string type: object type: object served: true diff --git a/content/master/api/crds/pkg.crossplane.io_imageconfigs.yaml b/content/master/api/crds/pkg.crossplane.io_imageconfigs.yaml index ae12439f..25367790 100644 --- a/content/master/api/crds/pkg.crossplane.io_imageconfigs.yaml +++ b/content/master/api/crds/pkg.crossplane.io_imageconfigs.yaml @@ -47,13 +47,19 @@ spec: description: ImageConfigSpec contains the configuration for matching images. properties: matchImages: - description: MatchImages is a list of image matching rules that should - be satisfied. + description: |- + MatchImages is a list of image matching rules. This ImageConfig will + match an image if any one of these rules is satisfied. In the case where + multiple ImageConfigs match an image for a given purpose the one with the + most specific match will be used. If multiple rules of equal specificity + match an arbitrary one will be selected. items: description: ImageMatch defines a rule for matching image. properties: prefix: - description: Prefix is the prefix that should be matched. + description: |- + Prefix is the prefix that should be matched. When multiple prefix rules + match an image path, the longest one takes precedence. type: string type: default: Prefix @@ -95,6 +101,19 @@ spec: - pullSecretRef type: object type: object + rewriteImage: + description: RewriteImage defines how a matched image's path should + be rewritten. + properties: + prefix: + description: |- + Prefix is the prefix that will replace the portion of the image's path + matched by the prefix in the ImageMatch. If multiple prefixes matched, + the longest one will be replaced. + type: string + required: + - prefix + type: object verification: description: Verification contains the configuration for verifying the image. diff --git a/content/master/api/crds/pkg.crossplane.io_locks.yaml b/content/master/api/crds/pkg.crossplane.io_locks.yaml index b9fed95a..ac1a1546 100644 --- a/content/master/api/crds/pkg.crossplane.io_locks.yaml +++ b/content/master/api/crds/pkg.crossplane.io_locks.yaml @@ -44,6 +44,9 @@ spec: items: description: LockPackage is a package that is in the lock. properties: + apiVersion: + description: APIVersion of the package. + type: string dependencies: description: |- 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 lock. properties: + apiVersion: + description: APIVersion of the package. + type: string constraints: description: |- Constraints is a valid semver range or a digest, which will be used to select a valid dependency version. type: string + kind: + description: Kind of the package (not the kind of the package + revision). + type: string package: description: Package is the OCI image name without a tag or digest. type: string type: - description: Type is the type of package. Can be either Configuration - or Provider. + description: |- + 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 required: - constraints - package - - type type: object type: array + kind: + description: Kind of the package (not the kind of the package revision). + type: string name: description: Name corresponds to the name of the package revision for this package. @@ -79,8 +96,13 @@ spec: description: Source is the OCI image name without a tag or digest. type: string type: - description: Type is the type of package. Can be either Configuration - or Provider. + description: |- + Type is the type of package. + Deprecated: Specify an apiVersion and kind instead. + enum: + - Configuration + - Provider + - Function type: string version: description: Version is the tag or digest of the OCI image. @@ -89,7 +111,6 @@ spec: - dependencies - name - source - - type - version type: object type: array diff --git a/content/master/api/crds/pkg.crossplane.io_providerrevisions.yaml b/content/master/api/crds/pkg.crossplane.io_providerrevisions.yaml index 3b60db38..27e60e74 100644 --- a/content/master/api/crds/pkg.crossplane.io_providerrevisions.yaml +++ b/content/master/api/crds/pkg.crossplane.io_providerrevisions.yaml @@ -189,6 +189,27 @@ spec: description: PackageRevisionStatus represents the observed state of a PackageRevision. properties: + appliedImageConfigRefs: + description: |- + AppliedImageConfigRefs records any image configs that were applied in + reconciling this revision, and what they were used for. + items: + description: |- + ImageConfigRef is a reference to an image config that indicates how the + referenced image config was used by the package manager. + properties: + name: + description: Name is the name of the image config. + type: string + reason: + description: Reason indicates what the image config was used + for. + type: string + required: + - name + - reason + type: object + type: array conditions: description: Conditions of the resource. items: @@ -324,6 +345,12 @@ spec: - verbs type: object type: array + resolvedImage: + description: |- + ResolvedPackage is the name of the package that was installed. It may be + different from spec.image if the package path was rewritten using an + image config. + type: string type: object type: object served: true diff --git a/content/master/api/crds/pkg.crossplane.io_providers.yaml b/content/master/api/crds/pkg.crossplane.io_providers.yaml index 40158079..69abaefd 100644 --- a/content/master/api/crds/pkg.crossplane.io_providers.yaml +++ b/content/master/api/crds/pkg.crossplane.io_providers.yaml @@ -170,6 +170,27 @@ spec: status: description: ProviderStatus represents the observed state of a Provider. properties: + appliedImageConfigRefs: + description: |- + AppliedImageConfigRefs records any image configs that were applied in + reconciling this package, and what they were used for. + items: + description: |- + ImageConfigRef is a reference to an image config that indicates how the + referenced image config was used by the package manager. + properties: + name: + description: Name is the name of the image config. + type: string + reason: + description: Reason indicates what the image config was used + for. + type: string + required: + - name + - reason + type: object + type: array conditions: description: Conditions of the resource. items: @@ -231,6 +252,12 @@ spec: reflect the most up to date revision, whether it has been activated or not. type: string + resolvedPackage: + description: |- + ResolvedPackage is the name of the package that was used for version + resolution. It may be different from spec.package if the package path was + rewritten using an image config. + type: string type: object type: object served: true