diff --git a/Makefile b/Makefile index 00fbb2939..9a5f42dd8 100644 --- a/Makefile +++ b/Makefile @@ -202,7 +202,7 @@ gen-crd: init-codegen ## Generate WebhookConfiguration, ClusterRole and CustomRe hack/update-crdgen.sh -PACKAGE := kurator.dev +PACKAGE := kurator.dev/kurator GOPATH_SHIM := ${PWD}/.gopath PACKAGE_SHIM := $(GOPATH_SHIM)/src/$(PACKAGE) diff --git a/Makefile.tools.mk b/Makefile.tools.mk index 7e8b2fa28..41d33fa0c 100644 --- a/Makefile.tools.mk +++ b/Makefile.tools.mk @@ -27,7 +27,7 @@ informer-gen@v := k8s.io/code-generator/cmd/informer-gen@v0.25.2 lister-gen@v := k8s.io/code-generator/cmd/lister-gen@v0.25.2 register-gen@v := k8s.io/code-generator/cmd/register-gen@v0.25.2 deepcopy-gen@v := k8s.io/code-generator/cmd/deepcopy-gen@v0.25.2 -controller-gen@v := sigs.k8s.io/controller-tools/cmd/controller-gen@v0.8.0 +controller-gen@v := sigs.k8s.io/controller-tools/cmd/controller-gen@v0.14.0 kustomize@v := sigs.k8s.io/kustomize/kustomize/v4@v4.5.5 jb@v := github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb@v0.5.1 gojsontoyaml@v := github.com/brancz/gojsontoyaml@v0.1.0 diff --git a/manifests/charts/cluster-operator/crds/cluster.kurator.dev_attachedclusters.yaml b/manifests/charts/cluster-operator/crds/cluster.kurator.dev_attachedclusters.yaml index 32da751f1..840217c69 100644 --- a/manifests/charts/cluster-operator/crds/cluster.kurator.dev_attachedclusters.yaml +++ b/manifests/charts/cluster-operator/crds/cluster.kurator.dev_attachedclusters.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.8.0 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.14.0 name: attachedclusters.cluster.kurator.dev spec: group: cluster.kurator.dev @@ -29,14 +28,19 @@ spec: not created by kurator. 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' + 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' + 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 @@ -48,8 +52,9 @@ spec: properties: key: default: value - description: Key is the key of the secret. If no key is specified, - the secret's default key is `value`. + description: |- + Key is the key of the secret. + If no key is specified, the secret's default key is `value`. type: string name: description: Name is the name of the secret. @@ -71,9 +76,3 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/manifests/charts/cluster-operator/crds/cluster.kurator.dev_clusters.yaml b/manifests/charts/cluster-operator/crds/cluster.kurator.dev_clusters.yaml index 1fe32b84f..8f02e1b4b 100644 --- a/manifests/charts/cluster-operator/crds/cluster.kurator.dev_clusters.yaml +++ b/manifests/charts/cluster-operator/crds/cluster.kurator.dev_clusters.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.8.0 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.14.0 name: clusters.cluster.kurator.dev spec: group: cluster.kurator.dev @@ -36,14 +35,19 @@ spec: description: Cluster is the schema for the cluster's API 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' + 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' + 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 @@ -51,9 +55,9 @@ spec: description: ClusterSpec defines the desired state of the Cluster properties: additionalResources: - description: 'AdditionalResources provides a way to automatically - apply a set of resources to cluster after it''s ready. Note: the - resources will only apply once.' + description: |- + AdditionalResources provides a way to automatically apply a set of resources to cluster after it's ready. + Note: the resources will only apply once. items: properties: kind: @@ -91,7 +95,8 @@ spec: x-kubernetes-preserve-unknown-fields: true imageOS: default: ubuntu-20.04 - description: ImageOS is the OS of the image to use for the instance. + description: |- + ImageOS is the OS of the image to use for the instance. Defaults to "ubuntu-20.04". type: string instanceType: @@ -109,9 +114,9 @@ spec: items: properties: size: - description: Size specifies size (in Gi) of the storage - device. Must be greater than the image snapshot size or - 8 (whichever is greater). + description: |- + Size specifies size (in Gi) of the storage device. + Must be greater than the image snapshot size or 8 (whichever is greater). format: int64 minimum: 8 type: integer @@ -130,9 +135,9 @@ spec: description: RootVolume is the root volume to attach to the instance. properties: size: - description: Size specifies size (in Gi) of the storage device. - Must be greater than the image snapshot size or 8 (whichever - is greater). + description: |- + Size specifies size (in Gi) of the storage device. + Must be greater than the image snapshot size or 8 (whichever is greater). format: int64 minimum: 8 type: integer @@ -150,21 +155,24 @@ spec: taints: description: Taints is the set of taints to apply to the nodes. items: - description: The node this Taint is attached to has the "effect" - on any pod that does not tolerate the Taint. + description: |- + The node this Taint is attached to has the "effect" on + any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on pods that - do not tolerate the taint. Valid effects are NoSchedule, - PreferNoSchedule and NoExecute. + description: |- + Required. The effect of the taint on pods + that do not tolerate the taint. + Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which the - taint was added. It is only written for NoExecute taints. + description: |- + TimeAdded represents the time at which the taint was added. + It is only written for NoExecute taints. format: date-time type: string value: @@ -198,7 +206,8 @@ spec: podCIDRs: default: - 192.168.0.0/16 - description: PodCIDRs is the CIDR block for pods in this cluster. + description: |- + PodCIDRs is the CIDR block for pods in this cluster. Defaults to 192.168.0.0/16. items: type: string @@ -206,8 +215,9 @@ spec: serviceCIDRs: default: - 10.96.0.0/12 - description: ServiceCIDRs is the CIDR block for services in this - cluster. Defaults to 10.96.0.0/12. + description: |- + ServiceCIDRs is the CIDR block for services in this cluster. + Defaults to 10.96.0.0/12. items: type: string type: array @@ -216,16 +226,18 @@ spec: properties: cidrBlock: default: 10.0.0.0/16 - description: CIDRBlock is the CIDR block to be used when the - provider creates a managed VPC. Defaults to 10.0.0.0/16. + description: |- + CIDRBlock is the CIDR block to be used when the provider creates a managed VPC. + Defaults to 10.0.0.0/16. type: string id: description: ID defines a unique identifier to reference this resource. type: string name: - description: Name is the name of the VPC. if not set, the - name will be generated from cluster name. + description: |- + Name is the name of the VPC. + if not set, the name will be generated from cluster name. type: string type: object required: @@ -257,7 +269,8 @@ spec: x-kubernetes-preserve-unknown-fields: true imageOS: default: ubuntu-20.04 - description: ImageOS is the OS of the image to use for the instance. + description: |- + ImageOS is the OS of the image to use for the instance. Defaults to "ubuntu-20.04". type: string instanceType: @@ -275,9 +288,9 @@ spec: items: properties: size: - description: Size specifies size (in Gi) of the storage - device. Must be greater than the image snapshot size - or 8 (whichever is greater). + description: |- + Size specifies size (in Gi) of the storage device. + Must be greater than the image snapshot size or 8 (whichever is greater). format: int64 minimum: 8 type: integer @@ -297,9 +310,9 @@ spec: instance. properties: size: - description: Size specifies size (in Gi) of the storage - device. Must be greater than the image snapshot size or - 8 (whichever is greater). + description: |- + Size specifies size (in Gi) of the storage device. + Must be greater than the image snapshot size or 8 (whichever is greater). format: int64 minimum: 8 type: integer @@ -323,9 +336,10 @@ spec: NodeUpgradeStrategyType = RollingUpdate. properties: deletePolicy: - description: DeletePolicy defines the policy used to - identify nodes to delete when downscaling. Valid values - are "Random", "Newest" and "Oldest". Defaults to "Newest". + description: |- + DeletePolicy defines the policy used to identify nodes to delete when downscaling. + Valid values are "Random", "Newest" and "Oldest". + Defaults to "Newest". enum: - Random - Newest @@ -348,28 +362,32 @@ spec: x-kubernetes-int-or-string: true type: object type: - description: Type of node replacement strategy. Default - is RollingUpdate. + description: |- + Type of node replacement strategy. + Default is RollingUpdate. type: string type: object taints: description: Taints is the set of taints to apply to the nodes. items: - description: The node this Taint is attached to has the "effect" - on any pod that does not tolerate the Taint. + description: |- + The node this Taint is attached to has the "effect" on + any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on pods - that do not tolerate the taint. Valid effects are NoSchedule, - PreferNoSchedule and NoExecute. + description: |- + Required. The effect of the taint on pods + that do not tolerate the taint. + Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which the - taint was added. It is only written for NoExecute taints. + description: |- + TimeAdded represents the time at which the taint was added. + It is only written for NoExecute taints. format: date-time type: string value: @@ -398,8 +416,9 @@ spec: description: ClusterStatus defines the observed state of Cluster properties: apiEndpoint: - description: 'APIEndpoint is the endpoint to communicate with the - apiserver. Format should be: `https://host:port`' + description: |- + APIEndpoint is the endpoint to communicate with the apiserver. + Format should be: `https://host:port` type: string conditions: description: Conditions defines current service state of the cluster. @@ -408,37 +427,37 @@ spec: operational state. properties: lastTransitionTime: - description: Last time the condition transitioned from one status - to another. This should be when the underlying condition changed. - If that is not known, then using the time when the API field - changed is acceptable. + description: |- + Last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when + the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: |- + A human readable message indicating details about the transition. + This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: |- + The reason for the condition's last transition in CamelCase. + The specific API may choose whether or not this field is considered a guaranteed API. + This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: |- + Severity provides an explicit classification of Reason code, so the users or machines can immediately + understand the current situation and act accordingly. + The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: |- + Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions + can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -463,9 +482,3 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/manifests/charts/cluster-operator/crds/infrastructure.cluster.x-k8s.io_customclusters.yaml b/manifests/charts/cluster-operator/crds/infrastructure.cluster.x-k8s.io_customclusters.yaml index bbadef1a9..43b57fa52 100644 --- a/manifests/charts/cluster-operator/crds/infrastructure.cluster.x-k8s.io_customclusters.yaml +++ b/manifests/charts/cluster-operator/crds/infrastructure.cluster.x-k8s.io_customclusters.yaml @@ -2,8 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.8.0 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.14.0 labels: cluster.x-k8s.io/v1beta1: v1alpha1 name: customclusters.infrastructure.cluster.x-k8s.io @@ -30,14 +29,19 @@ spec: of Cluster API. 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' + 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' + 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 @@ -69,9 +73,9 @@ spec: type: string type: array loadBalancerDomainName: - description: LoadBalancerDomainName is a variable used to set - the endpoint for a Kubernetes cluster when a load balancer (LB) - is enabled. The default value is ControlPlaneConfig.Address. + description: |- + LoadBalancerDomainName is a variable used to set the endpoint for a Kubernetes cluster + when a load balancer (LB) is enabled. The default value is ControlPlaneConfig.Address. type: string required: - address @@ -84,35 +88,43 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: |- + If referring to a piece of an object instead of an entire object, this string + should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within a pod, this would take on a value like: + "spec.containers{name}" (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" (container with + index 2 in this pod). This syntax is chosen only to have some well-defined way of + referencing a part of an object. + TODO: this design is not final and this field is subject to change in the future. type: string kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind of the referent. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string namespace: - description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: |- + Namespace of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: |- + Specific resourceVersion to which this reference is made, if any. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency type: string uid: - description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: |- + UID of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids type: string type: object + x-kubernetes-map-type: atomic required: - cni type: object @@ -120,8 +132,9 @@ spec: description: Current status of the kurator cluster properties: apiEndpoint: - description: 'APIEndpoint is the endpoint to communicate with the - apiserver. Format should be: `https://host:port`' + description: |- + APIEndpoint is the endpoint to communicate with the apiserver. + Format should be: `https://host:port` type: string conditions: description: Conditions defines current service state of the cluster. @@ -130,37 +143,37 @@ spec: operational state. properties: lastTransitionTime: - description: Last time the condition transitioned from one status - to another. This should be when the underlying condition changed. - If that is not known, then using the time when the API field - changed is acceptable. + description: |- + Last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when + the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: |- + A human readable message indicating details about the transition. + This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: |- + The reason for the condition's last transition in CamelCase. + The specific API may choose whether or not this field is considered a guaranteed API. + This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: |- + Severity provides an explicit classification of Reason code, so the users or machines can immediately + understand the current situation and act accordingly. + The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: |- + Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions + can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -173,7 +186,8 @@ spec: the credential to access this cluster. type: string phase: - description: Phase represents the current phase of customCluster actuation. + description: |- + Phase represents the current phase of customCluster actuation. E.g. Running, Succeed, Terminating, Failed etc. type: string type: object @@ -182,9 +196,3 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/manifests/charts/cluster-operator/crds/infrastructure.cluster.x-k8s.io_custommachines.yaml b/manifests/charts/cluster-operator/crds/infrastructure.cluster.x-k8s.io_custommachines.yaml index 24aadbd27..400d2ea76 100644 --- a/manifests/charts/cluster-operator/crds/infrastructure.cluster.x-k8s.io_custommachines.yaml +++ b/manifests/charts/cluster-operator/crds/infrastructure.cluster.x-k8s.io_custommachines.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.8.0 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.14.0 name: custommachines.infrastructure.cluster.x-k8s.io spec: group: infrastructure.cluster.x-k8s.io @@ -26,14 +25,19 @@ spec: description: CustomMachine is the schema for kubernetes nodes. 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' + 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' + 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 @@ -72,36 +76,43 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead - of an entire object, this string should contain a valid - JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container - within a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that - triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). - This syntax is chosen only to have some well-defined way - of referencing a part of an object. TODO: this design - is not final and this field is subject to change in the - future.' + description: |- + If referring to a piece of an object instead of an entire object, this string + should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within a pod, this would take on a value like: + "spec.containers{name}" (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" (container with + index 2 in this pod). This syntax is chosen only to have some well-defined way of + referencing a part of an object. + TODO: this design is not final and this field is subject to change in the future. type: string kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind of the referent. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string namespace: - description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: |- + Namespace of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: |- + Specific resourceVersion to which this reference is made, if any. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency type: string uid: - description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: |- + UID of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids type: string type: object + x-kubernetes-map-type: atomic zone: description: Zone specifies the zone where the machine resides. type: string @@ -143,36 +154,43 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead - of an entire object, this string should contain a valid - JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container - within a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that - triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). - This syntax is chosen only to have some well-defined way - of referencing a part of an object. TODO: this design - is not final and this field is subject to change in the - future.' + description: |- + If referring to a piece of an object instead of an entire object, this string + should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within a pod, this would take on a value like: + "spec.containers{name}" (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" (container with + index 2 in this pod). This syntax is chosen only to have some well-defined way of + referencing a part of an object. + TODO: this design is not final and this field is subject to change in the future. type: string kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind of the referent. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string namespace: - description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: |- + Namespace of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: |- + Specific resourceVersion to which this reference is made, if any. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency type: string uid: - description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: |- + UID of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids type: string type: object + x-kubernetes-map-type: atomic zone: description: Zone specifies the zone where the machine resides. type: string @@ -195,9 +213,3 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/manifests/charts/fleet-manager/crds/apps.kurator.dev_applications.yaml b/manifests/charts/fleet-manager/crds/apps.kurator.dev_applications.yaml index 69aacc242..3fb6f0c2c 100644 --- a/manifests/charts/fleet-manager/crds/apps.kurator.dev_applications.yaml +++ b/manifests/charts/fleet-manager/crds/apps.kurator.dev_applications.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.8.0 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.14.0 name: applications.apps.kurator.dev spec: group: apps.kurator.dev @@ -23,14 +22,19 @@ spec: description: Application is the schema for the application's API. 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' + 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' + 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 @@ -39,23 +43,21 @@ spec: and how to dispatch it. properties: destination: - description: Destination defines the destination clusters where the - artifacts will be synced. It can be overriden by the syncPolicies' - destination. + description: |- + Destination defines the destination clusters where the artifacts will be synced. + It can be overriden by the syncPolicies' destination. properties: clusterSelector: - description: ClusterSelector specifies the selectors to select - the clusters within the fleet. If unspecified, all clusters - in the fleet will be selected. + description: |- + ClusterSelector specifies the selectors to select the clusters within the fleet. + If unspecified, all clusters in the fleet will be selected. properties: matchLabels: additionalProperties: type: string - description: 'MatchLabels is a map of {key,value} pairs. A - single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field is "key", - the operator is "In", and the values array contains only - "value". More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors' + description: |- + MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors type: object type: object fleet: @@ -68,32 +70,32 @@ spec: description: Source defines the artifact source. properties: gitRepository: - description: GitRepositorySpec specifies the required configuration - to produce an Artifact for a Git repository. + description: |- + GitRepositorySpec specifies the required configuration to produce an + Artifact for a Git repository. properties: accessFrom: - description: 'AccessFrom specifies an Access Control List - for allowing cross-namespace references to this object. - NOTE: Not implemented, provisional as of https://github.com/fluxcd/flux2/pull/2092' + description: |- + AccessFrom specifies an Access Control List for allowing cross-namespace + references to this object. + NOTE: Not implemented, provisional as of https://github.com/fluxcd/flux2/pull/2092 properties: namespaceSelectors: - description: NamespaceSelectors is the list of namespace - selectors to which this ACL applies. Items in this list - are evaluated using a logical OR operation. + description: |- + NamespaceSelectors is the list of namespace selectors to which this ACL applies. + Items in this list are evaluated using a logical OR operation. items: - description: NamespaceSelector selects the namespaces - to which this ACL applies. An empty map of MatchLabels - matches all namespaces in a cluster. + description: |- + NamespaceSelector selects the namespaces to which this ACL applies. + An empty map of MatchLabels matches all namespaces in a cluster. properties: matchLabels: additionalProperties: type: string - description: MatchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". The - requirements are ANDed. + description: |- + MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object type: array @@ -102,37 +104,39 @@ spec: type: object gitImplementation: default: go-git - description: 'GitImplementation specifies which Git client - library implementation to use. Defaults to ''go-git'', valid - values are (''go-git'', ''libgit2''). Deprecated: gitImplementation - is deprecated now that ''go-git'' is the only supported - implementation.' + description: |- + GitImplementation specifies which Git client library implementation to + use. Defaults to 'go-git', valid values are ('go-git', 'libgit2'). + Deprecated: gitImplementation is deprecated now that 'go-git' is the + only supported implementation. enum: - go-git - libgit2 type: string ignore: - description: Ignore overrides the set of excluded patterns - in the .sourceignore format (which is the same as .gitignore). - If not provided, a default will be used, consult the documentation - for your version to find out what those are. + description: |- + Ignore overrides the set of excluded patterns in the .sourceignore format + (which is the same as .gitignore). If not provided, a default will be used, + consult the documentation for your version to find out what those are. type: string include: - description: Include specifies a list of GitRepository resources - which Artifacts should be included in the Artifact produced - for this GitRepository. + description: |- + Include specifies a list of GitRepository resources which Artifacts + should be included in the Artifact produced for this GitRepository. items: - description: GitRepositoryInclude specifies a local reference - to a GitRepository which Artifact (sub-)contents must - be included, and where they should be placed. + description: |- + GitRepositoryInclude specifies a local reference to a GitRepository which + Artifact (sub-)contents must be included, and where they should be placed. properties: fromPath: - description: FromPath specifies the path to copy contents - from, defaults to the root of the Artifact. + description: |- + FromPath specifies the path to copy contents from, defaults to the root + of the Artifact. type: string repository: - description: GitRepositoryRef specifies the GitRepository - which Artifact contents must be included. + description: |- + GitRepositoryRef specifies the GitRepository which Artifact contents + must be included. properties: name: description: Name of the referent. @@ -141,8 +145,9 @@ spec: - name type: object toPath: - description: ToPath specifies the path to copy contents - to, defaults to the name of the GitRepositoryRef. + description: |- + ToPath specifies the path to copy contents to, defaults to the name of + the GitRepositoryRef. type: string required: - repository @@ -154,30 +159,34 @@ spec: pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ type: string recurseSubmodules: - description: RecurseSubmodules enables the initialization - of all submodules within the GitRepository as cloned from - the URL, using their default settings. + description: |- + RecurseSubmodules enables the initialization of all submodules within + the GitRepository as cloned from the URL, using their default settings. type: boolean ref: - description: Reference specifies the Git reference to resolve - and monitor for changes, defaults to the 'master' branch. + description: |- + Reference specifies the Git reference to resolve and monitor for + changes, defaults to the 'master' branch. properties: branch: description: Branch to check out, defaults to 'master' if no other field is defined. type: string commit: - description: "Commit SHA to check out, takes precedence - over all reference fields. \n This can be combined with - Branch to shallow clone the branch, in which the commit - is expected to exist." + description: |- + Commit SHA to check out, takes precedence over all reference fields. + + + This can be combined with Branch to shallow clone the branch, in which + the commit is expected to exist. type: string name: - description: "Name of the reference to check out; takes - precedence over Branch, Tag and SemVer. \n It must be - a valid Git reference: https://git-scm.com/docs/git-check-ref-format#_description - Examples: \"refs/heads/main\", \"refs/tags/v0.1.0\", - \"refs/pull/420/head\", \"refs/merge-requests/1/head\"" + description: |- + Name of the reference to check out; takes precedence over Branch, Tag and SemVer. + + + It must be a valid Git reference: https://git-scm.com/docs/git-check-ref-format#_description + Examples: "refs/heads/main", "refs/tags/v0.1.0", "refs/pull/420/head", "refs/merge-requests/1/head" type: string semver: description: SemVer tag expression to check out, takes @@ -188,12 +197,13 @@ spec: type: string type: object secretRef: - description: SecretRef specifies the Secret containing authentication - credentials for the GitRepository. For HTTPS repositories - the Secret must contain 'username' and 'password' fields - for basic auth or 'bearerToken' field for token auth. For - SSH repositories the Secret must contain 'identity' and - 'known_hosts' fields. + description: |- + SecretRef specifies the Secret containing authentication credentials for + the GitRepository. + For HTTPS repositories the Secret must contain 'username' and 'password' + fields for basic auth or 'bearerToken' field for token auth. + For SSH repositories the Secret must contain 'identity' + and 'known_hosts' fields. properties: name: description: Name of the referent. @@ -202,8 +212,9 @@ spec: - name type: object suspend: - description: Suspend tells the controller to suspend the reconciliation - of this GitRepository. + description: |- + Suspend tells the controller to suspend the reconciliation of this + GitRepository. type: boolean timeout: default: 60s @@ -217,8 +228,9 @@ spec: pattern: ^(http|https|ssh)://.*$ type: string verify: - description: Verification specifies the configuration to verify - the Git commit signature(s). + description: |- + Verification specifies the configuration to verify the Git commit + signature(s). properties: mode: description: Mode specifies what Git object should be @@ -227,8 +239,9 @@ spec: - head type: string secretRef: - description: SecretRef specifies the Secret containing - the public keys of trusted Git authors. + description: |- + SecretRef specifies the Secret containing the public keys of trusted Git + authors. properties: name: description: Name of the referent. @@ -245,32 +258,32 @@ spec: - url type: object helmRepository: - description: HelmRepositorySpec specifies the required configuration - to produce an Artifact for a Helm repository index YAML. + description: |- + HelmRepositorySpec specifies the required configuration to produce an + Artifact for a Helm repository index YAML. properties: accessFrom: - description: 'AccessFrom specifies an Access Control List - for allowing cross-namespace references to this object. - NOTE: Not implemented, provisional as of https://github.com/fluxcd/flux2/pull/2092' + description: |- + AccessFrom specifies an Access Control List for allowing cross-namespace + references to this object. + NOTE: Not implemented, provisional as of https://github.com/fluxcd/flux2/pull/2092 properties: namespaceSelectors: - description: NamespaceSelectors is the list of namespace - selectors to which this ACL applies. Items in this list - are evaluated using a logical OR operation. + description: |- + NamespaceSelectors is the list of namespace selectors to which this ACL applies. + Items in this list are evaluated using a logical OR operation. items: - description: NamespaceSelector selects the namespaces - to which this ACL applies. An empty map of MatchLabels - matches all namespaces in a cluster. + description: |- + NamespaceSelector selects the namespaces to which this ACL applies. + An empty map of MatchLabels matches all namespaces in a cluster. properties: matchLabels: additionalProperties: type: string - description: MatchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". The - requirements are ANDed. + description: |- + MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object type: array @@ -282,20 +295,20 @@ spec: pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ type: string passCredentials: - description: PassCredentials allows the credentials from the - SecretRef to be passed on to a host that does not match - the host as defined in URL. This may be required if the - host of the advertised chart URLs in the index differ from - the defined URL. Enabling this should be done with caution, - as it can potentially result in credentials getting stolen - in a MITM-attack. + description: |- + PassCredentials allows the credentials from the SecretRef to be passed + on to a host that does not match the host as defined in URL. + This may be required if the host of the advertised chart URLs in the + index differ from the defined URL. + Enabling this should be done with caution, as it can potentially result + in credentials getting stolen in a MITM-attack. type: boolean provider: default: generic - description: Provider used for authentication, can be 'aws', - 'azure', 'gcp' or 'generic'. This field is optional, and - only taken into account if the .spec.type field is set to - 'oci'. When not specified, defaults to 'generic'. + description: |- + Provider used for authentication, can be 'aws', 'azure', 'gcp' or 'generic'. + This field is optional, and only taken into account if the .spec.type field is set to 'oci'. + When not specified, defaults to 'generic'. enum: - generic - aws @@ -303,11 +316,13 @@ spec: - gcp type: string secretRef: - description: SecretRef specifies the Secret containing authentication - credentials for the HelmRepository. For HTTP/S basic auth - the secret must contain 'username' and 'password' fields. - For TLS the secret must contain a 'certFile' and 'keyFile', - and/or 'caFile' fields. + description: |- + SecretRef specifies the Secret containing authentication credentials + for the HelmRepository. + For HTTP/S basic auth the secret must contain 'username' and 'password' + fields. + For TLS the secret must contain a 'certFile' and 'keyFile', and/or + 'caFile' fields. properties: name: description: Name of the referent. @@ -316,28 +331,30 @@ spec: - name type: object suspend: - description: Suspend tells the controller to suspend the reconciliation - of this HelmRepository. + description: |- + Suspend tells the controller to suspend the reconciliation of this + HelmRepository. type: boolean timeout: default: 60s - description: Timeout is used for the index fetch operation - for an HTTPS helm repository, and for remote OCI Repository - operations like pulling for an OCI helm repository. Its - default value is 60s. + description: |- + Timeout is used for the index fetch operation for an HTTPS helm repository, + and for remote OCI Repository operations like pulling for an OCI helm repository. + Its default value is 60s. pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$ type: string type: - description: Type of the HelmRepository. When this field is - set to "oci", the URL field value must be prefixed with - "oci://". + description: |- + Type of the HelmRepository. + When this field is set to "oci", the URL field value must be prefixed with "oci://". enum: - default - oci type: string url: - description: URL of the Helm repository, a valid URL contains - at least a protocol and host. + description: |- + URL of the Helm repository, a valid URL contains at least a protocol and + host. type: string required: - interval @@ -347,14 +364,20 @@ spec: description: OCIRepositorySpec defines the desired state of OCIRepository properties: certSecretRef: - description: "CertSecretRef can be given the name of a secret - containing either or both of \n - a PEM-encoded client certificate - (`certFile`) and private key (`keyFile`); - a PEM-encoded - CA certificate (`caFile`) \n and whichever are supplied, - will be used for connecting to the registry. The client - cert and key are useful if you are authenticating with a - certificate; the CA cert is useful if you are using a self-signed - server certificate." + description: |- + CertSecretRef can be given the name of a secret containing + either or both of + + + - a PEM-encoded client certificate (`certFile`) and private + key (`keyFile`); + - a PEM-encoded CA certificate (`caFile`) + + + and whichever are supplied, will be used for connecting to the + registry. The client cert and key are useful if you are + authenticating with a certificate; the CA cert is useful if + you are using a self-signed server certificate. properties: name: description: Name of the referent. @@ -363,10 +386,10 @@ spec: - name type: object ignore: - description: Ignore overrides the set of excluded patterns - in the .sourceignore format (which is the same as .gitignore). - If not provided, a default will be used, consult the documentation - for your version to find out what those are. + description: |- + Ignore overrides the set of excluded patterns in the .sourceignore format + (which is the same as .gitignore). If not provided, a default will be used, + consult the documentation for your version to find out what those are. type: string insecure: description: Insecure allows connecting to a non-TLS HTTP @@ -377,21 +400,22 @@ spec: pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ type: string layerSelector: - description: LayerSelector specifies which layer should be - extracted from the OCI artifact. When not specified, the - first layer found in the artifact is selected. + description: |- + LayerSelector specifies which layer should be extracted from the OCI artifact. + When not specified, the first layer found in the artifact is selected. properties: mediaType: - description: MediaType specifies the OCI media type of - the layer which should be extracted from the OCI Artifact. - The first layer matching this type is selected. + description: |- + MediaType specifies the OCI media type of the layer + which should be extracted from the OCI Artifact. The + first layer matching this type is selected. type: string operation: - description: Operation specifies how the selected layer - should be processed. By default, the layer compressed - content is extracted to storage. When the operation - is set to 'copy', the layer compressed content is persisted - to storage as it is. + description: |- + Operation specifies how the selected layer should be processed. + By default, the layer compressed content is extracted to storage. + When the operation is set to 'copy', the layer compressed content + is persisted to storage as it is. enum: - extract - copy @@ -399,9 +423,9 @@ spec: type: object provider: default: generic - description: The provider used for authentication, can be - 'aws', 'azure', 'gcp' or 'generic'. When not specified, - defaults to 'generic'. + description: |- + The provider used for authentication, can be 'aws', 'azure', 'gcp' or 'generic'. + When not specified, defaults to 'generic'. enum: - generic - aws @@ -409,17 +433,19 @@ spec: - gcp type: string ref: - description: The OCI reference to pull and monitor for changes, + description: |- + The OCI reference to pull and monitor for changes, defaults to the latest tag. properties: digest: - description: Digest is the image digest to pull, takes - precedence over SemVer. The value should be in the format - 'sha256:'. + description: |- + Digest is the image digest to pull, takes precedence over SemVer. + The value should be in the format 'sha256:'. type: string semver: - description: SemVer is the range of tags to pull selecting - the latest within the range, takes precedence over Tag. + description: |- + SemVer is the range of tags to pull selecting the latest within + the range, takes precedence over Tag. type: string tag: description: Tag is the image tag to pull, defaults to @@ -427,8 +453,9 @@ spec: type: string type: object secretRef: - description: SecretRef contains the secret name containing - the registry login credentials to resolve image metadata. + description: |- + SecretRef contains the secret name containing the registry login + credentials to resolve image metadata. The secret must be of type kubernetes.io/dockerconfigjson. properties: name: @@ -438,10 +465,10 @@ spec: - name type: object serviceAccountName: - description: 'ServiceAccountName is the name of the Kubernetes - ServiceAccount used to authenticate the image pull if the - service account has attached pull secrets. For more information: - https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#add-imagepullsecrets-to-a-service-account' + description: |- + ServiceAccountName is the name of the Kubernetes ServiceAccount used to authenticate + the image pull if the service account has attached pull secrets. For more information: + https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#add-imagepullsecrets-to-a-service-account type: string suspend: description: This flag tells the controller to suspend the @@ -454,14 +481,16 @@ spec: pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$ type: string url: - description: URL is a reference to an OCI artifact repository - hosted on a remote container registry. + description: |- + URL is a reference to an OCI artifact repository hosted + on a remote container registry. pattern: ^oci://.*$ type: string verify: - description: Verify contains the secret name containing the - trusted public keys used to verify the signature and specifies - which provider to use to check whether OCI image is authentic. + description: |- + Verify contains the secret name containing the trusted public keys + used to verify the signature and specifies which provider to use to check + whether OCI image is authentic. properties: provider: default: cosign @@ -471,8 +500,9 @@ spec: - cosign type: string secretRef: - description: SecretRef specifies the Kubernetes Secret - containing the trusted public keys. + description: |- + SecretRef specifies the Kubernetes Secret containing the + trusted public keys. properties: name: description: Name of the referent. @@ -492,28 +522,26 @@ spec: description: SyncPolicies controls how the artifact will be customized and where it will be synced. items: - description: ApplicationSyncPolicy defines the configuration to - sync an artifact. Only oneof `kustomization` or `helm` can be - specified to manage application sync. + description: |- + ApplicationSyncPolicy defines the configuration to sync an artifact. + Only oneof `kustomization` or `helm` can be specified to manage application sync. properties: destination: - description: Destination defines the destination for the artifact. - If specified, it will override the destination specified at - Application level. + description: |- + Destination defines the destination for the artifact. + If specified, it will override the destination specified at Application level. properties: clusterSelector: - description: ClusterSelector specifies the selectors to - select the clusters within the fleet. If unspecified, - all clusters in the fleet will be selected. + description: |- + ClusterSelector specifies the selectors to select the clusters within the fleet. + If unspecified, all clusters in the fleet will be selected. properties: matchLabels: additionalProperties: type: string - description: 'MatchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors' + description: |- + MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors type: object type: object fleet: @@ -527,8 +555,9 @@ spec: release. properties: chart: - description: Chart defines the template of the v1beta2.HelmChart - that should be created for this HelmRelease. + description: |- + Chart defines the template of the v1beta2.HelmChart that should be created + for this HelmRelease. properties: metadata: description: ObjectMeta holds the template for metadata @@ -537,18 +566,19 @@ spec: 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/' + 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. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/' + description: |- + Map of string keys and values that can be used to organize and categorize + (scope and select) objects. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ type: object type: object spec: @@ -560,36 +590,36 @@ spec: available at in the SourceRef. type: string interval: - description: Interval at which to check the v1beta2.Source - for updates. Defaults to 'HelmReleaseSpec.Interval'. + description: |- + Interval at which to check the v1beta2.Source for updates. Defaults to + 'HelmReleaseSpec.Interval'. pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ type: string reconcileStrategy: default: ChartVersion - description: Determines what enables the creation - of a new artifact. Valid values are ('ChartVersion', - 'Revision'). See the documentation of the values - for an explanation on their behavior. Defaults - to ChartVersion when omitted. + description: |- + Determines what enables the creation of a new artifact. Valid values are + ('ChartVersion', 'Revision'). + See the documentation of the values for an explanation on their behavior. + Defaults to ChartVersion when omitted. enum: - ChartVersion - Revision type: string valuesFiles: - description: Alternative list of values files to - use as the chart values (values.yaml is not included - by default), expected to be a relative path in - the SourceRef. Values files are merged in the - order of this list with the last file overriding + description: |- + Alternative list of values files to use as the chart values (values.yaml + is not included by default), expected to be a relative path in the SourceRef. + Values files are merged in the order of this list with the last file overriding the first. Ignored when omitted. items: type: string type: array version: default: '*' - description: Version semver expression, ignored - for charts from v1beta2.GitRepository and v1beta2.Bucket - sources. Defaults to latest when omitted. + description: |- + Version semver expression, ignored for charts from v1beta2.GitRepository and + v1beta2.Bucket sources. Defaults to latest when omitted. type: string required: - chart @@ -598,13 +628,14 @@ spec: - spec type: object dependsOn: - description: DependsOn may contain a meta.NamespacedObjectReference - slice with references to HelmRelease resources that must - be ready before this HelmRelease can be reconciled. + description: |- + DependsOn may contain a meta.NamespacedObjectReference slice with + references to HelmRelease resources that must be ready before this HelmRelease + can be reconciled. items: - description: NamespacedObjectReference contains enough - information to locate the referenced Kubernetes resource - object in any namespace. + description: |- + NamespacedObjectReference contains enough information to locate the referenced Kubernetes resource object in any + namespace. properties: name: description: Name of the referent. @@ -622,87 +653,98 @@ spec: actions for this HelmRelease. properties: crds: - description: "CRDs upgrade CRDs from the Helm Chart's - crds directory according to the CRD upgrade policy - provided here. Valid values are `Skip`, `Create` or - `CreateReplace`. Default is `Create` and if omitted - CRDs are installed but not updated. \n Skip: do neither - install nor replace (update) any CRDs. \n Create: - new CRDs are created, existing CRDs are neither updated - nor deleted. \n CreateReplace: new CRDs are created, - existing CRDs are updated (replaced) but not deleted. - \n By default, CRDs are applied (installed) during - Helm install action. With this option users can opt-in - to CRD replace existing CRDs on Helm install actions, - which is not (yet) natively supported by Helm. https://helm.sh/docs/chart_best_practices/custom_resource_definitions." + description: |- + CRDs upgrade CRDs from the Helm Chart's crds directory according + to the CRD upgrade policy provided here. Valid values are `Skip`, + `Create` or `CreateReplace`. Default is `Create` and if omitted + CRDs are installed but not updated. + + + Skip: do neither install nor replace (update) any CRDs. + + + Create: new CRDs are created, existing CRDs are neither updated nor deleted. + + + CreateReplace: new CRDs are created, existing CRDs are updated (replaced) + but not deleted. + + + By default, CRDs are applied (installed) during Helm install action. + With this option users can opt-in to CRD replace existing CRDs on Helm + install actions, which is not (yet) natively supported by Helm. + https://helm.sh/docs/chart_best_practices/custom_resource_definitions. enum: - Skip - Create - CreateReplace type: string createNamespace: - description: CreateNamespace tells the Helm install - action to create the HelmReleaseSpec.TargetNamespace - if it does not exist yet. On uninstall, the namespace - will not be garbage collected. + description: |- + CreateNamespace tells the Helm install action to create the + HelmReleaseSpec.TargetNamespace if it does not exist yet. + On uninstall, the namespace will not be garbage collected. type: boolean disableHooks: description: DisableHooks prevents hooks from running during the Helm install action. type: boolean disableOpenAPIValidation: - description: DisableOpenAPIValidation prevents the Helm - install action from validating rendered templates - against the Kubernetes OpenAPI Schema. + description: |- + DisableOpenAPIValidation prevents the Helm install action from validating + rendered templates against the Kubernetes OpenAPI Schema. type: boolean disableWait: - description: DisableWait disables the waiting for resources - to be ready after a Helm install has been performed. + description: |- + DisableWait disables the waiting for resources to be ready after a Helm + install has been performed. type: boolean disableWaitForJobs: - description: DisableWaitForJobs disables waiting for - jobs to complete after a Helm install has been performed. + description: |- + DisableWaitForJobs disables waiting for jobs to complete after a Helm + install has been performed. type: boolean remediation: - description: Remediation holds the remediation configuration - for when the Helm install action for the HelmRelease - fails. The default is to not perform any action. + description: |- + Remediation holds the remediation configuration for when the Helm install + action for the HelmRelease fails. The default is to not perform any action. properties: ignoreTestFailures: - description: IgnoreTestFailures tells the controller - to skip remediation when the Helm tests are run - after an install action but fail. Defaults to + description: |- + IgnoreTestFailures tells the controller to skip remediation when the Helm + tests are run after an install action but fail. Defaults to 'Test.IgnoreFailures'. type: boolean remediateLastFailure: - description: RemediateLastFailure tells the controller - to remediate the last failure, when no retries - remain. Defaults to 'false'. + description: |- + RemediateLastFailure tells the controller to remediate the last failure, when + no retries remain. Defaults to 'false'. type: boolean retries: - description: Retries is the number of retries that - should be attempted on failures before bailing. - Remediation, using an uninstall, is performed - between each attempt. Defaults to '0', a negative - integer equals to unlimited retries. + description: |- + Retries is the number of retries that should be attempted on failures before + bailing. Remediation, using an uninstall, is performed between each attempt. + Defaults to '0', a negative integer equals to unlimited retries. type: integer type: object replace: - description: Replace tells the Helm install action to - re-use the 'ReleaseName', but only if that name is - a deleted release which remains in the history. + description: |- + Replace tells the Helm install action to re-use the 'ReleaseName', but only + if that name is a deleted release which remains in the history. type: boolean skipCRDs: - description: "SkipCRDs tells the Helm install action - to not install any CRDs. By default, CRDs are installed - if not already present. \n Deprecated use CRD policy - (`crds`) attribute with value `Skip` instead." + description: |- + SkipCRDs tells the Helm install action to not install any CRDs. By default, + CRDs are installed if not already present. + + + Deprecated use CRD policy (`crds`) attribute with value `Skip` instead. type: boolean timeout: - description: Timeout is the time to wait for any individual - Kubernetes operation (like Jobs for hooks) during - the performance of a Helm install action. Defaults - to 'HelmReleaseSpec.Timeout'. + description: |- + Timeout is the time to wait for any individual Kubernetes operation (like + Jobs for hooks) during the performance of a Helm install action. Defaults to + 'HelmReleaseSpec.Timeout'. pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ type: string type: object @@ -711,25 +753,30 @@ spec: pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ type: string maxHistory: - description: MaxHistory is the number of revisions saved - by Helm for this HelmRelease. Use '0' for an unlimited - number of revisions; defaults to '10'. + description: |- + MaxHistory is the number of revisions saved by Helm for this HelmRelease. + Use '0' for an unlimited number of revisions; defaults to '10'. type: integer persistentClient: - description: "PersistentClient tells the controller to use - a persistent Kubernetes client for this release. When - enabled, the client will be reused for the duration of - the reconciliation, instead of being created and destroyed - for each (step of a) Helm action. \n This can improve - performance, but may cause issues with some Helm charts - that for example do create Custom Resource Definitions - during installation outside Helm's CRD lifecycle hooks, - which are then not observed to be available by e.g. post-install - hooks. \n If not set, it defaults to true." + description: |- + PersistentClient tells the controller to use a persistent Kubernetes + client for this release. When enabled, the client will be reused for the + duration of the reconciliation, instead of being created and destroyed + for each (step of a) Helm action. + + + This can improve performance, but may cause issues with some Helm charts + that for example do create Custom Resource Definitions during installation + outside Helm's CRD lifecycle hooks, which are then not observed to be + available by e.g. post-install hooks. + + + If not set, it defaults to true. type: boolean releaseName: - description: ReleaseName used for the Helm release. Defaults - to a composition of '[TargetNamespace-]Name'. + description: |- + ReleaseName used for the Helm release. Defaults to a composition of + '[TargetNamespace-]Name'. maxLength: 53 minLength: 1 type: string @@ -738,20 +785,23 @@ spec: actions for this HelmRelease. properties: cleanupOnFail: - description: CleanupOnFail allows deletion of new resources - created during the Helm rollback action when it fails. + description: |- + CleanupOnFail allows deletion of new resources created during the Helm + rollback action when it fails. type: boolean disableHooks: description: DisableHooks prevents hooks from running during the Helm rollback action. type: boolean disableWait: - description: DisableWait disables the waiting for resources - to be ready after a Helm rollback has been performed. + description: |- + DisableWait disables the waiting for resources to be ready after a Helm + rollback has been performed. type: boolean disableWaitForJobs: - description: DisableWaitForJobs disables waiting for - jobs to complete after a Helm rollback has been performed. + description: |- + DisableWaitForJobs disables waiting for jobs to complete after a Helm + rollback has been performed. type: boolean force: description: Force forces resource updates through a @@ -762,33 +812,34 @@ spec: resource if applicable. type: boolean timeout: - description: Timeout is the time to wait for any individual - Kubernetes operation (like Jobs for hooks) during - the performance of a Helm rollback action. Defaults - to 'HelmReleaseSpec.Timeout'. + description: |- + Timeout is the time to wait for any individual Kubernetes operation (like + Jobs for hooks) during the performance of a Helm rollback action. Defaults to + 'HelmReleaseSpec.Timeout'. pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ type: string type: object serviceAccountName: - description: The name of the Kubernetes service account - to impersonate when reconciling this HelmRelease. + description: |- + The name of the Kubernetes service account to impersonate + when reconciling this HelmRelease. type: string suspend: - description: Suspend tells the controller to suspend reconciliation - for this HelmRelease, it does not apply to already started - reconciliations. Defaults to false. + description: |- + Suspend tells the controller to suspend reconciliation for this HelmRelease, + it does not apply to already started reconciliations. Defaults to false. type: boolean targetNamespace: - description: TargetNamespace to target when performing operations - for the HelmRelease. Defaults to the namespace of the - HelmRelease. + description: |- + TargetNamespace to target when performing operations for the HelmRelease. + Defaults to the namespace of the HelmRelease. maxLength: 63 minLength: 1 type: string timeout: - description: Timeout is the time to wait for any individual - Kubernetes operation (like Jobs for hooks) during the - performance of a Helm action. Defaults to '5m0s'. + description: |- + Timeout is the time to wait for any individual Kubernetes operation (like Jobs + for hooks) during the performance of a Helm action. Defaults to '5m0s'. pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ type: string uninstall: @@ -800,19 +851,19 @@ spec: during the Helm rollback action. type: boolean disableWait: - description: DisableWait disables waiting for all the - resources to be deleted after a Helm uninstall is - performed. + description: |- + DisableWait disables waiting for all the resources to be deleted after + a Helm uninstall is performed. type: boolean keepHistory: - description: KeepHistory tells Helm to remove all associated - resources and mark the release as deleted, but retain - the release history. + description: |- + KeepHistory tells Helm to remove all associated resources and mark the + release as deleted, but retain the release history. type: boolean timeout: - description: Timeout is the time to wait for any individual - Kubernetes operation (like Jobs for hooks) during - the performance of a Helm uninstall action. Defaults + description: |- + Timeout is the time to wait for any individual Kubernetes operation (like + Jobs for hooks) during the performance of a Helm uninstall action. Defaults to 'HelmReleaseSpec.Timeout'. pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ type: string @@ -822,23 +873,31 @@ spec: actions for this HelmRelease. properties: cleanupOnFail: - description: CleanupOnFail allows deletion of new resources - created during the Helm upgrade action when it fails. + description: |- + CleanupOnFail allows deletion of new resources created during the Helm + upgrade action when it fails. type: boolean crds: - description: "CRDs upgrade CRDs from the Helm Chart's - crds directory according to the CRD upgrade policy - provided here. Valid values are `Skip`, `Create` or - `CreateReplace`. Default is `Skip` and if omitted - CRDs are neither installed nor upgraded. \n Skip: - do neither install nor replace (update) any CRDs. - \n Create: new CRDs are created, existing CRDs are - neither updated nor deleted. \n CreateReplace: new - CRDs are created, existing CRDs are updated (replaced) - but not deleted. \n By default, CRDs are not applied - during Helm upgrade action. With this option users - can opt-in to CRD upgrade, which is not (yet) natively - supported by Helm. https://helm.sh/docs/chart_best_practices/custom_resource_definitions." + description: |- + CRDs upgrade CRDs from the Helm Chart's crds directory according + to the CRD upgrade policy provided here. Valid values are `Skip`, + `Create` or `CreateReplace`. Default is `Skip` and if omitted + CRDs are neither installed nor upgraded. + + + Skip: do neither install nor replace (update) any CRDs. + + + Create: new CRDs are created, existing CRDs are neither updated nor deleted. + + + CreateReplace: new CRDs are created, existing CRDs are updated (replaced) + but not deleted. + + + By default, CRDs are not applied during Helm upgrade action. With this + option users can opt-in to CRD upgrade, which is not (yet) natively supported by Helm. + https://helm.sh/docs/chart_best_practices/custom_resource_definitions. enum: - Skip - Create @@ -849,51 +908,51 @@ spec: during the Helm upgrade action. type: boolean disableOpenAPIValidation: - description: DisableOpenAPIValidation prevents the Helm - upgrade action from validating rendered templates - against the Kubernetes OpenAPI Schema. + description: |- + DisableOpenAPIValidation prevents the Helm upgrade action from validating + rendered templates against the Kubernetes OpenAPI Schema. type: boolean disableWait: - description: DisableWait disables the waiting for resources - to be ready after a Helm upgrade has been performed. + description: |- + DisableWait disables the waiting for resources to be ready after a Helm + upgrade has been performed. type: boolean disableWaitForJobs: - description: DisableWaitForJobs disables waiting for - jobs to complete after a Helm upgrade has been performed. + description: |- + DisableWaitForJobs disables waiting for jobs to complete after a Helm + upgrade has been performed. type: boolean force: description: Force forces resource updates through a replacement strategy. type: boolean preserveValues: - description: PreserveValues will make Helm reuse the - last release's values and merge in overrides from - 'Values'. Setting this flag makes the HelmRelease + description: |- + PreserveValues will make Helm reuse the last release's values and merge in + overrides from 'Values'. Setting this flag makes the HelmRelease non-declarative. type: boolean remediation: - description: Remediation holds the remediation configuration - for when the Helm upgrade action for the HelmRelease - fails. The default is to not perform any action. + description: |- + Remediation holds the remediation configuration for when the Helm upgrade + action for the HelmRelease fails. The default is to not perform any action. properties: ignoreTestFailures: - description: IgnoreTestFailures tells the controller - to skip remediation when the Helm tests are run - after an upgrade action but fail. Defaults to - 'Test.IgnoreFailures'. + description: |- + IgnoreTestFailures tells the controller to skip remediation when the Helm + tests are run after an upgrade action but fail. + Defaults to 'Test.IgnoreFailures'. type: boolean remediateLastFailure: - description: RemediateLastFailure tells the controller - to remediate the last failure, when no retries - remain. Defaults to 'false' unless 'Retries' is - greater than 0. + description: |- + RemediateLastFailure tells the controller to remediate the last failure, when + no retries remain. Defaults to 'false' unless 'Retries' is greater than 0. type: boolean retries: - description: Retries is the number of retries that - should be attempted on failures before bailing. - Remediation, using 'Strategy', is performed between - each attempt. Defaults to '0', a negative integer - equals to unlimited retries. + description: |- + Retries is the number of retries that should be attempted on failures before + bailing. Remediation, using 'Strategy', is performed between each attempt. + Defaults to '0', a negative integer equals to unlimited retries. type: integer strategy: description: Strategy to use for failure remediation. @@ -904,10 +963,10 @@ spec: type: string type: object timeout: - description: Timeout is the time to wait for any individual - Kubernetes operation (like Jobs for hooks) during - the performance of a Helm upgrade action. Defaults - to 'HelmReleaseSpec.Timeout'. + description: |- + Timeout is the time to wait for any individual Kubernetes operation (like + Jobs for hooks) during the performance of a Helm upgrade action. Defaults to + 'HelmReleaseSpec.Timeout'. pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ type: string type: object @@ -915,13 +974,13 @@ spec: description: Values holds the values for this Helm release. x-kubernetes-preserve-unknown-fields: true valuesFrom: - description: ValuesFrom holds references to resources containing - Helm values for this HelmRelease, and information about - how they should be merged. + description: |- + ValuesFrom holds references to resources containing Helm values for this HelmRelease, + and information about how they should be merged. items: - description: ValuesReference contains a reference to a - resource containing Helm values, and optionally the - key they can be found at. + description: |- + ValuesReference contains a reference to a resource containing Helm values, + and optionally the key they can be found at. properties: kind: description: Kind of the values referent, valid values @@ -931,33 +990,32 @@ spec: - ConfigMap type: string name: - description: Name of the values referent. Should reside - in the same namespace as the referring resource. + description: |- + Name of the values referent. Should reside in the same namespace as the + referring resource. maxLength: 253 minLength: 1 type: string optional: - description: Optional marks this ValuesReference as - optional. When set, a not found error for the values - reference is ignored, but any ValuesKey, TargetPath - or transient error will still result in a reconciliation - failure. + description: |- + Optional marks this ValuesReference as optional. When set, a not found error + for the values reference is ignored, but any ValuesKey, TargetPath or + transient error will still result in a reconciliation failure. type: boolean targetPath: - description: TargetPath is the YAML dot notation path - the value should be merged at. When set, the ValuesKey - is expected to be a single flat value. Defaults - to 'None', which results in the values getting merged - at the root. + description: |- + TargetPath is the YAML dot notation path the value should be merged at. When + set, the ValuesKey is expected to be a single flat value. Defaults to 'None', + which results in the values getting merged at the root. maxLength: 250 pattern: ^([a-zA-Z0-9_\-.\\\/]|\[[0-9]{1,5}\])+$ type: string valuesKey: - description: ValuesKey is the data key where the values.yaml - or a specific value can be found at. Defaults to - 'values.yaml'. When set, must be a valid Data Key, - consisting of alphanumeric characters, '-', '_' - or '.'. + description: |- + ValuesKey is the data key where the values.yaml or a specific value can be + found at. Defaults to 'values.yaml'. + When set, must be a valid Data Key, consisting of alphanumeric characters, + '-', '_' or '.'. maxLength: 253 pattern: ^[\-._a-zA-Z0-9]+$ type: string @@ -971,14 +1029,15 @@ spec: - interval type: object kustomization: - description: Kustomization defines the configuration to calculate - the desired state from a source using kustomize. + description: |- + Kustomization defines the configuration to calculate the desired state + from a source using kustomize. properties: commonMetadata: - description: CommonMetadata specifies the common labels - and annotations that are applied to all resources. Any - existing label or annotation will be overridden if its - key matches a common one. + description: |- + CommonMetadata specifies the common labels and annotations that are + applied to all resources. Any existing label or annotation will be + overridden if its key matches a common one. properties: annotations: additionalProperties: @@ -999,13 +1058,14 @@ spec: type: string type: array dependsOn: - description: DependsOn may contain a meta.NamespacedObjectReference - slice with references to Kustomization resources that - must be ready before this Kustomization can be reconciled. + description: |- + DependsOn may contain a meta.NamespacedObjectReference slice + with references to Kustomization resources that must be ready before this + Kustomization can be reconciled. items: - description: NamespacedObjectReference contains enough - information to locate the referenced Kubernetes resource - object in any namespace. + description: |- + NamespacedObjectReference contains enough information to locate the referenced Kubernetes resource object in any + namespace. properties: name: description: Name of the referent. @@ -1020,24 +1080,24 @@ spec: type: array force: default: false - description: Force instructs the controller to recreate - resources when patching fails due to an immutable field - change. + description: |- + Force instructs the controller to recreate resources + when patching fails due to an immutable field change. type: boolean images: - description: Images is a list of (image name, new name, - new tag or digest) for changing image names, tags or digests. - This can also be achieved with a patch, but this operator - is simpler to specify. + description: |- + Images is a list of (image name, new name, new tag or digest) + for changing image names, tags or digests. This can also be achieved with a + patch, but this operator is simpler to specify. items: description: Image contains an image name, a new name, a new tag or digest, which will replace the original name and tag. properties: digest: - description: Digest is the value used to replace the - original image tag. If digest is present NewTag - value is ignored. + description: |- + Digest is the value used to replace the original image tag. + If digest is present NewTag value is ignored. type: string name: description: Name is a tag-less image name. @@ -1059,43 +1119,46 @@ spec: pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ type: string patches: - description: Strategic merge and JSON patches, defined as - inline YAML objects, capable of targeting objects based - on kind, label and annotation selectors. + description: |- + Strategic merge and JSON patches, defined as inline YAML objects, + capable of targeting objects based on kind, label and annotation selectors. items: - description: Patch contains an inline StrategicMerge or - JSON6902 patch, and the target the patch should be applied - to. + description: |- + Patch contains an inline StrategicMerge or JSON6902 patch, and the target the patch should + be applied to. properties: patch: - description: Patch contains an inline StrategicMerge - patch or an inline JSON6902 patch with an array - of operation objects. + description: |- + Patch contains an inline StrategicMerge patch or an inline JSON6902 patch with + an array of operation objects. type: string target: description: Target points to the resources that the patch document should be applied to. properties: annotationSelector: - description: AnnotationSelector is a string that - follows the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api + description: |- + AnnotationSelector is a string that follows the label selection expression + https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api It matches with the resource annotations. type: string group: - description: Group is the API group to select - resources from. Together with Version and Kind - it is capable of unambiguously identifying and/or - selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md + description: |- + Group is the API group to select resources from. + Together with Version and Kind it is capable of unambiguously identifying and/or selecting resources. + https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md type: string kind: - description: Kind of the API Group to select resources - from. Together with Group and Version it is - capable of unambiguously identifying and/or - selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md + description: |- + Kind of the API Group to select resources from. + Together with Group and Version it is capable of unambiguously + identifying and/or selecting resources. + https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md type: string labelSelector: - description: LabelSelector is a string that follows - the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api + description: |- + LabelSelector is a string that follows the label selection expression + https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api It matches with the resource labels. type: string name: @@ -1105,10 +1168,10 @@ spec: description: Namespace to select resources from. type: string version: - description: Version of the API Group to select - resources from. Together with Group and Kind - it is capable of unambiguously identifying and/or - selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md + description: |- + Version of the API Group to select resources from. + Together with Group and Kind it is capable of unambiguously identifying and/or selecting resources. + https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md type: string type: object required: @@ -1116,34 +1179,37 @@ spec: type: object type: array path: - description: Path to the directory containing the kustomization.yaml - file, or the set of plain YAMLs a kustomization.yaml should - be generated for. Defaults to 'None', which translates - to the root path of the SourceRef. + description: |- + Path to the directory containing the kustomization.yaml file, or the + set of plain YAMLs a kustomization.yaml should be generated for. + Defaults to 'None', which translates to the root path of the SourceRef. type: string prune: description: Prune enables garbage collection. type: boolean retryInterval: - description: The interval at which to retry a previously - failed reconciliation. When not specified, the controller - uses the KustomizationSpec.Interval value to retry failures. + description: |- + The interval at which to retry a previously failed reconciliation. + When not specified, the controller uses the KustomizationSpec.Interval + value to retry failures. pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ type: string suspend: - description: This flag tells the controller to suspend subsequent - kustomize executions, it does not apply to already started - executions. Defaults to false. + description: |- + This flag tells the controller to suspend subsequent kustomize executions, + it does not apply to already started executions. Defaults to false. type: boolean targetNamespace: - description: TargetNamespace sets or overrides the namespace - in the kustomization.yaml file. + description: |- + TargetNamespace sets or overrides the namespace in the + kustomization.yaml file. maxLength: 63 minLength: 1 type: string timeout: - description: Timeout for validation, apply and health checking - operations. Defaults to 'Interval' duration. + description: |- + Timeout for validation, apply and health checking operations. + Defaults to 'Interval' duration. pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$ type: string required: @@ -1151,22 +1217,23 @@ spec: - prune type: object name: - description: Name defines the name of the sync policy. If unspecified, - a name of format `-` will be generated. + description: |- + Name defines the name of the sync policy. + If unspecified, a name of format `-` will be generated. type: string rollout: - description: Rollout defines the rollout configurations to be - used. If specified, a uniform rollout policy is configured - for this installed object. + description: |- + Rollout defines the rollout configurations to be used. + If specified, a uniform rollout policy is configured for this installed object. properties: port: description: Port exposed by the service. format: int32 type: integer preview: - description: Preview is the labels and annotations are added - to the preview service. The name of the preview service - in the cluster is -canary + description: |- + Preview is the labels and annotations are added to the preview service. + The name of the preview service in the cluster is -canary properties: annotations: additionalProperties: @@ -1178,10 +1245,9 @@ spec: type: object type: object primary: - description: Primary is the labels and annotations are added - to the primary service. Primary service is stable service. - The name of the primary service in the cluster is -primary + description: |- + Primary is the labels and annotations are added to the primary service. + Primary service is stable service. The name of the primary service in the cluster is -primary properties: annotations: additionalProperties: @@ -1197,22 +1263,20 @@ spec: of workload. properties: revertOnDeletion: - description: RevertOnDeletion defines whether to revert - a resource to its initial state when deleting rollout - resource. Use of the revertOnDeletion property should - be enabled when you no longer plan to rely on Kurator - for deployment management. Kurator will install the - Flagger to the specified cluster via a fleet plugin. - If RevertOnDeletion is set to true, the Flagger will - revert a resource to its initial state when the deleting - Application.Spec.ApplicationSyncPolicy.Rollout or + description: |- + RevertOnDeletion defines whether to revert a resource to its initial state when deleting rollout resource. + Use of the revertOnDeletion property should be enabled + when you no longer plan to rely on Kurator for deployment management. + Kurator will install the Flagger to the specified cluster via a fleet plugin. + If RevertOnDeletion is set to true, the Flagger will revert a resource to its initial state + when the deleting Application.Spec.ApplicationSyncPolicy.Rollout or the Application. type: boolean rolloutTimeoutSeconds: - description: RolloutTimeoutSeconds represents the maximum - time in seconds for a preview deployment to make progress - before it is considered to be failed. Defaults to - 600. + description: |- + RolloutTimeoutSeconds represents the maximum time in seconds for a + preview deployment to make progress before it is considered to be failed. + Defaults to 600. format: int32 type: integer skipTrafficAnalysis: @@ -1220,54 +1284,51 @@ spec: release without analyzing it. type: boolean suspend: - description: Suspend, if set to true will suspend the - rollout, disabling any rollout runs regardless of - any changes to its target, services, etc. Note that - if the rollout is suspended during an analysis, its - paused until the rollout is uninterrupted. + description: |- + Suspend, if set to true will suspend the rollout, disabling any rollout runs + regardless of any changes to its target, services, etc. Note that if the + rollout is suspended during an analysis, its paused until the rollout is uninterrupted. type: boolean trafficAnalysis: description: TrafficAnalysis defines the validation process of a release properties: checkFailedTimes: - description: 'CheckFailedTimes defines the max number - of failed checks before the traffic analysis is - terminated If set "checkFailedTimes: 2". It means - Kurator will rollback when check failed 2 times.' + description: |- + CheckFailedTimes defines the max number of failed checks before the traffic analysis is terminated + If set "checkFailedTimes: 2". It means Kurator will rollback when check failed 2 times. minimum: 0 type: integer checkIntervalSeconds: - description: CheckIntervalSeconds defines the schedule - interval for this traffic analysis. Interval is - the time interval between each test. Kurator changes - the traffic distribution rules (if they need to - be changed) and performs a traffic analysis every - so often. Defaults to 60. + description: |- + CheckIntervalSeconds defines the schedule interval for this traffic analysis. + Interval is the time interval between each test. + Kurator changes the traffic distribution rules (if they need to be changed) + and performs a traffic analysis every so often. + Defaults to 60. type: integer metrics: - description: 'Metric check list for this traffic - analysis Flagger comes with two builtin metric - checks: HTTP request success rate and duration. - Can use either built-in metric checks or custom - checks. If you want use custom checks, you can - refer to https://docs.flagger.app/usage/metrics#custom-metrics.' + description: |- + Metric check list for this traffic analysis + Flagger comes with two builtin metric checks: HTTP request success rate and duration. + Can use either built-in metric checks or custom checks. + If you want use custom checks, you can refer to https://docs.flagger.app/usage/metrics#custom-metrics. items: properties: intervalSeconds: - description: IntervalSeconds defines metrics - query interval. Defaults to 60. + description: |- + IntervalSeconds defines metrics query interval. + Defaults to 60. type: integer name: - description: Name of the metric. Currently - supported metric are `request-success-rate` - and `request-duration`. + description: |- + Name of the metric. + Currently supported metric are `request-success-rate` and `request-duration`. type: string thresholdRange: - description: ThresholdRange defines valid - value accepted for this metric. If no thresholdRange - are set, Kurator will default every check - is successful. + description: |- + ThresholdRange defines valid value accepted for this metric. + If no thresholdRange are set, Kurator will default every check is successful. properties: max: description: Maximum value @@ -1289,11 +1350,10 @@ spec: be used for the session affinity cookie. type: string maxAge: - description: 'MaxAge indicates the number of - seconds until the session affinity cookie - will expire. ref: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#attributes - The default value is 86,400 seconds, i.e. - a day.' + description: |- + MaxAge indicates the number of seconds until the session affinity cookie will expire. + ref: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#attributes + The default value is 86,400 seconds, i.e. a day. type: integer type: object webhooks: @@ -1306,8 +1366,9 @@ spec: type: string type: array timeoutSeconds: - description: TimeoutSeconds defines request - timeout for this webhook Defaults to 60 + description: |- + TimeoutSeconds defines request timeout for this webhook + Defaults to 60 type: integer type: object required: @@ -1319,100 +1380,104 @@ spec: of the gateway, traffic routing rules, and so on. properties: analysisTimes: - description: 'AnalysisTimes defines the number of - traffic analysis checks to run for A/B Testing - and Blue/Green Deployment If set "analysisTimes: - 10". It means Kurator will checks the preview - service ten times.' + description: |- + AnalysisTimes defines the number of traffic analysis checks to run for A/B Testing and Blue/Green Deployment + If set "analysisTimes: 10". It means Kurator will checks the preview service ten times. minimum: 0 type: integer canaryStrategy: - description: 'CanaryStrategy defines parameters - for Canary Deployment. Note: Kurator determines - A/B Testing, Blue/Green Deployment, or Canary - Deployment based on the presence of content in - the canaryStrategy field. So can''t configure - canaryStrategy and analysisTimes at the same time.' + description: |- + CanaryStrategy defines parameters for Canary Deployment. + Note: Kurator determines A/B Testing, Blue/Green Deployment, or Canary Deployment + based on the presence of content in the canaryStrategy field. + So can't configure canaryStrategy and analysisTimes at the same time. properties: maxWeight: - description: Max traffic weight routed to preview - service. If empty and no stepweights are set, - 100 will be used by default. + description: |- + Max traffic weight routed to preview service. + If empty and no stepweights are set, 100 will be used by default. type: integer stepWeight: - description: 'StepWeight defines the incremental - traffic weight step for analysis phase If - set stepWeight: 10 and set maxWeight: 50 The - flow ratio between PREVIEW and PRIMARY at - each step is (10:90) (20:80) (30:70) (40:60) - (50:50)' + description: |- + StepWeight defines the incremental traffic weight step for analysis phase + If set stepWeight: 10 and set maxWeight: 50 + The flow ratio between PREVIEW and PRIMARY at each step is + (10:90) (20:80) (30:70) (40:60) (50:50) type: integer stepWeightPromotion: - description: 'StepWeightPromotion defines the - incremental traffic weight step for promotion - phase If maxWeight: 50 and set stepWeightPromotion: - 20 After a successful test, traffic to the - PRIMARY version changes as follows: 50 70 - 90 100.' + description: |- + StepWeightPromotion defines the incremental traffic weight step for promotion phase + If maxWeight: 50 and set stepWeightPromotion: 20 + After a successful test, traffic to the PRIMARY version changes as follows: 50 70 90 100. type: integer stepWeights: - description: 'StepWeights defines the incremental - traffic weight steps for analysis phase Note: - Cannot configure stepWeights and stepWeight - at the same time. If both stepWeights and - maxWeight are configured, the traffic will - be scaled according to the settings in stepWeights - only. If set stepWeights: [1, 10, 20, 80] - The flow ratio between PREVIEW and PRIMARY - at each step is (1:99) (10:90) (20:80) (80:20)' + description: |- + StepWeights defines the incremental traffic weight steps for analysis phase + Note: Cannot configure stepWeights and stepWeight at the same time. + If both stepWeights and maxWeight are configured, the traffic + will be scaled according to the settings in stepWeights only. + If set stepWeights: [1, 10, 20, 80] + The flow ratio between PREVIEW and PRIMARY at each step is + (1:99) (10:90) (20:80) (80:20) items: type: integer type: array type: object corsPolicy: - description: "Cross-Origin Resource Sharing policy - for the request. e.g. \n ```yaml corsPolicy: allowHeaders: - - x-some-header allowMethods: - GET allowOrigin: - - example.com maxAge: 24h ```" + description: |- + Cross-Origin Resource Sharing policy for the request. + e.g. + + + ```yaml + corsPolicy: + allowHeaders: + - x-some-header + allowMethods: + - GET + allowOrigin: + - example.com + maxAge: 24h + ``` properties: allowCredentials: - description: Indicates whether the caller is - allowed to send the actual request (not the - preflight) using credentials. Translates to + description: |- + Indicates whether the caller is allowed to send the actual request + (not the preflight) using credentials. Translates to Access-Control-Allow-Credentials header. type: boolean allowHeaders: - description: List of HTTP headers that can be - used when requesting the resource. Serialized - to Access-Control-Allow-Methods header. + description: |- + List of HTTP headers that can be used when requesting the + resource. Serialized to Access-Control-Allow-Methods header. items: type: string type: array allowMethods: - description: List of HTTP methods allowed to - access the resource. The content will be serialized - into the Access-Control-Allow-Methods header. + description: |- + List of HTTP methods allowed to access the resource. The content will + be serialized into the Access-Control-Allow-Methods header. items: type: string type: array allowOrigin: - description: The list of origins that are allowed - to perform CORS requests. The content will - be serialized into the Access-Control-Allow-Origin + description: |- + The list of origins that are allowed to perform CORS requests. The + content will be serialized into the Access-Control-Allow-Origin header. Wildcard * will allow all origins. items: type: string type: array allowOrigins: - description: String patterns that match allowed - origins. An origin is allowed if any of the - string matchers match. If a match is found, - then the outgoing Access-Control-Allow-Origin - would be set to the origin as provided by - the client. + description: |- + String patterns that match allowed origins. An origin is allowed if + any of the string matchers match. If a match is found, then the + outgoing Access-Control-Allow-Origin would be set to the origin as + provided by the client. items: - description: Describes how to match a given - string in HTTP headers. Match is case-sensitive. + description: |- + Describes how to match a given string in HTTP headers. Match is + case-sensitive. properties: exact: description: exact string match @@ -1430,41 +1495,49 @@ spec: type: object type: array exposeHeaders: - description: A white list of HTTP headers that - the browsers are allowed to access. Serialized - into Access-Control-Expose-Headers header. + description: |- + A white list of HTTP headers that the browsers are allowed to + access. Serialized into Access-Control-Expose-Headers header. items: type: string type: array maxAge: - description: Specifies how long the the results - of a preflight request can be cached. Translates - to the Access-Control-Max-Age header. + description: |- + Specifies how long the the results of a preflight request can be + cached. Translates to the Access-Control-Max-Age header. type: string type: object gateways: - description: Gateways attached to the generated - Istio virtual service. Defaults to the internal - mesh gateway. + description: |- + Gateways attached to the generated Istio virtual service. + Defaults to the internal mesh gateway. items: type: string type: array headers: - description: "Headers operations for the Request. - e.g. \n ```yaml headers: request: add: x-some-header: - \"value\" ```" + description: |- + Headers operations for the Request. + e.g. + + + ```yaml + headers: + request: + add: + x-some-header: "value" + ``` properties: request: - description: Header manipulation rules to apply - before forwarding a request to the destination - service + description: |- + Header manipulation rules to apply before forwarding a request + to the destination service properties: add: additionalProperties: type: string - description: Append the given values to - the headers specified by keys (will create - a comma-separated list of values) + description: |- + Append the given values to the headers specified by keys + (will create a comma-separated list of values) type: object remove: description: Remove the specified headers @@ -1479,15 +1552,16 @@ spec: type: object type: object response: - description: Header manipulation rules to apply - before returning a response to the caller + description: |- + Header manipulation rules to apply before returning a response + to the caller properties: add: additionalProperties: type: string - description: Append the given values to - the headers specified by keys (will create - a comma-separated list of values) + description: |- + Append the given values to the headers specified by keys + (will create a comma-separated list of values) type: object remove: description: Remove the specified headers @@ -1508,45 +1582,61 @@ spec: type: string type: array match: - description: "Match conditions of A/B Testing HTTP - header. The header keys must be lowercase and - use hyphen as the separator. values are case-sensitive - and formatted as follows: - `exact: \"value\"` - for exact string match - `prefix: \"value\"` for - prefix-based match - `regex: \"value\"` for ECMAscript - style regex-based match e.g.: \n ```yaml match: - - headers: myheader: regex: \".*XXXX.*\" - headers: - cookie: regex: \"^(.*?;)?(type=insider)(;.*)?$\" - ``` \n Note: If you want to use A/B Testing, you - need to configure analysisTimes and match. If - you only configure analysisTimes, it will trigger - Blue/Green Deployment. You can configure both - canaryStrategy and match. If configure both canaryStrategy - and match, Traffic that meets match goes towards - the preview service. Traffic that doesn't meet - the match will go to the primary service and preview - service proportionally." + description: |- + Match conditions of A/B Testing HTTP header. + The header keys must be lowercase and use hyphen as the separator. + values are case-sensitive and formatted as follows: + - `exact: "value"` for exact string match + - `prefix: "value"` for prefix-based match + - `regex: "value"` for ECMAscript style regex-based match + e.g.: + + + ```yaml + match: + - headers: + myheader: + regex: ".*XXXX.*" + - headers: + cookie: + regex: "^(.*?;)?(type=insider)(;.*)?$" + ``` + + + Note: If you want to use A/B Testing, you need to configure analysisTimes and match. + If you only configure analysisTimes, it will trigger Blue/Green Deployment. + You can configure both canaryStrategy and match. + If configure both canaryStrategy and match, Traffic that meets match goes towards the preview service. + Traffic that doesn't meet the match will go to the primary service and preview service proportionally. items: description: "HttpMatchRequest specifies a set - of criterion to be met in order for the rule + of criterion to be met in order for the\nrule to be applied to the HTTP request. For example, - the following restricts the rule to match only - requests where the URL path starts with /ratings/v2/ - and the request contains a \"cookie\" with value - \"user=jason\". \n apiVersion: networking.istio.io/v1alpha3 - kind: VirtualService metadata: name: ratings-route - spec: hosts: - ratings http: - match: - headers: - cookie: regex: \"^(.*?;)?(user=jason)(;.*)?\" - uri: prefix: \"/ratings/v2/\" route: - destination: - host: ratings \n HTTPMatchRequest CANNOT be - empty." + the following\nrestricts the rule to match only + requests where the URL path\nstarts with /ratings/v2/ + and the request contains a \"cookie\" with value\n\"user=jason\".\n\n\n\tapiVersion: + networking.istio.io/v1alpha3\n\tkind: VirtualService\n\tmetadata:\n\t + \ name: ratings-route\n\tspec:\n\t hosts:\n\t + \ - ratings\n\t http:\n\t - match:\n\t - + headers:\n\t cookie:\n\t regex: + \"^(.*?;)?(user=jason)(;.*)?\"\n\t uri:\n\t + \ prefix: \"/ratings/v2/\"\n\t route:\n\t + \ - destination:\n\t host: ratings\n\n\nHTTPMatchRequest + CANNOT be empty." properties: authority: - description: "HTTP Authority values are case-sensitive - and formatted as follows: \n - `exact: \"value\"` - for exact string match \n - `prefix: \"value\"` - for prefix-based match \n - `regex: \"value\"` - for ECMAscript style regex-based match" + description: |- + HTTP Authority + values are case-sensitive and formatted as follows: + + + - `exact: "value"` for exact string match + + + - `prefix: "value"` for prefix-based match + + + - `regex: "value"` for ECMAscript style regex-based match properties: exact: description: exact string match @@ -1563,17 +1653,18 @@ spec: type: string type: object gateways: - description: Names of gateways where the rule - should be applied to. Gateway names at the - top of the VirtualService (if any) are overridden. - The gateway match is independent of sourceLabels. + description: |- + Names of gateways where the rule should be applied to. Gateway names + at the top of the VirtualService (if any) are overridden. The gateway match is + independent of sourceLabels. items: type: string type: array headers: additionalProperties: - description: Describes how to match a given - string in HTTP headers. Match is case-sensitive. + description: |- + Describes how to match a given string in HTTP headers. Match is + case-sensitive. properties: exact: description: exact string match @@ -1589,29 +1680,46 @@ spec: description: suffix-based match. type: string type: object - description: "The header keys must be lowercase - and use hyphen as the separator, e.g. _x-request-id_. - \n Header values are case-sensitive and - formatted as follows: \n - `exact: \"value\"` - for exact string match \n - `prefix: \"value\"` - for prefix-based match \n - `regex: \"value\"` - for ECMAscript style regex-based match \n - **Note:** The keys `uri`, `scheme`, `method`, - and `authority` will be ignored." + description: |- + The header keys must be lowercase and use hyphen as the separator, + e.g. _x-request-id_. + + + Header values are case-sensitive and formatted as follows: + + + - `exact: "value"` for exact string match + + + - `prefix: "value"` for prefix-based match + + + - `regex: "value"` for ECMAscript style regex-based match + + + **Note:** The keys `uri`, `scheme`, `method`, and `authority` will be ignored. type: object ignoreUriCase: - description: "Flag to specify whether the - URI matching should be case-insensitive. - \n **Note:** The case will be ignored only - in the case of `exact` and `prefix` URI - matches." + description: |- + Flag to specify whether the URI matching should be case-insensitive. + + + **Note:** The case will be ignored only in the case of `exact` and `prefix` + URI matches. type: boolean method: - description: "HTTP Method values are case-sensitive - and formatted as follows: \n - `exact: \"value\"` - for exact string match \n - `prefix: \"value\"` - for prefix-based match \n - `regex: \"value\"` - for ECMAscript style regex-based match" + description: |- + HTTP Method + values are case-sensitive and formatted as follows: + + + - `exact: "value"` for exact string match + + + - `prefix: "value"` for prefix-based match + + + - `regex: "value"` for ECMAscript style regex-based match properties: exact: description: exact string match @@ -1628,25 +1736,23 @@ spec: type: string type: object name: - description: The name assigned to a match. - The match's name will be concatenated with - the parent route's name and will be logged - in the access logs for requests matching - this route. + description: |- + The name assigned to a match. The match's name will be + concatenated with the parent route's name and will be logged in + the access logs for requests matching this route. type: string port: - description: Specifies the ports on the host - that is being addressed. Many services only - expose a single port or label ports with - the protocols they support, in these cases - it is not required to explicitly select - the port. + description: |- + Specifies the ports on the host that is being addressed. Many services + only expose a single port or label ports with the protocols they support, + in these cases it is not required to explicitly select the port. format: int32 type: integer queryParams: additionalProperties: - description: Describes how to match a given - string in HTTP headers. Match is case-sensitive. + description: |- + Describes how to match a given string in HTTP headers. Match is + case-sensitive. properties: exact: description: exact string match @@ -1662,27 +1768,35 @@ spec: description: suffix-based match. type: string type: object - description: "Query parameters for matching. - \n Ex: - For a query parameter like \"?key=true\", - the map key would be \"key\" and the string - match could be defined as `exact: \"true\"`. - - For a query parameter like \"?key\", the - map key would be \"key\" and the string - match could be defined as `exact: \"\"`. - - For a query parameter like \"?key=123\", - the map key would be \"key\" and the string - match could be defined as `regex: \"\\d+$\"`. - Note that this configuration will only match - values like \"123\" but not \"a123\" or - \"123a\". \n **Note:** `prefix` matching - is currently not supported." + description: |- + Query parameters for matching. + + + Ex: + - For a query parameter like "?key=true", the map key would be "key" and + the string match could be defined as `exact: "true"`. + - For a query parameter like "?key", the map key would be "key" and the + string match could be defined as `exact: ""`. + - For a query parameter like "?key=123", the map key would be "key" and the + string match could be defined as `regex: "\d+$"`. Note that this + configuration will only match values like "123" but not "a123" or "123a". + + + **Note:** `prefix` matching is currently not supported. type: object scheme: - description: "URI Scheme values are case-sensitive - and formatted as follows: \n - `exact: \"value\"` - for exact string match \n - `prefix: \"value\"` - for prefix-based match \n - `regex: \"value\"` - for ECMAscript style regex-based match" + description: |- + URI Scheme + values are case-sensitive and formatted as follows: + + + - `exact: "value"` for exact string match + + + - `prefix: "value"` for prefix-based match + + + - `regex: "value"` for ECMAscript style regex-based match properties: exact: description: exact string match @@ -1701,28 +1815,31 @@ spec: sourceLabels: additionalProperties: type: string - description: One or more labels that constrain - the applicability of a rule to workloads - with the given labels. If the VirtualService - has a list of gateways specified at the - top, it should include the reserved gateway + description: |- + One or more labels that constrain the applicability of a rule to + workloads with the given labels. If the VirtualService has a list of + gateways specified at the top, it should include the reserved gateway `mesh` in order for this field to be applicable. type: object sourceNamespace: - description: Source namespace constraining - the applicability of a rule to workloads - in that namespace. If the VirtualService - has a list of gateways specified in the - top-level `gateways` field, it must include - the reserved gateway `mesh` for this field - to be applicable. + description: |- + Source namespace constraining the applicability of a rule to workloads in that namespace. + If the VirtualService has a list of gateways specified in the top-level `gateways` field, + it must include the reserved gateway `mesh` for this field to be applicable. type: string uri: - description: "URI to match values are case-sensitive - and formatted as follows: \n - `exact: \"value\"` - for exact string match \n - `prefix: \"value\"` - for prefix-based match \n - `regex: \"value\"` - for ECMAscript style regex-based match" + description: |- + URI to match + values are case-sensitive and formatted as follows: + + + - `exact: "value"` for exact string match + + + - `prefix: "value"` for prefix-based match + + + - `regex: "value"` for ECMAscript style regex-based match properties: exact: description: exact string match @@ -1740,8 +1857,9 @@ spec: type: object withoutHeaders: additionalProperties: - description: Describes how to match a given - string in HTTP headers. Match is case-sensitive. + description: |- + Describes how to match a given string in HTTP headers. Match is + case-sensitive. properties: exact: description: exact string match @@ -1757,29 +1875,32 @@ spec: description: suffix-based match. type: string type: object - description: withoutHeader has the same syntax - with the header, but has opposite meaning. - If a header is matched with a matching rule - among withoutHeader, the traffic becomes - not matched one. + description: |- + withoutHeader has the same syntax with the header, but has opposite meaning. + If a header is matched with a matching rule among withoutHeader, the traffic becomes not matched one. type: object type: object type: array retries: - description: "Retries describes the retry policy - to use when a HTTP request fails. For example, - the following rule sets the maximum number of - retries to three, with a 2s timeout per retry - attempt. e.g.: \n ```yaml retries: attempts: 3 - perTryTimeout: 2s retryOn: gateway-error,connect-failure,refused-stream - ```" + description: |- + Retries describes the retry policy to use when a HTTP request fails. + For example, the following rule sets the maximum number of retries to three, + with a 2s timeout per retry attempt. + e.g.: + + + ```yaml + retries: + attempts: 3 + perTryTimeout: 2s + retryOn: gateway-error,connect-failure,refused-stream + ``` properties: attempts: - description: REQUIRED. Number of retries for - a given request. The interval between retries - will be determined automatically (25ms+). - Actual number of retries attempted depends - on the httpReqTimeout. + description: |- + REQUIRED. Number of retries for a given request. The interval + between retries will be determined automatically (25ms+). Actual + number of retries attempted depends on the httpReqTimeout. type: integer perTryTimeout: description: 'Timeout per retry attempt for @@ -1787,10 +1908,11 @@ spec: BE >=1ms.' type: string retryOn: - description: Specifies the conditions under - which retry takes place. One or more policies - can be specified using a ‘,’ delimited list. - The supported policies can be found in + description: |- + Specifies the conditions under which retry takes place. + One or more policies can be specified using a ‘,’ delimited list. + The supported policies can be found in + and type: string type: object @@ -1805,21 +1927,22 @@ spec: matches the workload. type: string testLoader: - description: Testloader defines whether to install a private - testloader for Kurator. Testloader generates traffic during - rollout analysis. Default is false. Because Kurator will - installs a public testloader with the flagger installation. - If set it to true, Kurator will install a private testloader - dedicated to requesting the workload. + description: |- + Testloader defines whether to install a private testloader for Kurator. + Testloader generates traffic during rollout analysis. + Default is false. Because Kurator will installs a public testloader with the flagger installation. + If set it to true, Kurator will install a private testloader dedicated to requesting the workload. type: boolean trafficRoutingProvider: - description: TrafficRoutingProvider defines traffic routing - provider. Kurator only supports istio for now. Other provider - will be added later. + description: |- + TrafficRoutingProvider defines traffic routing provider. + Kurator only supports istio for now. + Other provider will be added later. type: string workload: - description: Workload specifies what workload to deploy - the test to. Workload of type Deployment or DaemonSet. + description: |- + Workload specifies what workload to deploy the test to. + Workload of type Deployment or DaemonSet. properties: apiVersion: description: API version of the referent @@ -1869,8 +1992,9 @@ spec: pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$ type: string lastUpdateTime: - description: LastUpdateTime is the timestamp corresponding - to the last update of the Artifact. + description: |- + LastUpdateTime is the timestamp corresponding to the last update of the + Artifact. format: date-time type: string metadata: @@ -1880,25 +2004,25 @@ spec: as OCI annotations. type: object path: - description: Path is the relative file path of the Artifact. - It can be used to locate the file in the root of the - Artifact storage on the local file system of the controller - managing the Source. + description: |- + Path is the relative file path of the Artifact. It can be used to locate + the file in the root of the Artifact storage on the local file system of + the controller managing the Source. type: string revision: - description: Revision is a human-readable identifier traceable - in the origin source system. It can be a Git commit - SHA, Git tag, a Helm chart version, etc. + description: |- + Revision is a human-readable identifier traceable in the origin source + system. It can be a Git commit SHA, Git tag, a Helm chart version, etc. type: string size: description: Size is the number of bytes in the file. format: int64 type: integer url: - description: URL is the HTTP address of the Artifact as - exposed by the controller managing the Source. It can - be used to retrieve the Artifact for consumption, e.g. - by another controller applying the Artifact contents. + description: |- + URL is the HTTP address of the Artifact as exposed by the controller + managing the Source. It can be used to retrieve the Artifact for + consumption, e.g. by another controller applying the Artifact contents. type: string required: - lastUpdateTime @@ -1910,48 +2034,45 @@ spec: description: Conditions holds the conditions for the GitRepository. items: description: "Condition contains details for one aspect - of the current state of this API Resource. --- This struct - is intended for direct use as an array at the field path - .status.conditions. For example, \n type FooStatus struct{ - // Represents the observations of a foo's current state. - // Known .status.conditions.type are: \"Available\", \"Progressing\", - and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" - patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` - \n // other fields }" + of the current state of this API Resource.\n---\nThis + struct is intended for direct use as an array at the field + path .status.conditions. For example,\n\n\n\ttype FooStatus + struct{\n\t // Represents the observations of a foo's + current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t + \ // +patchMergeKey=type\n\t // +patchStrategy=merge\n\t + \ // +listType=map\n\t // +listMapKey=type\n\t Conditions + []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" + patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" properties: lastTransitionTime: - description: lastTransitionTime is the last time the - condition transitioned from one status to another. - This should be when the underlying condition changed. If - that is not known, then using the time when the API - field changed is acceptable. + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: message is a human readable message indicating - details about the transition. This may be an empty - string. + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. maxLength: 32768 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. + 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 minimum: 0 type: integer reason: - description: reason contains a programmatic identifier - indicating the reason for the condition's last transition. - Producers of specific condition types may define expected - values and meanings for this field, and whether the - values are considered a guaranteed API. The value - should be a CamelCase string. This field may not be - empty. + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. maxLength: 1024 minLength: 1 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ @@ -1965,12 +2086,12 @@ spec: - Unknown type: string type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across - resources like Available, but because arbitrary conditions - can be useful (see .node.status.conditions), the ability - to deconflict is important. The regex it matches is - (dns1123SubdomainFmt/)?(qualifiedNameFmt) + description: |- + type of condition in CamelCase or in foo.example.com/CamelCase. + --- + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + useful (see .node.status.conditions), the ability to deconflict is important. + The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string @@ -1983,19 +2104,25 @@ spec: type: object type: array contentConfigChecksum: - description: "ContentConfigChecksum is a checksum of all the - configurations related to the content of the source artifact: - - .spec.ignore - .spec.recurseSubmodules - .spec.included - and the checksum of the included artifacts observed in .status.observedGeneration - version of the object. This can be used to determine if - the content of the included repository has changed. It has - the format of `:`, for example: `sha256:`. - \n Deprecated: Replaced with explicit fields for observed - artifact content config in the status." + description: |- + ContentConfigChecksum is a checksum of all the configurations related to + the content of the source artifact: + - .spec.ignore + - .spec.recurseSubmodules + - .spec.included and the checksum of the included artifacts + observed in .status.observedGeneration version of the object. This can + be used to determine if the content of the included repository has + changed. + It has the format of `:`, for example: `sha256:`. + + + Deprecated: Replaced with explicit fields for observed artifact content + config in the status. type: string includedArtifacts: - description: IncludedArtifacts contains a list of the last - successfully included Artifacts as instructed by GitRepositorySpec.Include. + description: |- + IncludedArtifacts contains a list of the last successfully included + Artifacts as instructed by GitRepositorySpec.Include. items: description: Artifact represents the output of a Source reconciliation. @@ -2006,8 +2133,9 @@ spec: pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$ type: string lastUpdateTime: - description: LastUpdateTime is the timestamp corresponding - to the last update of the Artifact. + description: |- + LastUpdateTime is the timestamp corresponding to the last update of the + Artifact. format: date-time type: string metadata: @@ -2017,25 +2145,25 @@ spec: as OCI annotations. type: object path: - description: Path is the relative file path of the Artifact. - It can be used to locate the file in the root of the - Artifact storage on the local file system of the controller - managing the Source. + description: |- + Path is the relative file path of the Artifact. It can be used to locate + the file in the root of the Artifact storage on the local file system of + the controller managing the Source. type: string revision: - description: Revision is a human-readable identifier - traceable in the origin source system. It can be a - Git commit SHA, Git tag, a Helm chart version, etc. + description: |- + Revision is a human-readable identifier traceable in the origin source + system. It can be a Git commit SHA, Git tag, a Helm chart version, etc. type: string size: description: Size is the number of bytes in the file. format: int64 type: integer url: - description: URL is the HTTP address of the Artifact - as exposed by the controller managing the Source. - It can be used to retrieve the Artifact for consumption, - e.g. by another controller applying the Artifact contents. + description: |- + URL is the HTTP address of the Artifact as exposed by the controller + managing the Source. It can be used to retrieve the Artifact for + consumption, e.g. by another controller applying the Artifact contents. type: string required: - lastUpdateTime @@ -2045,34 +2173,40 @@ spec: type: object type: array lastHandledReconcileAt: - description: LastHandledReconcileAt holds the value of the - most recent reconcile request value, so a change of the - annotation value can be detected. + description: |- + LastHandledReconcileAt holds the value of the most recent + reconcile request value, so a change of the annotation value + can be detected. type: string observedGeneration: - description: ObservedGeneration is the last observed generation - of the GitRepository object. + description: |- + ObservedGeneration is the last observed generation of the GitRepository + object. format: int64 type: integer observedIgnore: - description: ObservedIgnore is the observed exclusion patterns - used for constructing the source artifact. + description: |- + ObservedIgnore is the observed exclusion patterns used for constructing + the source artifact. type: string observedInclude: - description: ObservedInclude is the observed list of GitRepository - resources used to to produce the current Artifact. + description: |- + ObservedInclude is the observed list of GitRepository resources used to + to produce the current Artifact. items: - description: GitRepositoryInclude specifies a local reference - to a GitRepository which Artifact (sub-)contents must - be included, and where they should be placed. + description: |- + GitRepositoryInclude specifies a local reference to a GitRepository which + Artifact (sub-)contents must be included, and where they should be placed. properties: fromPath: - description: FromPath specifies the path to copy contents - from, defaults to the root of the Artifact. + description: |- + FromPath specifies the path to copy contents from, defaults to the root + of the Artifact. type: string repository: - description: GitRepositoryRef specifies the GitRepository - which Artifact contents must be included. + description: |- + GitRepositoryRef specifies the GitRepository which Artifact contents + must be included. properties: name: description: Name of the referent. @@ -2081,21 +2215,24 @@ spec: - name type: object toPath: - description: ToPath specifies the path to copy contents - to, defaults to the name of the GitRepositoryRef. + description: |- + ToPath specifies the path to copy contents to, defaults to the name of + the GitRepositoryRef. type: string required: - repository type: object type: array observedRecurseSubmodules: - description: ObservedRecurseSubmodules is the observed resource - submodules configuration used to produce the current Artifact. + description: |- + ObservedRecurseSubmodules is the observed resource submodules + configuration used to produce the current Artifact. type: boolean url: - description: URL is the dynamic fetch link for the latest - Artifact. It is provided on a "best effort" basis, and using - the precise GitRepositoryStatus.Artifact data is recommended. + description: |- + URL is the dynamic fetch link for the latest Artifact. + It is provided on a "best effort" basis, and using the precise + GitRepositoryStatus.Artifact data is recommended. type: string type: object helmRepoStatus: @@ -2112,8 +2249,9 @@ spec: pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$ type: string lastUpdateTime: - description: LastUpdateTime is the timestamp corresponding - to the last update of the Artifact. + description: |- + LastUpdateTime is the timestamp corresponding to the last update of the + Artifact. format: date-time type: string metadata: @@ -2123,25 +2261,25 @@ spec: as OCI annotations. type: object path: - description: Path is the relative file path of the Artifact. - It can be used to locate the file in the root of the - Artifact storage on the local file system of the controller - managing the Source. + description: |- + Path is the relative file path of the Artifact. It can be used to locate + the file in the root of the Artifact storage on the local file system of + the controller managing the Source. type: string revision: - description: Revision is a human-readable identifier traceable - in the origin source system. It can be a Git commit - SHA, Git tag, a Helm chart version, etc. + description: |- + Revision is a human-readable identifier traceable in the origin source + system. It can be a Git commit SHA, Git tag, a Helm chart version, etc. type: string size: description: Size is the number of bytes in the file. format: int64 type: integer url: - description: URL is the HTTP address of the Artifact as - exposed by the controller managing the Source. It can - be used to retrieve the Artifact for consumption, e.g. - by another controller applying the Artifact contents. + description: |- + URL is the HTTP address of the Artifact as exposed by the controller + managing the Source. It can be used to retrieve the Artifact for + consumption, e.g. by another controller applying the Artifact contents. type: string required: - lastUpdateTime @@ -2153,48 +2291,45 @@ spec: description: Conditions holds the conditions for the HelmRepository. items: description: "Condition contains details for one aspect - of the current state of this API Resource. --- This struct - is intended for direct use as an array at the field path - .status.conditions. For example, \n type FooStatus struct{ - // Represents the observations of a foo's current state. - // Known .status.conditions.type are: \"Available\", \"Progressing\", - and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" - patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` - \n // other fields }" + of the current state of this API Resource.\n---\nThis + struct is intended for direct use as an array at the field + path .status.conditions. For example,\n\n\n\ttype FooStatus + struct{\n\t // Represents the observations of a foo's + current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t + \ // +patchMergeKey=type\n\t // +patchStrategy=merge\n\t + \ // +listType=map\n\t // +listMapKey=type\n\t Conditions + []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" + patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" properties: lastTransitionTime: - description: lastTransitionTime is the last time the - condition transitioned from one status to another. - This should be when the underlying condition changed. If - that is not known, then using the time when the API - field changed is acceptable. + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: message is a human readable message indicating - details about the transition. This may be an empty - string. + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. maxLength: 32768 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. + 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 minimum: 0 type: integer reason: - description: reason contains a programmatic identifier - indicating the reason for the condition's last transition. - Producers of specific condition types may define expected - values and meanings for this field, and whether the - values are considered a guaranteed API. The value - should be a CamelCase string. This field may not be - empty. + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. maxLength: 1024 minLength: 1 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ @@ -2208,12 +2343,12 @@ spec: - Unknown type: string type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across - resources like Available, but because arbitrary conditions - can be useful (see .node.status.conditions), the ability - to deconflict is important. The regex it matches is - (dns1123SubdomainFmt/)?(qualifiedNameFmt) + description: |- + type of condition in CamelCase or in foo.example.com/CamelCase. + --- + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + useful (see .node.status.conditions), the ability to deconflict is important. + The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string @@ -2226,19 +2361,22 @@ spec: type: object type: array lastHandledReconcileAt: - description: LastHandledReconcileAt holds the value of the - most recent reconcile request value, so a change of the - annotation value can be detected. + description: |- + LastHandledReconcileAt holds the value of the most recent + reconcile request value, so a change of the annotation value + can be detected. type: string observedGeneration: - description: ObservedGeneration is the last observed generation - of the HelmRepository object. + description: |- + ObservedGeneration is the last observed generation of the HelmRepository + object. format: int64 type: integer url: - description: URL is the dynamic fetch link for the latest - Artifact. It is provided on a "best effort" basis, and using - the precise HelmRepositoryStatus.Artifact data is recommended. + description: |- + URL is the dynamic fetch link for the latest Artifact. + It is provided on a "best effort" basis, and using the precise + HelmRepositoryStatus.Artifact data is recommended. type: string type: object ociRepoStatus: @@ -2255,8 +2393,9 @@ spec: pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$ type: string lastUpdateTime: - description: LastUpdateTime is the timestamp corresponding - to the last update of the Artifact. + description: |- + LastUpdateTime is the timestamp corresponding to the last update of the + Artifact. format: date-time type: string metadata: @@ -2266,25 +2405,25 @@ spec: as OCI annotations. type: object path: - description: Path is the relative file path of the Artifact. - It can be used to locate the file in the root of the - Artifact storage on the local file system of the controller - managing the Source. + description: |- + Path is the relative file path of the Artifact. It can be used to locate + the file in the root of the Artifact storage on the local file system of + the controller managing the Source. type: string revision: - description: Revision is a human-readable identifier traceable - in the origin source system. It can be a Git commit - SHA, Git tag, a Helm chart version, etc. + description: |- + Revision is a human-readable identifier traceable in the origin source + system. It can be a Git commit SHA, Git tag, a Helm chart version, etc. type: string size: description: Size is the number of bytes in the file. format: int64 type: integer url: - description: URL is the HTTP address of the Artifact as - exposed by the controller managing the Source. It can - be used to retrieve the Artifact for consumption, e.g. - by another controller applying the Artifact contents. + description: |- + URL is the HTTP address of the Artifact as exposed by the controller + managing the Source. It can be used to retrieve the Artifact for + consumption, e.g. by another controller applying the Artifact contents. type: string required: - lastUpdateTime @@ -2296,48 +2435,45 @@ spec: description: Conditions holds the conditions for the OCIRepository. items: description: "Condition contains details for one aspect - of the current state of this API Resource. --- This struct - is intended for direct use as an array at the field path - .status.conditions. For example, \n type FooStatus struct{ - // Represents the observations of a foo's current state. - // Known .status.conditions.type are: \"Available\", \"Progressing\", - and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" - patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` - \n // other fields }" + of the current state of this API Resource.\n---\nThis + struct is intended for direct use as an array at the field + path .status.conditions. For example,\n\n\n\ttype FooStatus + struct{\n\t // Represents the observations of a foo's + current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t + \ // +patchMergeKey=type\n\t // +patchStrategy=merge\n\t + \ // +listType=map\n\t // +listMapKey=type\n\t Conditions + []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" + patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" properties: lastTransitionTime: - description: lastTransitionTime is the last time the - condition transitioned from one status to another. - This should be when the underlying condition changed. If - that is not known, then using the time when the API - field changed is acceptable. + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: message is a human readable message indicating - details about the transition. This may be an empty - string. + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. maxLength: 32768 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. + 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 minimum: 0 type: integer reason: - description: reason contains a programmatic identifier - indicating the reason for the condition's last transition. - Producers of specific condition types may define expected - values and meanings for this field, and whether the - values are considered a guaranteed API. The value - should be a CamelCase string. This field may not be - empty. + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. maxLength: 1024 minLength: 1 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ @@ -2351,12 +2487,12 @@ spec: - Unknown type: string type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across - resources like Available, but because arbitrary conditions - can be useful (see .node.status.conditions), the ability - to deconflict is important. The regex it matches is - (dns1123SubdomainFmt/)?(qualifiedNameFmt) + description: |- + type of condition in CamelCase or in foo.example.com/CamelCase. + --- + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + useful (see .node.status.conditions), the ability to deconflict is important. + The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string @@ -2369,44 +2505,52 @@ spec: type: object type: array contentConfigChecksum: - description: "ContentConfigChecksum is a checksum of all the - configurations related to the content of the source artifact: - - .spec.ignore - .spec.layerSelector observed in .status.observedGeneration - version of the object. This can be used to determine if - the content configuration has changed and the artifact needs - to be rebuilt. It has the format of `:`, - for example: `sha256:`. \n Deprecated: Replaced - with explicit fields for observed artifact content config - in the status." + description: |- + ContentConfigChecksum is a checksum of all the configurations related to + the content of the source artifact: + - .spec.ignore + - .spec.layerSelector + observed in .status.observedGeneration version of the object. This can + be used to determine if the content configuration has changed and the + artifact needs to be rebuilt. + It has the format of `:`, for example: `sha256:`. + + + Deprecated: Replaced with explicit fields for observed artifact content + config in the status. type: string lastHandledReconcileAt: - description: LastHandledReconcileAt holds the value of the - most recent reconcile request value, so a change of the - annotation value can be detected. + description: |- + LastHandledReconcileAt holds the value of the most recent + reconcile request value, so a change of the annotation value + can be detected. type: string observedGeneration: description: ObservedGeneration is the last observed generation. format: int64 type: integer observedIgnore: - description: ObservedIgnore is the observed exclusion patterns - used for constructing the source artifact. + description: |- + ObservedIgnore is the observed exclusion patterns used for constructing + the source artifact. type: string observedLayerSelector: - description: ObservedLayerSelector is the observed layer selector - used for constructing the source artifact. + description: |- + ObservedLayerSelector is the observed layer selector used for constructing + the source artifact. properties: mediaType: - description: MediaType specifies the OCI media type of - the layer which should be extracted from the OCI Artifact. - The first layer matching this type is selected. + description: |- + MediaType specifies the OCI media type of the layer + which should be extracted from the OCI Artifact. The + first layer matching this type is selected. type: string operation: - description: Operation specifies how the selected layer - should be processed. By default, the layer compressed - content is extracted to storage. When the operation - is set to 'copy', the layer compressed content is persisted - to storage as it is. + description: |- + Operation specifies how the selected layer should be processed. + By default, the layer compressed content is extracted to storage. + When the operation is set to 'copy', the layer compressed content + is persisted to storage as it is. enum: - extract - copy @@ -2431,49 +2575,45 @@ spec: description: Conditions holds the conditions for the HelmRelease. items: description: "Condition contains details for one aspect - of the current state of this API Resource. --- This + of the current state of this API Resource.\n---\nThis struct is intended for direct use as an array at the - field path .status.conditions. For example, \n type - FooStatus struct{ // Represents the observations of - a foo's current state. // Known .status.conditions.type - are: \"Available\", \"Progressing\", and \"Degraded\" - // +patchMergeKey=type // +patchStrategy=merge // +listType=map - // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" - patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` - \n // other fields }" + field path .status.conditions. For example,\n\n\n\ttype + FooStatus struct{\n\t // Represents the observations + of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t + \ // +patchMergeKey=type\n\t // +patchStrategy=merge\n\t + \ // +listType=map\n\t // +listMapKey=type\n\t + \ Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" properties: lastTransitionTime: - description: lastTransitionTime is the last time the - condition transitioned from one status to another. - This should be when the underlying condition changed. If - that is not known, then using the time when the - API field changed is acceptable. + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: message is a human readable message indicating - details about the transition. This may be an empty - string. + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. maxLength: 32768 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. + 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 minimum: 0 type: integer reason: - description: reason contains a programmatic identifier - indicating the reason for the condition's last transition. - Producers of specific condition types may define - expected values and meanings for this field, and - whether the values are considered a guaranteed API. - The value should be a CamelCase string. This field - may not be empty. + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. maxLength: 1024 minLength: 1 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ @@ -2487,12 +2627,12 @@ spec: - Unknown type: string type: - description: type of condition in CamelCase or in - foo.example.com/CamelCase. --- Many .condition.type - values are consistent across resources like Available, - but because arbitrary conditions can be useful (see - .node.status.conditions), the ability to deconflict - is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + description: |- + type of condition in CamelCase or in foo.example.com/CamelCase. + --- + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + useful (see .node.status.conditions), the ability to deconflict is important. + The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string @@ -2505,19 +2645,20 @@ spec: type: object type: array failures: - description: Failures is the reconciliation failure count - against the latest desired state. It is reset after a - successful reconciliation. + description: |- + Failures is the reconciliation failure count against the latest desired + state. It is reset after a successful reconciliation. format: int64 type: integer helmChart: - description: HelmChart is the namespaced name of the HelmChart - resource created by the controller for the HelmRelease. + description: |- + HelmChart is the namespaced name of the HelmChart resource created by + the controller for the HelmRelease. type: string installFailures: - description: InstallFailures is the install failure count - against the latest desired state. It is reset after a - successful reconciliation. + description: |- + InstallFailures is the install failure count against the latest desired + state. It is reset after a successful reconciliation. format: int64 type: integer lastAppliedRevision: @@ -2529,13 +2670,15 @@ spec: last reconciliation attempt. type: string lastAttemptedValuesChecksum: - description: LastAttemptedValuesChecksum is the SHA1 checksum - of the values of the last reconciliation attempt. + description: |- + LastAttemptedValuesChecksum is the SHA1 checksum of the values of the last + reconciliation attempt. type: string lastHandledReconcileAt: - description: LastHandledReconcileAt holds the value of the - most recent reconcile request value, so a change of the - annotation value can be detected. + description: |- + LastHandledReconcileAt holds the value of the most recent + reconcile request value, so a change of the annotation value + can be detected. type: string lastReleaseRevision: description: LastReleaseRevision is the revision of the @@ -2546,9 +2689,9 @@ spec: format: int64 type: integer upgradeFailures: - description: UpgradeFailures is the upgrade failure count - against the latest desired state. It is reset after a - successful reconciliation. + description: |- + UpgradeFailures is the upgrade failure count against the latest desired + state. It is reset after a successful reconciliation. format: int64 type: integer type: object @@ -2559,49 +2702,45 @@ spec: conditions: items: description: "Condition contains details for one aspect - of the current state of this API Resource. --- This + of the current state of this API Resource.\n---\nThis struct is intended for direct use as an array at the - field path .status.conditions. For example, \n type - FooStatus struct{ // Represents the observations of - a foo's current state. // Known .status.conditions.type - are: \"Available\", \"Progressing\", and \"Degraded\" - // +patchMergeKey=type // +patchStrategy=merge // +listType=map - // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" - patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` - \n // other fields }" + field path .status.conditions. For example,\n\n\n\ttype + FooStatus struct{\n\t // Represents the observations + of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t + \ // +patchMergeKey=type\n\t // +patchStrategy=merge\n\t + \ // +listType=map\n\t // +listMapKey=type\n\t + \ Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" properties: lastTransitionTime: - description: lastTransitionTime is the last time the - condition transitioned from one status to another. - This should be when the underlying condition changed. If - that is not known, then using the time when the - API field changed is acceptable. + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: message is a human readable message indicating - details about the transition. This may be an empty - string. + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. maxLength: 32768 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. + 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 minimum: 0 type: integer reason: - description: reason contains a programmatic identifier - indicating the reason for the condition's last transition. - Producers of specific condition types may define - expected values and meanings for this field, and - whether the values are considered a guaranteed API. - The value should be a CamelCase string. This field - may not be empty. + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. maxLength: 1024 minLength: 1 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ @@ -2615,12 +2754,12 @@ spec: - Unknown type: string type: - description: type of condition in CamelCase or in - foo.example.com/CamelCase. --- Many .condition.type - values are consistent across resources like Available, - but because arbitrary conditions can be useful (see - .node.status.conditions), the ability to deconflict - is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + description: |- + type of condition in CamelCase or in foo.example.com/CamelCase. + --- + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + useful (see .node.status.conditions), the ability to deconflict is important. + The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string @@ -2643,9 +2782,9 @@ spec: necessary to locate a resource within a cluster. properties: id: - description: ID is the string representation of - the Kubernetes resource object's metadata, in - the format '___'. + description: |- + ID is the string representation of the Kubernetes resource object's metadata, + in the format '___'. type: string v: description: Version is the API version of the @@ -2660,18 +2799,19 @@ spec: - entries type: object lastAppliedRevision: - description: The last successfully applied revision. Equals - the Revision of the applied Artifact from the referenced - Source. + description: |- + The last successfully applied revision. + Equals the Revision of the applied Artifact from the referenced Source. type: string lastAttemptedRevision: description: LastAttemptedRevision is the revision of the last reconciliation attempt. type: string lastHandledReconcileAt: - description: LastHandledReconcileAt holds the value of the - most recent reconcile request value, so a change of the - annotation value can be detected. + description: |- + LastHandledReconcileAt holds the value of the most recent + reconcile request value, so a change of the annotation value + can be detected. type: string observedGeneration: description: ObservedGeneration is the last reconciled generation. @@ -2766,9 +2906,3 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/manifests/charts/fleet-manager/crds/backup.kurator.dev_backups.yaml b/manifests/charts/fleet-manager/crds/backup.kurator.dev_backups.yaml index 20c986207..8277521e6 100644 --- a/manifests/charts/fleet-manager/crds/backup.kurator.dev_backups.yaml +++ b/manifests/charts/fleet-manager/crds/backup.kurator.dev_backups.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.8.0 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.14.0 name: backups.backup.kurator.dev spec: group: backup.kurator.dev @@ -33,14 +32,19 @@ spec: description: Backup is the schema for the Backup's API. 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' + 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' + 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 @@ -51,77 +55,75 @@ spec: be performed. properties: clusters: - description: Clusters allows users to specify a subset of clusters - within the selected fleet for targeted operations. If not set, - it implies that the operation is targeted at all clusters within - the specified fleet. + description: |- + Clusters allows users to specify a subset of clusters within the selected fleet for targeted operations. + If not set, it implies that the operation is targeted at all clusters within the specified fleet. items: - description: "ObjectReference contains enough information to - let you inspect or modify the referred object. --- New uses - of this type are discouraged because of difficulty describing - its usage when embedded in APIs. 1. Ignored fields. It includes - many fields which are not generally honored. For instance, - ResourceVersion and FieldPath are both very rarely valid in - actual usage. 2. Invalid usage help. It is impossible to - add specific help for individual usage. In most embedded - usages, there are particular restrictions like, \"must refer - only to types A and B\" or \"UID not honored\" or \"name must - be restricted\". Those cannot be well described when embedded. - 3. Inconsistent validation. Because the usages are different, - the validation rules are different by usage, which makes it - hard for users to predict what will happen. 4. The fields - are both imprecise and overly precise. Kind is not a precise - mapping to a URL. This can produce ambiguity during interpretation - and require a REST mapping. In most cases, the dependency - is on the group,resource tuple and the version of the actual - struct is irrelevant. 5. We cannot easily change it. Because - this type is embedded in many locations, updates to this type - will affect numerous schemas. Don't make new APIs embed an - underspecified API type they do not control. \n Instead of - using this type, create a locally provided and used type that - is well-focused on your reference. For example, ServiceReferences - for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 - ." + description: |- + ObjectReference contains enough information to let you inspect or modify the referred object. + --- + New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. + 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. + 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular + restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". + Those cannot be well described when embedded. + 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. + 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity + during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple + and the version of the actual struct is irrelevant. + 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type + will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control. + + + Instead of using this type, create a locally provided and used type that is well-focused on your reference. + For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 . properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead - of an entire object, this string should contain a valid - JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container - within a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that - triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). - This syntax is chosen only to have some well-defined way - of referencing a part of an object. TODO: this design - is not final and this field is subject to change in the - future.' + description: |- + If referring to a piece of an object instead of an entire object, this string + should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within a pod, this would take on a value like: + "spec.containers{name}" (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" (container with + index 2 in this pod). This syntax is chosen only to have some well-defined way of + referencing a part of an object. + TODO: this design is not final and this field is subject to change in the future. type: string kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind of the referent. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string namespace: - description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: |- + Namespace of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: |- + Specific resourceVersion to which this reference is made, if any. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency type: string uid: - description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: |- + UID of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids type: string type: object + x-kubernetes-map-type: atomic type: array fleet: - description: Fleet represents the name of a fleet which determines - a set of target clusters within the namespace. This field is - required to identify the context for cluster selection. + description: |- + Fleet represents the name of a fleet which determines a set of target clusters within the namespace. + This field is required to identify the context for cluster selection. type: string required: - fleet @@ -132,43 +134,39 @@ spec: orderedResources: additionalProperties: type: string - description: 'OrderedResources specifies the backup order of resources - of specific Kind. The map key is the resource name and value - is a list of object names separated by commas. Each resource - name has format "namespace/objectname". For cluster resources, - simply use "objectname". For example, if you have a specific - order for pods, such as "pod1, pod2, pod3" with all belonging - to the "ns1" namespace, and a specific order for persistentvolumes, - such as "pv4, pv8", you can use the orderedResources field in - YAML format as shown below: ```yaml orderedResources: pods: - "ns1/pod1, ns1/pod2, ns1/pod3" persistentvolumes: "pv4, pv8" - ```' + description: |- + OrderedResources specifies the backup order of resources of specific Kind. + The map key is the resource name and value is a list of object names separated by commas. + Each resource name has format "namespace/objectname". For cluster resources, simply use "objectname". + For example, if you have a specific order for pods, such as "pod1, pod2, pod3" with all belonging to the "ns1" namespace, + and a specific order for persistentvolumes, such as "pv4, pv8", you can use the orderedResources field in YAML format as shown below: + ```yaml + orderedResources: + pods: "ns1/pod1, ns1/pod2, ns1/pod3" + persistentvolumes: "pv4, pv8" + ``` nullable: true type: object resourceFilter: - description: ResourceFilter specifies which resources should be - included in the backup. It acts as a selective criterion to - determine which resources are relevant for backup. If not set, - the backup process will consider all resources. This filter - helps in optimizing the backup process by excluding unnecessary - data. + description: |- + ResourceFilter specifies which resources should be included in the backup. + It acts as a selective criterion to determine which resources are relevant for backup. + If not set, the backup process will consider all resources. This filter helps in optimizing the backup process by excluding unnecessary data. properties: excludedClusterScopedResources: - description: ExcludedClusterScopedResources is a slice of - cluster-scoped resource type names to exclude from the backup. - If set to "*", all cluster-scoped resource types are excluded. - The default value is empty. Cannot work with IncludedResources, - ExcludedResources and IncludeClusterResources. + description: |- + ExcludedClusterScopedResources is a slice of cluster-scoped resource type names to exclude from the backup. + If set to "*", all cluster-scoped resource types are excluded. The default value is empty. + Cannot work with IncludedResources, ExcludedResources and IncludeClusterResources. items: type: string nullable: true type: array excludedNamespaceScopedResources: - description: ExcludedNamespaceScopedResources is a slice of - namespace-scoped resource type names to exclude from the - backup. If set to "*", all namespace-scoped resource types - are excluded. The default value is empty. Cannot work with - IncludedResources, ExcludedResources and IncludeClusterResources. + description: |- + ExcludedNamespaceScopedResources is a slice of namespace-scoped resource type names to exclude from the backup. + If set to "*", all namespace-scoped resource types are excluded. The default value is empty. + Cannot work with IncludedResources, ExcludedResources and IncludeClusterResources. items: type: string nullable: true @@ -181,77 +179,70 @@ spec: nullable: true type: array excludedResources: - description: ExcludedResources is a slice of resource names - that are not included in the backup. Cannot work with IncludedClusterScopedResources, - ExcludedClusterScopedResources, IncludedNamespaceScopedResources - and ExcludedNamespaceScopedResources. + description: |- + ExcludedResources is a slice of resource names that are not included in the backup. + Cannot work with IncludedClusterScopedResources, ExcludedClusterScopedResources, IncludedNamespaceScopedResources and ExcludedNamespaceScopedResources. items: type: string nullable: true type: array includeClusterResources: - description: IncludeClusterResources specifies whether cluster-scoped - resources should be included for consideration in the backup. - Cannot work with IncludedClusterScopedResources, ExcludedClusterScopedResources, - IncludedNamespaceScopedResources and ExcludedNamespaceScopedResources. + description: |- + IncludeClusterResources specifies whether cluster-scoped resources should be included for consideration in the backup. + Cannot work with IncludedClusterScopedResources, ExcludedClusterScopedResources, IncludedNamespaceScopedResources and ExcludedNamespaceScopedResources. nullable: true type: boolean includedClusterScopedResources: - description: IncludedClusterScopedResources is a slice of - cluster-scoped resource type names to include in the backup. - For example, we can populate this string array with ["storageclasses", - "clusterroles"], then we will select all resources of type - storageclasses and clusterroles, If set to "*", all cluster-scoped - resource types are included. The default value is empty, - which means only related cluster-scoped resources are included. - Cannot work with IncludedResources, ExcludedResources and - IncludeClusterResources. + description: |- + IncludedClusterScopedResources is a slice of cluster-scoped resource type names to include in the backup. + For example, we can populate this string array with ["storageclasses", "clusterroles"], then we will select all resources of type storageclasses and clusterroles, + If set to "*", all cluster-scoped resource types are included. + The default value is empty, which means only related cluster-scoped resources are included. + Cannot work with IncludedResources, ExcludedResources and IncludeClusterResources. items: type: string nullable: true type: array includedNamespaceScopedResources: - description: IncludedNamespaceScopedResources is a slice of - namespace-scoped resource type names to include in the backup. - For example, we can populate this string array with ["deployments", - "configmaps"], then we will select all resources of type - deployments and configmaps, The default value is "*". Cannot - work with IncludedResources, ExcludedResources and IncludeClusterResources. + description: |- + IncludedNamespaceScopedResources is a slice of namespace-scoped resource type names to include in the backup. + For example, we can populate this string array with ["deployments", "configmaps"], then we will select all resources of type deployments and configmaps, + The default value is "*". + Cannot work with IncludedResources, ExcludedResources and IncludeClusterResources. items: type: string nullable: true type: array includedNamespaces: - description: IncludedNamespaces is a list of namespace names - to include objects from. If empty, all namespaces are included. + description: |- + IncludedNamespaces is a list of namespace names to include objects from. + If empty, all namespaces are included. items: type: string nullable: true type: array includedResources: - description: IncludedResources is a slice of API resource - names to include in the backup. For example, we can populate - this string array with ["deployments", "configmaps","clusterroles","storageclasses"], - then we will select all resources of type deployments and - configmaps. If empty, all API resources are included. Cannot - work with IncludedClusterScopedResources, ExcludedClusterScopedResources, - IncludedNamespaceScopedResources and ExcludedNamespaceScopedResources. + description: |- + IncludedResources is a slice of API resource names to include in the backup. + For example, we can populate this string array with ["deployments", "configmaps","clusterroles","storageclasses"], then we will select all resources of type deployments and configmaps. + If empty, all API resources are included. + Cannot work with IncludedClusterScopedResources, ExcludedClusterScopedResources, IncludedNamespaceScopedResources and ExcludedNamespaceScopedResources. items: type: string nullable: true type: array labelSelector: - description: LabelSelector is a metav1.LabelSelector to filter - with when adding individual objects to the backup. If empty - or nil, all objects are included. Optional. + description: |- + LabelSelector is a metav1.LabelSelector to filter with when adding individual objects to the backup. + If empty or nil, all objects are included. Optional. nullable: true properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -259,17 +250,16 @@ spec: applies to. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, NotIn, - Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. - If the operator is In or NotIn, the values array - must be non-empty. If the operator is Exists or - DoesNotExist, the values array must be empty. - This array is replaced during a strategic merge - patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -281,31 +271,30 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field is - "key", the operator is "In", and the values array contains - only "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + x-kubernetes-map-type: atomic orLabelSelectors: - description: OrLabelSelectors is list of metav1.LabelSelector - to filter with when adding individual objects to the backup. + description: |- + OrLabelSelectors is list of metav1.LabelSelector to filter with when adding individual objects to the backup. If multiple provided they will be joined by the OR operator. - LabelSelector as well as OrLabelSelectors cannot co-exist - in backup request, only one of them can be used. + LabelSelector as well as OrLabelSelectors cannot co-exist in backup request, only one of them can be used. items: - description: A label selector is a label query over a set - of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. + description: |- + A label selector is a label query over a set of resources. The result of matchLabels and + matchExpressions are ANDed. An empty label selector matches all objects. A null + label selector matches no objects. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -313,17 +302,16 @@ spec: applies to. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. - If the operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be empty. - This array is replaced during a strategic merge - patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -335,13 +323,13 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + x-kubernetes-map-type: atomic nullable: true type: array type: object @@ -351,18 +339,20 @@ spec: type: string type: object schedule: - description: Schedule defines when to run the Backup using a Cron - expression. A cron expression is a format used to specify the execution - time of recurring tasks, consisting of multiple fields representing - different time units. ┌───────────── minute (0 - 59) │ ┌───────────── - hour (0 - 23) │ │ ┌───────────── day of the month (1 - 31) │ │ │ - ┌───────────── month (1 - 12) │ │ │ │ ┌───────────── day of the - week (0 - 6) (Sunday to Saturday; │ │ │ │ │ 7 - is also Sunday on some systems) │ │ │ │ │ │ │ │ │ │ * * * * * For - example, "30 * * * *" represents execution at the 30th minute of - every hour, and "10 10,14 * * *" represents execution at 10:10 AM - and 2:10 PM every day. If not set, the backup will be executed only - once. + description: |- + Schedule defines when to run the Backup using a Cron expression. + A cron expression is a format used to specify the execution time of recurring tasks, consisting of multiple fields representing different time units. + ┌───────────── minute (0 - 59) + │ ┌───────────── hour (0 - 23) + │ │ ┌───────────── day of the month (1 - 31) + │ │ │ ┌───────────── month (1 - 12) + │ │ │ │ ┌───────────── day of the week (0 - 6) (Sunday to Saturday; + │ │ │ │ │ 7 is also Sunday on some systems) + │ │ │ │ │ + │ │ │ │ │ + * * * * * + For example, "30 * * * *" represents execution at the 30th minute of every hour, and "10 10,14 * * *" represents execution at 10:10 AM and 2:10 PM every day. + If not set, the backup will be executed only once. type: string required: - destination @@ -375,50 +365,53 @@ spec: items: properties: backupNameInCluster: - description: BackupNameInCluster is the name of the backup being - performed within this cluster. This BackupNameInCluster is - unique in Storage. + description: |- + BackupNameInCluster is the name of the backup being performed within this cluster. + This BackupNameInCluster is unique in Storage. type: string backupStatusInCluster: description: BackupStatusInCluster is the current status of the backup performed within this cluster. properties: backupItemOperationsAttempted: - description: BackupItemOperationsAttempted is the total - number of attempted async BackupItemAction operations - for this backup. + description: |- + BackupItemOperationsAttempted is the total number of attempted + async BackupItemAction operations for this backup. type: integer backupItemOperationsCompleted: - description: BackupItemOperationsCompleted is the total - number of successfully completed async BackupItemAction - operations for this backup. + description: |- + BackupItemOperationsCompleted is the total number of successfully completed + async BackupItemAction operations for this backup. type: integer backupItemOperationsFailed: - description: BackupItemOperationsFailed is the total number - of async BackupItemAction operations for this backup which - ended with an error. + description: |- + BackupItemOperationsFailed is the total number of async + BackupItemAction operations for this backup which ended with an error. type: integer completionTimestamp: - description: CompletionTimestamp records the time a backup - was completed. Completion time is recorded even on failed - backups. Completion time is recorded before uploading - the backup object. The server's time is used for CompletionTimestamps + description: |- + CompletionTimestamp records the time a backup was completed. + Completion time is recorded even on failed backups. + Completion time is recorded before uploading the backup object. + The server's time is used for CompletionTimestamps format: date-time nullable: true type: string csiVolumeSnapshotsAttempted: - description: CSIVolumeSnapshotsAttempted is the total number - of attempted CSI VolumeSnapshots for this backup. + description: |- + CSIVolumeSnapshotsAttempted is the total number of attempted + CSI VolumeSnapshots for this backup. type: integer csiVolumeSnapshotsCompleted: - description: CSIVolumeSnapshotsCompleted is the total number - of successfully completed CSI VolumeSnapshots for this - backup. + description: |- + CSIVolumeSnapshotsCompleted is the total number of successfully + completed CSI VolumeSnapshots for this backup. type: integer errors: - description: Errors is a count of all error messages that - were generated during execution of the backup. The actual - errors are in the backup's log file in object storage. + description: |- + Errors is a count of all error messages that were generated during + execution of the backup. The actual errors are in the backup's log + file in object storage. type: integer expiration: description: Expiration is when this Backup is eligible @@ -450,57 +443,62 @@ spec: - Deleting type: string progress: - description: Progress contains information about the backup's - execution progress. Note that this information is best-effort - only -- if Velero fails to update it during a backup for - any reason, it may be inaccurate/stale. + description: |- + Progress contains information about the backup's execution progress. Note + that this information is best-effort only -- if Velero fails to update it + during a backup for any reason, it may be inaccurate/stale. nullable: true properties: itemsBackedUp: - description: ItemsBackedUp is the number of items that - have actually been written to the backup tarball so - far. + description: |- + ItemsBackedUp is the number of items that have actually been written to the + backup tarball so far. type: integer totalItems: - description: TotalItems is the total number of items - to be backed up. This number may change throughout - the execution of the backup due to plugins that return - additional related items to back up, the velero.io/exclude-from-backup - label, and various other filters that happen as items - are processed. + description: |- + TotalItems is the total number of items to be backed up. This number may change + throughout the execution of the backup due to plugins that return additional related + items to back up, the velero.io/exclude-from-backup label, and various other + filters that happen as items are processed. type: integer type: object startTimestamp: - description: StartTimestamp records the time a backup was - started. Separate from CreationTimestamp, since that value - changes on restores. The server's time is used for StartTimestamps + description: |- + StartTimestamp records the time a backup was started. + Separate from CreationTimestamp, since that value changes + on restores. + The server's time is used for StartTimestamps format: date-time nullable: true type: string validationErrors: - description: ValidationErrors is a slice of all validation - errors (if applicable). + description: |- + ValidationErrors is a slice of all validation errors (if + applicable). items: type: string nullable: true type: array version: - description: 'Version is the backup format major version. - Deprecated: Please see FormatVersion' + description: |- + Version is the backup format major version. + Deprecated: Please see FormatVersion type: integer volumeSnapshotsAttempted: - description: VolumeSnapshotsAttempted is the total number - of attempted volume snapshots for this backup. + description: |- + VolumeSnapshotsAttempted is the total number of attempted + volume snapshots for this backup. type: integer volumeSnapshotsCompleted: - description: VolumeSnapshotsCompleted is the total number - of successfully completed volume snapshots for this backup. + description: |- + VolumeSnapshotsCompleted is the total number of successfully + completed volume snapshots for this backup. type: integer warnings: - description: Warnings is a count of all warning messages - that were generated during execution of the backup. The - actual warnings are in the backup's log file in object - storage. + description: |- + Warnings is a count of all warning messages that were generated during + execution of the backup. The actual warnings are in the backup's log + file in object storage. type: integer type: object clusterKind: @@ -521,37 +519,37 @@ spec: operational state. properties: lastTransitionTime: - description: Last time the condition transitioned from one status - to another. This should be when the underlying condition changed. - If that is not known, then using the time when the API field - changed is acceptable. + description: |- + Last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when + the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: |- + A human readable message indicating details about the transition. + This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: |- + The reason for the condition's last transition in CamelCase. + The specific API may choose whether or not this field is considered a guaranteed API. + This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: |- + Severity provides an explicit classification of Reason code, so the users or machines can immediately + understand the current situation and act accordingly. + The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: |- + Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions + can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -568,9 +566,3 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/manifests/charts/fleet-manager/crds/backup.kurator.dev_migrates.yaml b/manifests/charts/fleet-manager/crds/backup.kurator.dev_migrates.yaml index daed5f74b..fa1a2e675 100644 --- a/manifests/charts/fleet-manager/crds/backup.kurator.dev_migrates.yaml +++ b/manifests/charts/fleet-manager/crds/backup.kurator.dev_migrates.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.8.0 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.14.0 name: migrates.backup.kurator.dev spec: group: backup.kurator.dev @@ -28,14 +27,19 @@ spec: description: Migrate is the schema for the Migrate's API. 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' + 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' + 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 @@ -45,36 +49,33 @@ spec: description: Policy defines the rules for the migration. properties: migrateStatus: - description: MigrateStatus specifies which resources we should - migrate the status field. If nil, no objects are included. Optional. + description: |- + MigrateStatus specifies which resources we should migrate the status field. + If nil, no objects are included. Optional. nullable: true properties: excludedResources: - description: 'ExcludedResources lists out the resources that - will NOT have their status restored. By default, if this - list is empty, it means the status for NO resources will - be excluded from restoration. For instance: - If you want - to prevent restoring the status for pods and configmaps, - set: excludedResources: ["pods", "configmaps"] - If you - leave it empty, no resources are excluded, and all will - have their status restored (unless specified otherwise in - IncludedResources). Note: Exclusions listed here take precedence - over inclusions. So, if a resource is listed in both, its - status will NOT be restored.' + description: |- + ExcludedResources lists out the resources that will NOT have their status restored. + By default, if this list is empty, it means the status for NO resources will be excluded from restoration. + For instance: + - If you want to prevent restoring the status for pods and configmaps, set: + excludedResources: ["pods", "configmaps"] + - If you leave it empty, no resources are excluded, and all will have their status restored (unless specified otherwise in IncludedResources). + Note: Exclusions listed here take precedence over inclusions. So, if a resource is listed in both, its status will NOT be restored. items: type: string nullable: true type: array includedResources: - description: 'IncludedResources determines which resources - will have their status restored. By default, if this list - is empty, it means the status for ALL resources will be - restored. For example: - If you want to restore the status - only for deployments and services, set: includedResources: - ["deployments", "services"] - If you leave it empty, the - status for all resources will be restored. Note: If a resource - is listed in both IncludedResources and ExcludedResources, - the exclusion takes precedence.' + description: |- + IncludedResources determines which resources will have their status restored. + By default, if this list is empty, it means the status for ALL resources will be restored. + For example: + - If you want to restore the status only for deployments and services, set: + includedResources: ["deployments", "services"] + - If you leave it empty, the status for all resources will be restored. + Note: If a resource is listed in both IncludedResources and ExcludedResources, the exclusion takes precedence. items: type: string nullable: true @@ -83,25 +84,26 @@ spec: namespaceMapping: additionalProperties: type: string - description: NamespaceMapping is a map of source namespace names - to target namespace names to migrate into. Any source namespaces - not included in the map will be migrated into namespaces of - the same name. + description: |- + NamespaceMapping is a map of source namespace names to target namespace names to migrate into. + Any source namespaces not included in the map will be migrated into namespaces of the same name. type: object orderedResources: additionalProperties: type: string - description: "OrderedResources specifies the backup order of resources - of specific Kind. The map key is the resource name and value - is a list of object names separated by commas. Each resource - name has format \"namespace/objectname\". For cluster resources, - simply use \"objectname\". For example, if you have a specific - order for pods, such as \"pod1, pod2, pod3\" with all belonging - to the \"ns1\" namespace, and a specific order for persistentvolumes, - such as \"pv4, pv8\", you can use the orderedResources field - in YAML format as shown below: \n ```yaml orderedResources: - pods: \"ns1/pod1, ns1/pod2, ns1/pod3\" persistentvolumes: \"pv4, - pv8\" ```" + description: |- + OrderedResources specifies the backup order of resources of specific Kind. + The map key is the resource name and value is a list of object names separated by commas. + Each resource name has format "namespace/objectname". For cluster resources, simply use "objectname". + For example, if you have a specific order for pods, such as "pod1, pod2, pod3" with all belonging to the "ns1" namespace, + and a specific order for persistentvolumes, such as "pv4, pv8", you can use the orderedResources field in YAML format as shown below: + + + ```yaml + orderedResources: + pods: "ns1/pod1, ns1/pod2, ns1/pod3" + persistentvolumes: "pv4, pv8" + ``` nullable: true type: object preserveNodePorts: @@ -110,26 +112,24 @@ spec: nullable: true type: boolean resourceFilter: - description: ResourceFilter specifies the resources to be included - in the migration. If not set, all resources in source cluster - will be migrated. + description: |- + ResourceFilter specifies the resources to be included in the migration. + If not set, all resources in source cluster will be migrated. properties: excludedClusterScopedResources: - description: ExcludedClusterScopedResources is a slice of - cluster-scoped resource type names to exclude from the backup. - If set to "*", all cluster-scoped resource types are excluded. - The default value is empty. Cannot work with IncludedResources, - ExcludedResources and IncludeClusterResources. + description: |- + ExcludedClusterScopedResources is a slice of cluster-scoped resource type names to exclude from the backup. + If set to "*", all cluster-scoped resource types are excluded. The default value is empty. + Cannot work with IncludedResources, ExcludedResources and IncludeClusterResources. items: type: string nullable: true type: array excludedNamespaceScopedResources: - description: ExcludedNamespaceScopedResources is a slice of - namespace-scoped resource type names to exclude from the - backup. If set to "*", all namespace-scoped resource types - are excluded. The default value is empty. Cannot work with - IncludedResources, ExcludedResources and IncludeClusterResources. + description: |- + ExcludedNamespaceScopedResources is a slice of namespace-scoped resource type names to exclude from the backup. + If set to "*", all namespace-scoped resource types are excluded. The default value is empty. + Cannot work with IncludedResources, ExcludedResources and IncludeClusterResources. items: type: string nullable: true @@ -142,77 +142,70 @@ spec: nullable: true type: array excludedResources: - description: ExcludedResources is a slice of resource names - that are not included in the backup. Cannot work with IncludedClusterScopedResources, - ExcludedClusterScopedResources, IncludedNamespaceScopedResources - and ExcludedNamespaceScopedResources. + description: |- + ExcludedResources is a slice of resource names that are not included in the backup. + Cannot work with IncludedClusterScopedResources, ExcludedClusterScopedResources, IncludedNamespaceScopedResources and ExcludedNamespaceScopedResources. items: type: string nullable: true type: array includeClusterResources: - description: IncludeClusterResources specifies whether cluster-scoped - resources should be included for consideration in the backup. - Cannot work with IncludedClusterScopedResources, ExcludedClusterScopedResources, - IncludedNamespaceScopedResources and ExcludedNamespaceScopedResources. + description: |- + IncludeClusterResources specifies whether cluster-scoped resources should be included for consideration in the backup. + Cannot work with IncludedClusterScopedResources, ExcludedClusterScopedResources, IncludedNamespaceScopedResources and ExcludedNamespaceScopedResources. nullable: true type: boolean includedClusterScopedResources: - description: IncludedClusterScopedResources is a slice of - cluster-scoped resource type names to include in the backup. - For example, we can populate this string array with ["storageclasses", - "clusterroles"], then we will select all resources of type - storageclasses and clusterroles, If set to "*", all cluster-scoped - resource types are included. The default value is empty, - which means only related cluster-scoped resources are included. - Cannot work with IncludedResources, ExcludedResources and - IncludeClusterResources. + description: |- + IncludedClusterScopedResources is a slice of cluster-scoped resource type names to include in the backup. + For example, we can populate this string array with ["storageclasses", "clusterroles"], then we will select all resources of type storageclasses and clusterroles, + If set to "*", all cluster-scoped resource types are included. + The default value is empty, which means only related cluster-scoped resources are included. + Cannot work with IncludedResources, ExcludedResources and IncludeClusterResources. items: type: string nullable: true type: array includedNamespaceScopedResources: - description: IncludedNamespaceScopedResources is a slice of - namespace-scoped resource type names to include in the backup. - For example, we can populate this string array with ["deployments", - "configmaps"], then we will select all resources of type - deployments and configmaps, The default value is "*". Cannot - work with IncludedResources, ExcludedResources and IncludeClusterResources. + description: |- + IncludedNamespaceScopedResources is a slice of namespace-scoped resource type names to include in the backup. + For example, we can populate this string array with ["deployments", "configmaps"], then we will select all resources of type deployments and configmaps, + The default value is "*". + Cannot work with IncludedResources, ExcludedResources and IncludeClusterResources. items: type: string nullable: true type: array includedNamespaces: - description: IncludedNamespaces is a list of namespace names - to include objects from. If empty, all namespaces are included. + description: |- + IncludedNamespaces is a list of namespace names to include objects from. + If empty, all namespaces are included. items: type: string nullable: true type: array includedResources: - description: IncludedResources is a slice of API resource - names to include in the backup. For example, we can populate - this string array with ["deployments", "configmaps","clusterroles","storageclasses"], - then we will select all resources of type deployments and - configmaps. If empty, all API resources are included. Cannot - work with IncludedClusterScopedResources, ExcludedClusterScopedResources, - IncludedNamespaceScopedResources and ExcludedNamespaceScopedResources. + description: |- + IncludedResources is a slice of API resource names to include in the backup. + For example, we can populate this string array with ["deployments", "configmaps","clusterroles","storageclasses"], then we will select all resources of type deployments and configmaps. + If empty, all API resources are included. + Cannot work with IncludedClusterScopedResources, ExcludedClusterScopedResources, IncludedNamespaceScopedResources and ExcludedNamespaceScopedResources. items: type: string nullable: true type: array labelSelector: - description: LabelSelector is a metav1.LabelSelector to filter - with when adding individual objects to the backup. If empty - or nil, all objects are included. Optional. + description: |- + LabelSelector is a metav1.LabelSelector to filter with when adding individual objects to the backup. + If empty or nil, all objects are included. Optional. nullable: true properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -220,17 +213,16 @@ spec: applies to. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, NotIn, - Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. - If the operator is In or NotIn, the values array - must be non-empty. If the operator is Exists or - DoesNotExist, the values array must be empty. - This array is replaced during a strategic merge - patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -242,31 +234,30 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field is - "key", the operator is "In", and the values array contains - only "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + x-kubernetes-map-type: atomic orLabelSelectors: - description: OrLabelSelectors is list of metav1.LabelSelector - to filter with when adding individual objects to the backup. + description: |- + OrLabelSelectors is list of metav1.LabelSelector to filter with when adding individual objects to the backup. If multiple provided they will be joined by the OR operator. - LabelSelector as well as OrLabelSelectors cannot co-exist - in backup request, only one of them can be used. + LabelSelector as well as OrLabelSelectors cannot co-exist in backup request, only one of them can be used. items: - description: A label selector is a label query over a set - of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. + description: |- + A label selector is a label query over a set of resources. The result of matchLabels and + matchExpressions are ANDed. An empty label selector matches all objects. A null + label selector matches no objects. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -274,17 +265,16 @@ spec: applies to. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. - If the operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be empty. - This array is replaced during a strategic merge - patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -296,95 +286,93 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + x-kubernetes-map-type: atomic nullable: true type: array type: object type: object sourceCluster: - description: SourceCluster represents the source cluster for migration. + description: |- + SourceCluster represents the source cluster for migration. The user needs to ensure that SourceCluster points to only ONE cluster. - Because the current migration only supports migrating from one SourceCluster - to one or more TargetCluster. + Because the current migration only supports migrating from one SourceCluster to one or more TargetCluster. properties: clusters: - description: Clusters allows users to specify a subset of clusters - within the selected fleet for targeted operations. If not set, - it implies that the operation is targeted at all clusters within - the specified fleet. + description: |- + Clusters allows users to specify a subset of clusters within the selected fleet for targeted operations. + If not set, it implies that the operation is targeted at all clusters within the specified fleet. items: - description: "ObjectReference contains enough information to - let you inspect or modify the referred object. --- New uses - of this type are discouraged because of difficulty describing - its usage when embedded in APIs. 1. Ignored fields. It includes - many fields which are not generally honored. For instance, - ResourceVersion and FieldPath are both very rarely valid in - actual usage. 2. Invalid usage help. It is impossible to - add specific help for individual usage. In most embedded - usages, there are particular restrictions like, \"must refer - only to types A and B\" or \"UID not honored\" or \"name must - be restricted\". Those cannot be well described when embedded. - 3. Inconsistent validation. Because the usages are different, - the validation rules are different by usage, which makes it - hard for users to predict what will happen. 4. The fields - are both imprecise and overly precise. Kind is not a precise - mapping to a URL. This can produce ambiguity during interpretation - and require a REST mapping. In most cases, the dependency - is on the group,resource tuple and the version of the actual - struct is irrelevant. 5. We cannot easily change it. Because - this type is embedded in many locations, updates to this type - will affect numerous schemas. Don't make new APIs embed an - underspecified API type they do not control. \n Instead of - using this type, create a locally provided and used type that - is well-focused on your reference. For example, ServiceReferences - for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 - ." + description: |- + ObjectReference contains enough information to let you inspect or modify the referred object. + --- + New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. + 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. + 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular + restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". + Those cannot be well described when embedded. + 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. + 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity + during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple + and the version of the actual struct is irrelevant. + 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type + will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control. + + + Instead of using this type, create a locally provided and used type that is well-focused on your reference. + For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 . properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead - of an entire object, this string should contain a valid - JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container - within a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that - triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). - This syntax is chosen only to have some well-defined way - of referencing a part of an object. TODO: this design - is not final and this field is subject to change in the - future.' + description: |- + If referring to a piece of an object instead of an entire object, this string + should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within a pod, this would take on a value like: + "spec.containers{name}" (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" (container with + index 2 in this pod). This syntax is chosen only to have some well-defined way of + referencing a part of an object. + TODO: this design is not final and this field is subject to change in the future. type: string kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind of the referent. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string namespace: - description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: |- + Namespace of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: |- + Specific resourceVersion to which this reference is made, if any. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency type: string uid: - description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: |- + UID of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids type: string type: object + x-kubernetes-map-type: atomic type: array fleet: - description: Fleet represents the name of a fleet which determines - a set of target clusters within the namespace. This field is - required to identify the context for cluster selection. + description: |- + Fleet represents the name of a fleet which determines a set of target clusters within the namespace. + This field is required to identify the context for cluster selection. type: string required: - fleet @@ -393,77 +381,75 @@ spec: description: TargetClusters represents the target clusters for migration. properties: clusters: - description: Clusters allows users to specify a subset of clusters - within the selected fleet for targeted operations. If not set, - it implies that the operation is targeted at all clusters within - the specified fleet. + description: |- + Clusters allows users to specify a subset of clusters within the selected fleet for targeted operations. + If not set, it implies that the operation is targeted at all clusters within the specified fleet. items: - description: "ObjectReference contains enough information to - let you inspect or modify the referred object. --- New uses - of this type are discouraged because of difficulty describing - its usage when embedded in APIs. 1. Ignored fields. It includes - many fields which are not generally honored. For instance, - ResourceVersion and FieldPath are both very rarely valid in - actual usage. 2. Invalid usage help. It is impossible to - add specific help for individual usage. In most embedded - usages, there are particular restrictions like, \"must refer - only to types A and B\" or \"UID not honored\" or \"name must - be restricted\". Those cannot be well described when embedded. - 3. Inconsistent validation. Because the usages are different, - the validation rules are different by usage, which makes it - hard for users to predict what will happen. 4. The fields - are both imprecise and overly precise. Kind is not a precise - mapping to a URL. This can produce ambiguity during interpretation - and require a REST mapping. In most cases, the dependency - is on the group,resource tuple and the version of the actual - struct is irrelevant. 5. We cannot easily change it. Because - this type is embedded in many locations, updates to this type - will affect numerous schemas. Don't make new APIs embed an - underspecified API type they do not control. \n Instead of - using this type, create a locally provided and used type that - is well-focused on your reference. For example, ServiceReferences - for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 - ." + description: |- + ObjectReference contains enough information to let you inspect or modify the referred object. + --- + New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. + 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. + 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular + restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". + Those cannot be well described when embedded. + 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. + 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity + during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple + and the version of the actual struct is irrelevant. + 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type + will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control. + + + Instead of using this type, create a locally provided and used type that is well-focused on your reference. + For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 . properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead - of an entire object, this string should contain a valid - JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container - within a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that - triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). - This syntax is chosen only to have some well-defined way - of referencing a part of an object. TODO: this design - is not final and this field is subject to change in the - future.' + description: |- + If referring to a piece of an object instead of an entire object, this string + should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within a pod, this would take on a value like: + "spec.containers{name}" (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" (container with + index 2 in this pod). This syntax is chosen only to have some well-defined way of + referencing a part of an object. + TODO: this design is not final and this field is subject to change in the future. type: string kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind of the referent. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string namespace: - description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: |- + Namespace of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: |- + Specific resourceVersion to which this reference is made, if any. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency type: string uid: - description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: |- + UID of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids type: string type: object + x-kubernetes-map-type: atomic type: array fleet: - description: Fleet represents the name of a fleet which determines - a set of target clusters within the namespace. This field is - required to identify the context for cluster selection. + description: |- + Fleet represents the name of a fleet which determines a set of target clusters within the namespace. + This field is required to identify the context for cluster selection. type: string required: - fleet @@ -482,37 +468,37 @@ spec: operational state. properties: lastTransitionTime: - description: Last time the condition transitioned from one status - to another. This should be when the underlying condition changed. - If that is not known, then using the time when the API field - changed is acceptable. + description: |- + Last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when + the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: |- + A human readable message indicating details about the transition. + This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: |- + The reason for the condition's last transition in CamelCase. + The specific API may choose whether or not this field is considered a guaranteed API. + This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: |- + Severity provides an explicit classification of Reason code, so the users or machines can immediately + understand the current situation and act accordingly. + The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: |- + Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions + can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -535,49 +521,53 @@ spec: in SourceCluster. properties: backupNameInCluster: - description: BackupNameInCluster is the name of the backup being - performed within this cluster. This BackupNameInCluster is unique - in Storage. + description: |- + BackupNameInCluster is the name of the backup being performed within this cluster. + This BackupNameInCluster is unique in Storage. type: string backupStatusInCluster: description: BackupStatusInCluster is the current status of the backup performed within this cluster. properties: backupItemOperationsAttempted: - description: BackupItemOperationsAttempted is the total number - of attempted async BackupItemAction operations for this - backup. + description: |- + BackupItemOperationsAttempted is the total number of attempted + async BackupItemAction operations for this backup. type: integer backupItemOperationsCompleted: - description: BackupItemOperationsCompleted is the total number - of successfully completed async BackupItemAction operations - for this backup. + description: |- + BackupItemOperationsCompleted is the total number of successfully completed + async BackupItemAction operations for this backup. type: integer backupItemOperationsFailed: - description: BackupItemOperationsFailed is the total number - of async BackupItemAction operations for this backup which - ended with an error. + description: |- + BackupItemOperationsFailed is the total number of async + BackupItemAction operations for this backup which ended with an error. type: integer completionTimestamp: - description: CompletionTimestamp records the time a backup - was completed. Completion time is recorded even on failed - backups. Completion time is recorded before uploading the - backup object. The server's time is used for CompletionTimestamps + description: |- + CompletionTimestamp records the time a backup was completed. + Completion time is recorded even on failed backups. + Completion time is recorded before uploading the backup object. + The server's time is used for CompletionTimestamps format: date-time nullable: true type: string csiVolumeSnapshotsAttempted: - description: CSIVolumeSnapshotsAttempted is the total number - of attempted CSI VolumeSnapshots for this backup. + description: |- + CSIVolumeSnapshotsAttempted is the total number of attempted + CSI VolumeSnapshots for this backup. type: integer csiVolumeSnapshotsCompleted: - description: CSIVolumeSnapshotsCompleted is the total number - of successfully completed CSI VolumeSnapshots for this backup. + description: |- + CSIVolumeSnapshotsCompleted is the total number of successfully + completed CSI VolumeSnapshots for this backup. type: integer errors: - description: Errors is a count of all error messages that - were generated during execution of the backup. The actual - errors are in the backup's log file in object storage. + description: |- + Errors is a count of all error messages that were generated during + execution of the backup. The actual errors are in the backup's log + file in object storage. type: integer expiration: description: Expiration is when this Backup is eligible for @@ -609,56 +599,62 @@ spec: - Deleting type: string progress: - description: Progress contains information about the backup's - execution progress. Note that this information is best-effort - only -- if Velero fails to update it during a backup for - any reason, it may be inaccurate/stale. + description: |- + Progress contains information about the backup's execution progress. Note + that this information is best-effort only -- if Velero fails to update it + during a backup for any reason, it may be inaccurate/stale. nullable: true properties: itemsBackedUp: - description: ItemsBackedUp is the number of items that - have actually been written to the backup tarball so - far. + description: |- + ItemsBackedUp is the number of items that have actually been written to the + backup tarball so far. type: integer totalItems: - description: TotalItems is the total number of items to - be backed up. This number may change throughout the - execution of the backup due to plugins that return additional - related items to back up, the velero.io/exclude-from-backup - label, and various other filters that happen as items - are processed. + description: |- + TotalItems is the total number of items to be backed up. This number may change + throughout the execution of the backup due to plugins that return additional related + items to back up, the velero.io/exclude-from-backup label, and various other + filters that happen as items are processed. type: integer type: object startTimestamp: - description: StartTimestamp records the time a backup was - started. Separate from CreationTimestamp, since that value - changes on restores. The server's time is used for StartTimestamps + description: |- + StartTimestamp records the time a backup was started. + Separate from CreationTimestamp, since that value changes + on restores. + The server's time is used for StartTimestamps format: date-time nullable: true type: string validationErrors: - description: ValidationErrors is a slice of all validation - errors (if applicable). + description: |- + ValidationErrors is a slice of all validation errors (if + applicable). items: type: string nullable: true type: array version: - description: 'Version is the backup format major version. - Deprecated: Please see FormatVersion' + description: |- + Version is the backup format major version. + Deprecated: Please see FormatVersion type: integer volumeSnapshotsAttempted: - description: VolumeSnapshotsAttempted is the total number - of attempted volume snapshots for this backup. + description: |- + VolumeSnapshotsAttempted is the total number of attempted + volume snapshots for this backup. type: integer volumeSnapshotsCompleted: - description: VolumeSnapshotsCompleted is the total number - of successfully completed volume snapshots for this backup. + description: |- + VolumeSnapshotsCompleted is the total number of successfully + completed volume snapshots for this backup. type: integer warnings: - description: Warnings is a count of all warning messages that - were generated during execution of the backup. The actual - warnings are in the backup's log file in object storage. + description: |- + Warnings is a count of all warning messages that were generated during + execution of the backup. The actual warnings are in the backup's log + file in object storage. type: integer type: object clusterKind: @@ -684,25 +680,26 @@ spec: restore is being performed. type: string restoreNameInCluster: - description: RestoreNameInCluster is the name of the restore - being performed within this cluster. This RestoreNameInCluster - is unique in Storage. + description: |- + RestoreNameInCluster is the name of the restore being performed within this cluster. + This RestoreNameInCluster is unique in Storage. type: string restoreStatusInCluster: description: RestoreStatusInCluster is the current status of the restore performed within this cluster. properties: completionTimestamp: - description: CompletionTimestamp records the time the restore - operation was completed. Completion time is recorded even - on failed restore. The server's time is used for StartTimestamps + description: |- + CompletionTimestamp records the time the restore operation was completed. + Completion time is recorded even on failed restore. + The server's time is used for StartTimestamps format: date-time nullable: true type: string errors: - description: Errors is a count of all error messages that - were generated during execution of the restore. The actual - errors are stored in object storage. + description: |- + Errors is a count of all error messages that were generated during + execution of the restore. The actual errors are stored in object storage. type: integer failureReason: description: FailureReason is an error that caused the entire @@ -721,10 +718,10 @@ spec: - Failed type: string progress: - description: Progress contains information about the restore's - execution progress. Note that this information is best-effort - only -- if Velero fails to update it during a restore - for any reason, it may be inaccurate/stale. + description: |- + Progress contains information about the restore's execution progress. Note + that this information is best-effort only -- if Velero fails to update it + during a restore for any reason, it may be inaccurate/stale. nullable: true properties: itemsRestored: @@ -732,44 +729,46 @@ spec: have actually been restored so far type: integer totalItems: - description: TotalItems is the total number of items - to be restored. This number may change throughout - the execution of the restore due to plugins that return - additional related items to restore + description: |- + TotalItems is the total number of items to be restored. This number may change + throughout the execution of the restore due to plugins that return additional related + items to restore type: integer type: object restoreItemOperationsAttempted: - description: RestoreItemOperationsAttempted is the total - number of attempted async RestoreItemAction operations - for this restore. + description: |- + RestoreItemOperationsAttempted is the total number of attempted + async RestoreItemAction operations for this restore. type: integer restoreItemOperationsCompleted: - description: RestoreItemOperationsCompleted is the total - number of successfully completed async RestoreItemAction - operations for this restore. + description: |- + RestoreItemOperationsCompleted is the total number of successfully completed + async RestoreItemAction operations for this restore. type: integer restoreItemOperationsFailed: - description: RestoreItemOperationsFailed is the total number - of async RestoreItemAction operations for this restore - which ended with an error. + description: |- + RestoreItemOperationsFailed is the total number of async + RestoreItemAction operations for this restore which ended with an error. type: integer startTimestamp: - description: StartTimestamp records the time the restore - operation was started. The server's time is used for StartTimestamps + description: |- + StartTimestamp records the time the restore operation was started. + The server's time is used for StartTimestamps format: date-time nullable: true type: string validationErrors: - description: ValidationErrors is a slice of all validation - errors (if applicable) + description: |- + ValidationErrors is a slice of all validation errors (if + applicable) items: type: string nullable: true type: array warnings: - description: Warnings is a count of all warning messages - that were generated during execution of the restore. The - actual warnings are stored in object storage. + description: |- + Warnings is a count of all warning messages that were generated during + execution of the restore. The actual warnings are stored in object storage. type: integer type: object type: object @@ -780,9 +779,3 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/manifests/charts/fleet-manager/crds/backup.kurator.dev_restores.yaml b/manifests/charts/fleet-manager/crds/backup.kurator.dev_restores.yaml index 6701a7af2..b572b8caf 100644 --- a/manifests/charts/fleet-manager/crds/backup.kurator.dev_restores.yaml +++ b/manifests/charts/fleet-manager/crds/backup.kurator.dev_restores.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.8.0 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.14.0 name: restores.backup.kurator.dev spec: group: backup.kurator.dev @@ -28,14 +27,19 @@ spec: description: Restore is the schema for the Restore's API. 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' + 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' + 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 @@ -46,160 +50,156 @@ spec: operation is based. type: string destination: - description: Destination indicates the clusters where restore should - be performed. if not set, all the clusters from Backup.spec.destination - will perform restore. + description: |- + Destination indicates the clusters where restore should be performed. + if not set, all the clusters from Backup.spec.destination will perform restore. properties: clusters: - description: Clusters allows users to specify a subset of clusters - within the selected fleet for targeted operations. If not set, - it implies that the operation is targeted at all clusters within - the specified fleet. + description: |- + Clusters allows users to specify a subset of clusters within the selected fleet for targeted operations. + If not set, it implies that the operation is targeted at all clusters within the specified fleet. items: - description: "ObjectReference contains enough information to - let you inspect or modify the referred object. --- New uses - of this type are discouraged because of difficulty describing - its usage when embedded in APIs. 1. Ignored fields. It includes - many fields which are not generally honored. For instance, - ResourceVersion and FieldPath are both very rarely valid in - actual usage. 2. Invalid usage help. It is impossible to - add specific help for individual usage. In most embedded - usages, there are particular restrictions like, \"must refer - only to types A and B\" or \"UID not honored\" or \"name must - be restricted\". Those cannot be well described when embedded. - 3. Inconsistent validation. Because the usages are different, - the validation rules are different by usage, which makes it - hard for users to predict what will happen. 4. The fields - are both imprecise and overly precise. Kind is not a precise - mapping to a URL. This can produce ambiguity during interpretation - and require a REST mapping. In most cases, the dependency - is on the group,resource tuple and the version of the actual - struct is irrelevant. 5. We cannot easily change it. Because - this type is embedded in many locations, updates to this type - will affect numerous schemas. Don't make new APIs embed an - underspecified API type they do not control. \n Instead of - using this type, create a locally provided and used type that - is well-focused on your reference. For example, ServiceReferences - for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 - ." + description: |- + ObjectReference contains enough information to let you inspect or modify the referred object. + --- + New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. + 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. + 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular + restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". + Those cannot be well described when embedded. + 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. + 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity + during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple + and the version of the actual struct is irrelevant. + 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type + will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control. + + + Instead of using this type, create a locally provided and used type that is well-focused on your reference. + For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 . properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead - of an entire object, this string should contain a valid - JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container - within a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that - triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). - This syntax is chosen only to have some well-defined way - of referencing a part of an object. TODO: this design - is not final and this field is subject to change in the - future.' + description: |- + If referring to a piece of an object instead of an entire object, this string + should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within a pod, this would take on a value like: + "spec.containers{name}" (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" (container with + index 2 in this pod). This syntax is chosen only to have some well-defined way of + referencing a part of an object. + TODO: this design is not final and this field is subject to change in the future. type: string kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind of the referent. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string namespace: - description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: |- + Namespace of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: |- + Specific resourceVersion to which this reference is made, if any. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency type: string uid: - description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: |- + UID of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids type: string type: object + x-kubernetes-map-type: atomic type: array fleet: - description: Fleet represents the name of a fleet which determines - a set of target clusters within the namespace. This field is - required to identify the context for cluster selection. + description: |- + Fleet represents the name of a fleet which determines a set of target clusters within the namespace. + This field is required to identify the context for cluster selection. type: string required: - fleet type: object policy: - description: Policy defines the customization rules for the restore. + description: |- + Policy defines the customization rules for the restore. If null, the backup will be fully restored using default settings. properties: namespaceMapping: additionalProperties: type: string - description: NamespaceMapping is a map of source namespace names - to target namespace names to restore into. Any source namespaces - not included in the map will be restored into namespaces of - the same name. + description: |- + NamespaceMapping is a map of source namespace names + to target namespace names to restore into. + Any source namespaces not included in the map will be restored into + namespaces of the same name. type: object preserveNodePorts: - description: PreserveNodePorts specifies whether to restore old - nodePorts from backup. If not specified, default to false. + description: |- + PreserveNodePorts specifies whether to restore old nodePorts from backup. + If not specified, default to false. nullable: true type: boolean preserveStatus: - description: PreserveStatus specifies which resources we should - restore the status field. If unset, no status will be restored. + description: |- + PreserveStatus specifies which resources we should restore the status field. + If unset, no status will be restored. nullable: true properties: excludedResources: - description: 'ExcludedResources lists out the resources that - will NOT have their status restored. By default, if this - list is empty, it means the status for NO resources will - be excluded from restoration. For instance: - If you want - to prevent restoring the status for pods and configmaps, - set: excludedResources: ["pods", "configmaps"] - If you - leave it empty, no resources are excluded, and all will - have their status restored (unless specified otherwise in - IncludedResources). Note: Exclusions listed here take precedence - over inclusions. So, if a resource is listed in both, its - status will NOT be restored.' + description: |- + ExcludedResources lists out the resources that will NOT have their status restored. + By default, if this list is empty, it means the status for NO resources will be excluded from restoration. + For instance: + - If you want to prevent restoring the status for pods and configmaps, set: + excludedResources: ["pods", "configmaps"] + - If you leave it empty, no resources are excluded, and all will have their status restored (unless specified otherwise in IncludedResources). + Note: Exclusions listed here take precedence over inclusions. So, if a resource is listed in both, its status will NOT be restored. items: type: string nullable: true type: array includedResources: - description: 'IncludedResources determines which resources - will have their status restored. By default, if this list - is empty, it means the status for ALL resources will be - restored. For example: - If you want to restore the status - only for deployments and services, set: includedResources: - ["deployments", "services"] - If you leave it empty, the - status for all resources will be restored. Note: If a resource - is listed in both IncludedResources and ExcludedResources, - the exclusion takes precedence.' + description: |- + IncludedResources determines which resources will have their status restored. + By default, if this list is empty, it means the status for ALL resources will be restored. + For example: + - If you want to restore the status only for deployments and services, set: + includedResources: ["deployments", "services"] + - If you leave it empty, the status for all resources will be restored. + Note: If a resource is listed in both IncludedResources and ExcludedResources, the exclusion takes precedence. items: type: string nullable: true type: array type: object resourceFilter: - description: ResourceFilter is the filter for the resources to - be restored. If not set, all resources from the backup will - be restored. + description: |- + ResourceFilter is the filter for the resources to be restored. + If not set, all resources from the backup will be restored. properties: excludedClusterScopedResources: - description: ExcludedClusterScopedResources is a slice of - cluster-scoped resource type names to exclude from the backup. - If set to "*", all cluster-scoped resource types are excluded. - The default value is empty. Cannot work with IncludedResources, - ExcludedResources and IncludeClusterResources. + description: |- + ExcludedClusterScopedResources is a slice of cluster-scoped resource type names to exclude from the backup. + If set to "*", all cluster-scoped resource types are excluded. The default value is empty. + Cannot work with IncludedResources, ExcludedResources and IncludeClusterResources. items: type: string nullable: true type: array excludedNamespaceScopedResources: - description: ExcludedNamespaceScopedResources is a slice of - namespace-scoped resource type names to exclude from the - backup. If set to "*", all namespace-scoped resource types - are excluded. The default value is empty. Cannot work with - IncludedResources, ExcludedResources and IncludeClusterResources. + description: |- + ExcludedNamespaceScopedResources is a slice of namespace-scoped resource type names to exclude from the backup. + If set to "*", all namespace-scoped resource types are excluded. The default value is empty. + Cannot work with IncludedResources, ExcludedResources and IncludeClusterResources. items: type: string nullable: true @@ -212,77 +212,70 @@ spec: nullable: true type: array excludedResources: - description: ExcludedResources is a slice of resource names - that are not included in the backup. Cannot work with IncludedClusterScopedResources, - ExcludedClusterScopedResources, IncludedNamespaceScopedResources - and ExcludedNamespaceScopedResources. + description: |- + ExcludedResources is a slice of resource names that are not included in the backup. + Cannot work with IncludedClusterScopedResources, ExcludedClusterScopedResources, IncludedNamespaceScopedResources and ExcludedNamespaceScopedResources. items: type: string nullable: true type: array includeClusterResources: - description: IncludeClusterResources specifies whether cluster-scoped - resources should be included for consideration in the backup. - Cannot work with IncludedClusterScopedResources, ExcludedClusterScopedResources, - IncludedNamespaceScopedResources and ExcludedNamespaceScopedResources. + description: |- + IncludeClusterResources specifies whether cluster-scoped resources should be included for consideration in the backup. + Cannot work with IncludedClusterScopedResources, ExcludedClusterScopedResources, IncludedNamespaceScopedResources and ExcludedNamespaceScopedResources. nullable: true type: boolean includedClusterScopedResources: - description: IncludedClusterScopedResources is a slice of - cluster-scoped resource type names to include in the backup. - For example, we can populate this string array with ["storageclasses", - "clusterroles"], then we will select all resources of type - storageclasses and clusterroles, If set to "*", all cluster-scoped - resource types are included. The default value is empty, - which means only related cluster-scoped resources are included. - Cannot work with IncludedResources, ExcludedResources and - IncludeClusterResources. + description: |- + IncludedClusterScopedResources is a slice of cluster-scoped resource type names to include in the backup. + For example, we can populate this string array with ["storageclasses", "clusterroles"], then we will select all resources of type storageclasses and clusterroles, + If set to "*", all cluster-scoped resource types are included. + The default value is empty, which means only related cluster-scoped resources are included. + Cannot work with IncludedResources, ExcludedResources and IncludeClusterResources. items: type: string nullable: true type: array includedNamespaceScopedResources: - description: IncludedNamespaceScopedResources is a slice of - namespace-scoped resource type names to include in the backup. - For example, we can populate this string array with ["deployments", - "configmaps"], then we will select all resources of type - deployments and configmaps, The default value is "*". Cannot - work with IncludedResources, ExcludedResources and IncludeClusterResources. + description: |- + IncludedNamespaceScopedResources is a slice of namespace-scoped resource type names to include in the backup. + For example, we can populate this string array with ["deployments", "configmaps"], then we will select all resources of type deployments and configmaps, + The default value is "*". + Cannot work with IncludedResources, ExcludedResources and IncludeClusterResources. items: type: string nullable: true type: array includedNamespaces: - description: IncludedNamespaces is a list of namespace names - to include objects from. If empty, all namespaces are included. + description: |- + IncludedNamespaces is a list of namespace names to include objects from. + If empty, all namespaces are included. items: type: string nullable: true type: array includedResources: - description: IncludedResources is a slice of API resource - names to include in the backup. For example, we can populate - this string array with ["deployments", "configmaps","clusterroles","storageclasses"], - then we will select all resources of type deployments and - configmaps. If empty, all API resources are included. Cannot - work with IncludedClusterScopedResources, ExcludedClusterScopedResources, - IncludedNamespaceScopedResources and ExcludedNamespaceScopedResources. + description: |- + IncludedResources is a slice of API resource names to include in the backup. + For example, we can populate this string array with ["deployments", "configmaps","clusterroles","storageclasses"], then we will select all resources of type deployments and configmaps. + If empty, all API resources are included. + Cannot work with IncludedClusterScopedResources, ExcludedClusterScopedResources, IncludedNamespaceScopedResources and ExcludedNamespaceScopedResources. items: type: string nullable: true type: array labelSelector: - description: LabelSelector is a metav1.LabelSelector to filter - with when adding individual objects to the backup. If empty - or nil, all objects are included. Optional. + description: |- + LabelSelector is a metav1.LabelSelector to filter with when adding individual objects to the backup. + If empty or nil, all objects are included. Optional. nullable: true properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -290,17 +283,16 @@ spec: applies to. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, NotIn, - Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. - If the operator is In or NotIn, the values array - must be non-empty. If the operator is Exists or - DoesNotExist, the values array must be empty. - This array is replaced during a strategic merge - patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -312,31 +304,30 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field is - "key", the operator is "In", and the values array contains - only "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + x-kubernetes-map-type: atomic orLabelSelectors: - description: OrLabelSelectors is list of metav1.LabelSelector - to filter with when adding individual objects to the backup. + description: |- + OrLabelSelectors is list of metav1.LabelSelector to filter with when adding individual objects to the backup. If multiple provided they will be joined by the OR operator. - LabelSelector as well as OrLabelSelectors cannot co-exist - in backup request, only one of them can be used. + LabelSelector as well as OrLabelSelectors cannot co-exist in backup request, only one of them can be used. items: - description: A label selector is a label query over a set - of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. + description: |- + A label selector is a label query over a set of resources. The result of matchLabels and + matchExpressions are ANDed. An empty label selector matches all objects. A null + label selector matches no objects. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -344,17 +335,16 @@ spec: applies to. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. - If the operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be empty. - This array is replaced during a strategic merge - patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -366,13 +356,13 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + x-kubernetes-map-type: atomic nullable: true type: array type: object @@ -390,37 +380,37 @@ spec: operational state. properties: lastTransitionTime: - description: Last time the condition transitioned from one status - to another. This should be when the underlying condition changed. - If that is not known, then using the time when the API field - changed is acceptable. + description: |- + Last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when + the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: |- + A human readable message indicating details about the transition. + This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: |- + The reason for the condition's last transition in CamelCase. + The specific API may choose whether or not this field is considered a guaranteed API. + This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: |- + Severity provides an explicit classification of Reason code, so the users or machines can immediately + understand the current situation and act accordingly. + The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: |- + Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions + can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -445,25 +435,26 @@ spec: restore is being performed. type: string restoreNameInCluster: - description: RestoreNameInCluster is the name of the restore - being performed within this cluster. This RestoreNameInCluster - is unique in Storage. + description: |- + RestoreNameInCluster is the name of the restore being performed within this cluster. + This RestoreNameInCluster is unique in Storage. type: string restoreStatusInCluster: description: RestoreStatusInCluster is the current status of the restore performed within this cluster. properties: completionTimestamp: - description: CompletionTimestamp records the time the restore - operation was completed. Completion time is recorded even - on failed restore. The server's time is used for StartTimestamps + description: |- + CompletionTimestamp records the time the restore operation was completed. + Completion time is recorded even on failed restore. + The server's time is used for StartTimestamps format: date-time nullable: true type: string errors: - description: Errors is a count of all error messages that - were generated during execution of the restore. The actual - errors are stored in object storage. + description: |- + Errors is a count of all error messages that were generated during + execution of the restore. The actual errors are stored in object storage. type: integer failureReason: description: FailureReason is an error that caused the entire @@ -482,10 +473,10 @@ spec: - Failed type: string progress: - description: Progress contains information about the restore's - execution progress. Note that this information is best-effort - only -- if Velero fails to update it during a restore - for any reason, it may be inaccurate/stale. + description: |- + Progress contains information about the restore's execution progress. Note + that this information is best-effort only -- if Velero fails to update it + during a restore for any reason, it may be inaccurate/stale. nullable: true properties: itemsRestored: @@ -493,44 +484,46 @@ spec: have actually been restored so far type: integer totalItems: - description: TotalItems is the total number of items - to be restored. This number may change throughout - the execution of the restore due to plugins that return - additional related items to restore + description: |- + TotalItems is the total number of items to be restored. This number may change + throughout the execution of the restore due to plugins that return additional related + items to restore type: integer type: object restoreItemOperationsAttempted: - description: RestoreItemOperationsAttempted is the total - number of attempted async RestoreItemAction operations - for this restore. + description: |- + RestoreItemOperationsAttempted is the total number of attempted + async RestoreItemAction operations for this restore. type: integer restoreItemOperationsCompleted: - description: RestoreItemOperationsCompleted is the total - number of successfully completed async RestoreItemAction - operations for this restore. + description: |- + RestoreItemOperationsCompleted is the total number of successfully completed + async RestoreItemAction operations for this restore. type: integer restoreItemOperationsFailed: - description: RestoreItemOperationsFailed is the total number - of async RestoreItemAction operations for this restore - which ended with an error. + description: |- + RestoreItemOperationsFailed is the total number of async + RestoreItemAction operations for this restore which ended with an error. type: integer startTimestamp: - description: StartTimestamp records the time the restore - operation was started. The server's time is used for StartTimestamps + description: |- + StartTimestamp records the time the restore operation was started. + The server's time is used for StartTimestamps format: date-time nullable: true type: string validationErrors: - description: ValidationErrors is a slice of all validation - errors (if applicable) + description: |- + ValidationErrors is a slice of all validation errors (if + applicable) items: type: string nullable: true type: array warnings: - description: Warnings is a count of all warning messages - that were generated during execution of the restore. The - actual warnings are stored in object storage. + description: |- + Warnings is a count of all warning messages that were generated during + execution of the restore. The actual warnings are stored in object storage. type: integer type: object type: object @@ -541,9 +534,3 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/manifests/charts/fleet-manager/crds/fleet.kurator.dev_fleets.yaml b/manifests/charts/fleet-manager/crds/fleet.kurator.dev_fleets.yaml index da817bcab..bd951dc73 100644 --- a/manifests/charts/fleet-manager/crds/fleet.kurator.dev_fleets.yaml +++ b/manifests/charts/fleet-manager/crds/fleet.kurator.dev_fleets.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.8.0 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.14.0 name: fleets.fleet.kurator.dev spec: group: fleet.kurator.dev @@ -29,14 +28,19 @@ spec: a group of clusters. 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' + 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' + 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 @@ -47,65 +51,66 @@ spec: description: Clusters represents the clusters that would be registered to the fleet. items: - description: "ObjectReference contains enough information to let - you inspect or modify the referred object. --- New uses of this - type are discouraged because of difficulty describing its usage - when embedded in APIs. 1. Ignored fields. It includes many fields - which are not generally honored. For instance, ResourceVersion - and FieldPath are both very rarely valid in actual usage. 2. Invalid - usage help. It is impossible to add specific help for individual - usage. In most embedded usages, there are particular restrictions - like, \"must refer only to types A and B\" or \"UID not honored\" - or \"name must be restricted\". Those cannot be well described - when embedded. 3. Inconsistent validation. Because the usages - are different, the validation rules are different by usage, which - makes it hard for users to predict what will happen. 4. The fields - are both imprecise and overly precise. Kind is not a precise - mapping to a URL. This can produce ambiguity during interpretation - and require a REST mapping. In most cases, the dependency is - on the group,resource tuple and the version of the actual struct - is irrelevant. 5. We cannot easily change it. Because this type - is embedded in many locations, updates to this type will affect - numerous schemas. Don't make new APIs embed an underspecified - API type they do not control. \n Instead of using this type, create - a locally provided and used type that is well-focused on your - reference. For example, ServiceReferences for admission registration: - https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 - ." + description: |- + ObjectReference contains enough information to let you inspect or modify the referred object. + --- + New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. + 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. + 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular + restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". + Those cannot be well described when embedded. + 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. + 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity + during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple + and the version of the actual struct is irrelevant. + 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type + will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control. + + + Instead of using this type, create a locally provided and used type that is well-focused on your reference. + For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 . properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: |- + If referring to a piece of an object instead of an entire object, this string + should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within a pod, this would take on a value like: + "spec.containers{name}" (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" (container with + index 2 in this pod). This syntax is chosen only to have some well-defined way of + referencing a part of an object. + TODO: this design is not final and this field is subject to change in the future. type: string kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind of the referent. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string namespace: - description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: |- + Namespace of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: |- + Specific resourceVersion to which this reference is made, if any. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency type: string uid: - description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: |- + UID of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids type: string type: object + x-kubernetes-map-type: atomic type: array plugin: description: Plugin defines the plugins that would be installed in @@ -115,30 +120,47 @@ spec: description: Backup defines the configuration for the backup engine(Velero). properties: chart: - description: "Chart defines the helm chart configuration of - the backup engine. The default value is: \n ```yaml chart: - repository: https://vmware-tanzu.github.io/helm-charts name: - velero version: 5.0.2 ```" + description: |- + Chart defines the helm chart configuration of the backup engine. + The default value is: + + + ```yaml + chart: + repository: https://vmware-tanzu.github.io/helm-charts + name: velero + version: 5.0.2 + ``` properties: name: - description: Name defines the name of the chart. Default - value depends on the kind of the component. + description: |- + Name defines the name of the chart. + Default value depends on the kind of the component. type: string repository: - description: Repository defines the repository of chart. + description: |- + Repository defines the repository of chart. Default value depends on the kind of the component. type: string version: - description: Version defines the version of the chart. + description: |- + Version defines the version of the chart. Default value depends on the kind of the component. type: string type: object extraArgs: - description: "ExtraArgs provides the extra chart values for - the backup engine chart. For example, use the following - configuration to change the image tag or pull policy: \n - ```yaml extraArgs: image: repository: velero/velero tag: - v1.11.1 pullPolicy: IfNotPresent ```" + description: |- + ExtraArgs provides the extra chart values for the backup engine chart. + For example, use the following configuration to change the image tag or pull policy: + + + ```yaml + extraArgs: + image: + repository: velero/velero + tag: v1.11.1 + pullPolicy: IfNotPresent + ``` x-kubernetes-preserve-unknown-fields: true storage: description: Storage provides details on where the backup @@ -154,22 +176,23 @@ spec: config: additionalProperties: type: string - description: 'Config is a map for additional provider-specific - configurations. # region: # s3ForcePathStyle: - # s3Url: # kmsKeyId: # resourceGroup: # The - ID of the subscription containing the storage account, - if different from the cluster’s subscription. (Azure - only) # subscriptionId: # storageAccount: # publicUrl: - # Name of the GCP service account to use for this - backup storage location. Specify the # service - account here if you want to use workload identity - instead of providing the key file.(GCP only) # serviceAccount: - # Option to skip certificate validation or not - if insecureSkipTLSVerify is set to be true, the - client side should set the # flag. For Velero client - Command like velero backup describe, velero backup - logs needs to add the flag --insecure-skip-tls-verify - # insecureSkipTLSVerify:' + description: |- + Config is a map for additional provider-specific configurations. + # region: + # s3ForcePathStyle: + # s3Url: + # kmsKeyId: + # resourceGroup: + # The ID of the subscription containing the storage account, if different from the cluster’s subscription. (Azure only) + # subscriptionId: + # storageAccount: + # publicUrl: + # Name of the GCP service account to use for this backup storage location. Specify the + # service account here if you want to use workload identity instead of providing the key file.(GCP only) + # serviceAccount: + # Option to skip certificate validation or not if insecureSkipTLSVerify is set to be true, the client side should set the + # flag. For Velero client Command like velero backup describe, velero backup logs needs to add the flag --insecure-skip-tls-verify + # insecureSkipTLSVerify: type: object endpoint: description: Endpoint provides the endpoint URL for @@ -188,15 +211,21 @@ spec: - provider type: object secretName: - description: "The structure of the secret varies depending - on the object storage provider: \n - For AWS S3, Minio - or Huawei Cloud, the secret should contain the following - keys: - `access-key`: The access key for S3 authentication. - - `secret-key`: The secret key for S3 authentication. - \n - For GCP, the secret should be created according - to the official GCP documentation. see https://github.com/vmware-tanzu/velero-plugin-for-gcp/blob/main/README.md - \n - For Azure, the secret should be created according - to the official Azure documentation. see https://github.com/vmware-tanzu/velero-plugin-for-microsoft-azure/blob/main/README.md" + description: |- + The structure of the secret varies depending on the object storage provider: + + + - For AWS S3, Minio or Huawei Cloud, the secret should contain the following keys: + - `access-key`: The access key for S3 authentication. + - `secret-key`: The secret key for S3 authentication. + + + - For GCP, the secret should be created according to the official GCP documentation. + see https://github.com/vmware-tanzu/velero-plugin-for-gcp/blob/main/README.md + + + - For Azure, the secret should be created according to the official Azure documentation. + see https://github.com/vmware-tanzu/velero-plugin-for-microsoft-azure/blob/main/README.md type: string required: - location @@ -210,46 +239,61 @@ spec: distributed storage(Implemented with Rook) properties: chart: - description: "Chart defines the helm chart configuration of - the distributed storage engine. The default value is: \n - ```yaml chart: repository: https://charts.rook.io/release - name: rook version: 1.11.11 ```" + description: |- + Chart defines the helm chart configuration of the distributed storage engine. + The default value is: + + + ```yaml + chart: + repository: https://charts.rook.io/release + name: rook + version: 1.11.11 + ``` properties: name: - description: Name defines the name of the chart. Default - value depends on the kind of the component. + description: |- + Name defines the name of the chart. + Default value depends on the kind of the component. type: string repository: - description: Repository defines the repository of chart. + description: |- + Repository defines the repository of chart. Default value depends on the kind of the component. type: string version: - description: Version defines the version of the chart. + description: |- + Version defines the version of the chart. Default value depends on the kind of the component. type: string type: object extraArgs: - description: "ExtraArgs provides the extra chart values for - rook chart. For example, use the following configuration - to change the pull policy: \n ```yaml extraArgs: image: - pullPolicy: Always ```" + description: |- + ExtraArgs provides the extra chart values for rook chart. + For example, use the following configuration to change the pull policy: + + + ```yaml + extraArgs: + image: + pullPolicy: Always + ``` x-kubernetes-preserve-unknown-fields: true storage: description: Storage provides detailed settings for unified distributed storage. properties: dataDirHostPath: - description: The path on the host where config and data - can be persisted. If the storagecluster is deleted, - please clean up the configuration files in this file - path. e.g. /var/lib/rook + description: |- + The path on the host where config and data can be persisted. + If the storagecluster is deleted, please clean up the configuration files in this file path. + e.g. /var/lib/rook pattern: ^/(\S+) type: string manager: - description: Manager is the daemon runs alongside monitor - daemon,to provide additional monitoring and interfaces - to external monitoring and management systems. A spec - for mgr related options + description: |- + Manager is the daemon runs alongside monitor daemon,to provide additional monitoring and interfaces to external monitoring and management systems. + A spec for mgr related options nullable: true properties: annotations: @@ -261,7 +305,8 @@ spec: nullable: true type: object count: - description: Count is the number of manager to run + description: |- + Count is the number of manager to run Default is two, one for use and one for standby. maximum: 2 minimum: 1 @@ -284,27 +329,20 @@ spec: scheduling rules properties: preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to - schedule pods to nodes that satisfy the - affinity expressions specified by this field, - but it may choose a node that violates one - or more of the expressions. The node that - is most preferred is the one with the greatest - sum of weights, i.e. for each node that - meets all of the scheduling requirements - (resource request, requiredDuringScheduling - affinity expressions, etc.), compute a sum - by iterating through the elements of this - field and adding "weight" to the sum if - the node matches the corresponding matchExpressions; - the node(s) with the highest sum are the - most preferred. + description: |- + The scheduler will prefer to schedule pods to nodes that satisfy + the affinity expressions specified by this field, but it may choose + a node that violates one or more of the expressions. The node that is + most preferred is the one with the greatest sum of weights, i.e. + for each node that meets all of the scheduling requirements (resource + request, requiredDuringScheduling affinity expressions, etc.), + compute a sum by iterating through the elements of this field and adding + "weight" to the sum if the node matches the corresponding matchExpressions; the + node(s) with the highest sum are the most preferred. items: - description: An empty preferred scheduling - term matches all objects with implicit - weight 0 (i.e. it's a no-op). A null preferred - scheduling term matches no objects (i.e. - is also a no-op). + description: |- + An empty preferred scheduling term matches all objects with implicit weight 0 + (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). properties: preference: description: A node selector term, associated @@ -314,9 +352,8 @@ spec: description: A list of node selector requirements by node's labels. items: - description: A node selector requirement - is a selector that contains - values, a key, and an operator + description: |- + A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -325,27 +362,17 @@ spec: to. type: string operator: - description: Represents a - key's relationship to a - set of values. Valid operators - are In, NotIn, Exists, DoesNotExist. - Gt, and Lt. + description: |- + Represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: - description: An array of string - values. If the operator - is In or NotIn, the values - array must be non-empty. - If the operator is Exists - or DoesNotExist, the values - array must be empty. If - the operator is Gt or Lt, - the values array must have - a single element, which - will be interpreted as an - integer. This array is replaced - during a strategic merge - patch. + description: |- + An array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. If the operator is Gt or Lt, the values + array must have a single element, which will be interpreted as an integer. + This array is replaced during a strategic merge patch. items: type: string type: array @@ -358,9 +385,8 @@ spec: description: A list of node selector requirements by node's fields. items: - description: A node selector requirement - is a selector that contains - values, a key, and an operator + description: |- + A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -369,27 +395,17 @@ spec: to. type: string operator: - description: Represents a - key's relationship to a - set of values. Valid operators - are In, NotIn, Exists, DoesNotExist. - Gt, and Lt. + description: |- + Represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: - description: An array of string - values. If the operator - is In or NotIn, the values - array must be non-empty. - If the operator is Exists - or DoesNotExist, the values - array must be empty. If - the operator is Gt or Lt, - the values array must have - a single element, which - will be interpreted as an - integer. This array is replaced - during a strategic merge - patch. + description: |- + An array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. If the operator is Gt or Lt, the values + array must have a single element, which will be interpreted as an integer. + This array is replaced during a strategic merge patch. items: type: string type: array @@ -399,6 +415,7 @@ spec: type: object type: array type: object + x-kubernetes-map-type: atomic weight: description: Weight associated with matching the corresponding nodeSelectorTerm, @@ -411,31 +428,28 @@ spec: type: object type: array requiredDuringSchedulingIgnoredDuringExecution: - description: If the affinity requirements - specified by this field are not met at scheduling - time, the pod will not be scheduled onto - the node. If the affinity requirements specified - by this field cease to be met at some point - during pod execution (e.g. due to an update), - the system may or may not try to eventually - evict the pod from its node. + description: |- + If the affinity requirements specified by this field are not met at + scheduling time, the pod will not be scheduled onto the node. + If the affinity requirements specified by this field cease to be met + at some point during pod execution (e.g. due to an update), the system + may or may not try to eventually evict the pod from its node. properties: nodeSelectorTerms: description: Required. A list of node selector terms. The terms are ORed. items: - description: A null or empty node selector - term matches no objects. The requirements - of them are ANDed. The TopologySelectorTerm - type implements a subset of the NodeSelectorTerm. + description: |- + A null or empty node selector term matches no objects. The requirements of + them are ANDed. + The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. properties: matchExpressions: description: A list of node selector requirements by node's labels. items: - description: A node selector requirement - is a selector that contains - values, a key, and an operator + description: |- + A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -444,27 +458,17 @@ spec: to. type: string operator: - description: Represents a - key's relationship to a - set of values. Valid operators - are In, NotIn, Exists, DoesNotExist. - Gt, and Lt. + description: |- + Represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: - description: An array of string - values. If the operator - is In or NotIn, the values - array must be non-empty. - If the operator is Exists - or DoesNotExist, the values - array must be empty. If - the operator is Gt or Lt, - the values array must have - a single element, which - will be interpreted as an - integer. This array is replaced - during a strategic merge - patch. + description: |- + An array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. If the operator is Gt or Lt, the values + array must have a single element, which will be interpreted as an integer. + This array is replaced during a strategic merge patch. items: type: string type: array @@ -477,9 +481,8 @@ spec: description: A list of node selector requirements by node's fields. items: - description: A node selector requirement - is a selector that contains - values, a key, and an operator + description: |- + A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -488,27 +491,17 @@ spec: to. type: string operator: - description: Represents a - key's relationship to a - set of values. Valid operators - are In, NotIn, Exists, DoesNotExist. - Gt, and Lt. + description: |- + Represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: - description: An array of string - values. If the operator - is In or NotIn, the values - array must be non-empty. - If the operator is Exists - or DoesNotExist, the values - array must be empty. If - the operator is Gt or Lt, - the values array must have - a single element, which - will be interpreted as an - integer. This array is replaced - during a strategic merge - patch. + description: |- + An array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. If the operator is Gt or Lt, the values + array must have a single element, which will be interpreted as an integer. + This array is replaced during a strategic merge patch. items: type: string type: array @@ -518,31 +511,28 @@ spec: type: object type: array type: object + x-kubernetes-map-type: atomic type: array required: - nodeSelectorTerms type: object + x-kubernetes-map-type: atomic type: object podAffinity: description: PodAffinity is a group of inter pod affinity scheduling rules properties: preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to - schedule pods to nodes that satisfy the - affinity expressions specified by this field, - but it may choose a node that violates one - or more of the expressions. The node that - is most preferred is the one with the greatest - sum of weights, i.e. for each node that - meets all of the scheduling requirements - (resource request, requiredDuringScheduling - affinity expressions, etc.), compute a sum - by iterating through the elements of this - field and adding "weight" to the sum if - the node has pods which matches the corresponding - podAffinityTerm; the node(s) with the highest - sum are the most preferred. + description: |- + The scheduler will prefer to schedule pods to nodes that satisfy + the affinity expressions specified by this field, but it may choose + a node that violates one or more of the expressions. The node that is + most preferred is the one with the greatest sum of weights, i.e. + for each node that meets all of the scheduling requirements (resource + request, requiredDuringScheduling affinity expressions, etc.), + compute a sum by iterating through the elements of this field and adding + "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the + node(s) with the highest sum are the most preferred. items: description: The weights of all of the matched WeightedPodAffinityTerm fields are added @@ -564,10 +554,8 @@ spec: requirements. The requirements are ANDed. items: - description: A label selector - requirement is a selector - that contains values, a - key, and an operator that + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -576,24 +564,15 @@ spec: applies to. type: string operator: - description: operator - represents a key's relationship - to a set of values. - Valid operators are - In, NotIn, Exists and - DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is - an array of string values. - If the operator is In - or NotIn, the values - array must be non-empty. - If the operator is Exists - or DoesNotExist, the - values array must be - empty. This array is - replaced during a strategic + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic merge patch. items: type: string @@ -606,29 +585,20 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is - a map of {key,value} pairs. - A single {key,value} in the - matchLabels map is equivalent - to an element of matchExpressions, - whose key field is "key", - the operator is "In", and - the values array contains - only "value". The requirements - are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + x-kubernetes-map-type: atomic namespaceSelector: - description: A label query over - the set of namespaces that the - term applies to. The term is applied - to the union of the namespaces - selected by this field and the - ones listed in the namespaces - field. null selector and null - or empty namespaces list means - "this pod's namespace". An empty - selector ({}) matches all namespaces. + description: |- + A label query over the set of namespaces that the term applies to. + The term is applied to the union of the namespaces selected by this field + and the ones listed in the namespaces field. + null selector and null or empty namespaces list means "this pod's namespace". + An empty selector ({}) matches all namespaces. properties: matchExpressions: description: matchExpressions @@ -636,10 +606,8 @@ spec: requirements. The requirements are ANDed. items: - description: A label selector - requirement is a selector - that contains values, a - key, and an operator that + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -648,24 +616,15 @@ spec: applies to. type: string operator: - description: operator - represents a key's relationship - to a set of values. - Valid operators are - In, NotIn, Exists and - DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is - an array of string values. - If the operator is In - or NotIn, the values - array must be non-empty. - If the operator is Exists - or DoesNotExist, the - values array must be - empty. This array is - replaced during a strategic + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic merge patch. items: type: string @@ -678,50 +637,36 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is - a map of {key,value} pairs. - A single {key,value} in the - matchLabels map is equivalent - to an element of matchExpressions, - whose key field is "key", - the operator is "In", and - the values array contains - only "value". The requirements - are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + x-kubernetes-map-type: atomic namespaces: - description: namespaces specifies - a static list of namespace names - that the term applies to. The - term is applied to the union of - the namespaces listed in this - field and the ones selected by - namespaceSelector. null or empty - namespaces list and null namespaceSelector - means "this pod's namespace". + description: |- + namespaces specifies a static list of namespace names that the term applies to. + The term is applied to the union of the namespaces listed in this field + and the ones selected by namespaceSelector. + null or empty namespaces list and null namespaceSelector means "this pod's namespace". items: type: string type: array topologyKey: - description: This pod should be - co-located (affinity) or not co-located - (anti-affinity) with the pods - matching the labelSelector in - the specified namespaces, where - co-located is defined as running - on a node whose value of the label - with key topologyKey matches that - of any node on which any of the - selected pods is running. Empty - topologyKey is not allowed. + description: |- + This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + the labelSelector in the specified namespaces, where co-located is defined as running on a node + whose value of the label with key topologyKey matches that of any node on which any of the + selected pods is running. + Empty topologyKey is not allowed. type: string required: - topologyKey type: object weight: - description: weight associated with - matching the corresponding podAffinityTerm, + description: |- + weight associated with matching the corresponding podAffinityTerm, in the range 1-100. format: int32 type: integer @@ -731,28 +676,22 @@ spec: type: object type: array requiredDuringSchedulingIgnoredDuringExecution: - description: If the affinity requirements - specified by this field are not met at scheduling - time, the pod will not be scheduled onto - the node. If the affinity requirements specified - by this field cease to be met at some point - during pod execution (e.g. due to a pod - label update), the system may or may not - try to eventually evict the pod from its - node. When there are multiple elements, - the lists of nodes corresponding to each - podAffinityTerm are intersected, i.e. all - terms must be satisfied. + description: |- + If the affinity requirements specified by this field are not met at + scheduling time, the pod will not be scheduled onto the node. + If the affinity requirements specified by this field cease to be met + at some point during pod execution (e.g. due to a pod label update), the + system may or may not try to eventually evict the pod from its node. + When there are multiple elements, the lists of nodes corresponding to each + podAffinityTerm are intersected, i.e. all terms must be satisfied. items: - description: Defines a set of pods (namely - those matching the labelSelector relative - to the given namespace(s)) that this pod - should be co-located (affinity) or not - co-located (anti-affinity) with, where - co-located is defined as running on a - node whose value of the label with key - matches that of any node - on which a pod of the set of pods is running + description: |- + Defines a set of pods (namely those matching the labelSelector + relative to the given namespace(s)) that this pod should be + co-located (affinity) or not co-located (anti-affinity) with, + where co-located is defined as running on a node whose value of + the label with key matches that of any node on which + a pod of the set of pods is running properties: labelSelector: description: A label query over a set @@ -763,11 +702,9 @@ spec: a list of label selector requirements. The requirements are ANDed. items: - description: A label selector - requirement is a selector that - contains values, a key, and - an operator that relates the - key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label @@ -775,23 +712,16 @@ spec: to. type: string operator: - description: operator represents - a key's relationship to - a set of values. Valid operators - are In, NotIn, Exists and - DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an - array of string values. - If the operator is In or - NotIn, the values array - must be non-empty. If the - operator is Exists or DoesNotExist, - the values array must be - empty. This array is replaced - during a strategic merge - patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -803,38 +733,29 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map - of {key,value} pairs. A single - {key,value} in the matchLabels - map is equivalent to an element - of matchExpressions, whose key - field is "key", the operator is - "In", and the values array contains - only "value". The requirements - are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + x-kubernetes-map-type: atomic namespaceSelector: - description: A label query over the - set of namespaces that the term applies - to. The term is applied to the union - of the namespaces selected by this - field and the ones listed in the namespaces - field. null selector and null or empty - namespaces list means "this pod's - namespace". An empty selector ({}) - matches all namespaces. + description: |- + A label query over the set of namespaces that the term applies to. + The term is applied to the union of the namespaces selected by this field + and the ones listed in the namespaces field. + null selector and null or empty namespaces list means "this pod's namespace". + An empty selector ({}) matches all namespaces. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector - requirement is a selector that - contains values, a key, and - an operator that relates the - key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label @@ -842,23 +763,16 @@ spec: to. type: string operator: - description: operator represents - a key's relationship to - a set of values. Valid operators - are In, NotIn, Exists and - DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an - array of string values. - If the operator is In or - NotIn, the values array - must be non-empty. If the - operator is Exists or DoesNotExist, - the values array must be - empty. This array is replaced - during a strategic merge - patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -870,40 +784,29 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map - of {key,value} pairs. A single - {key,value} in the matchLabels - map is equivalent to an element - of matchExpressions, whose key - field is "key", the operator is - "In", and the values array contains - only "value". The requirements - are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + x-kubernetes-map-type: atomic namespaces: - description: namespaces specifies a - static list of namespace names that - the term applies to. The term is applied - to the union of the namespaces listed - in this field and the ones selected - by namespaceSelector. null or empty - namespaces list and null namespaceSelector - means "this pod's namespace". + description: |- + namespaces specifies a static list of namespace names that the term applies to. + The term is applied to the union of the namespaces listed in this field + and the ones selected by namespaceSelector. + null or empty namespaces list and null namespaceSelector means "this pod's namespace". items: type: string type: array topologyKey: - description: This pod should be co-located - (affinity) or not co-located (anti-affinity) - with the pods matching the labelSelector - in the specified namespaces, where - co-located is defined as running on - a node whose value of the label with - key topologyKey matches that of any - node on which any of the selected - pods is running. Empty topologyKey - is not allowed. + description: |- + This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + the labelSelector in the specified namespaces, where co-located is defined as running on a node + whose value of the label with key topologyKey matches that of any node on which any of the + selected pods is running. + Empty topologyKey is not allowed. type: string required: - topologyKey @@ -915,21 +818,16 @@ spec: pod anti affinity scheduling rules properties: preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to - schedule pods to nodes that satisfy the - anti-affinity expressions specified by this - field, but it may choose a node that violates - one or more of the expressions. The node - that is most preferred is the one with the - greatest sum of weights, i.e. for each node - that meets all of the scheduling requirements - (resource request, requiredDuringScheduling - anti-affinity expressions, etc.), compute - a sum by iterating through the elements - of this field and adding "weight" to the - sum if the node has pods which matches the - corresponding podAffinityTerm; the node(s) - with the highest sum are the most preferred. + description: |- + The scheduler will prefer to schedule pods to nodes that satisfy + the anti-affinity expressions specified by this field, but it may choose + a node that violates one or more of the expressions. The node that is + most preferred is the one with the greatest sum of weights, i.e. + for each node that meets all of the scheduling requirements (resource + request, requiredDuringScheduling anti-affinity expressions, etc.), + compute a sum by iterating through the elements of this field and adding + "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the + node(s) with the highest sum are the most preferred. items: description: The weights of all of the matched WeightedPodAffinityTerm fields are added @@ -951,10 +849,8 @@ spec: requirements. The requirements are ANDed. items: - description: A label selector - requirement is a selector - that contains values, a - key, and an operator that + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -963,24 +859,15 @@ spec: applies to. type: string operator: - description: operator - represents a key's relationship - to a set of values. - Valid operators are - In, NotIn, Exists and - DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is - an array of string values. - If the operator is In - or NotIn, the values - array must be non-empty. - If the operator is Exists - or DoesNotExist, the - values array must be - empty. This array is - replaced during a strategic + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic merge patch. items: type: string @@ -993,29 +880,20 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is - a map of {key,value} pairs. - A single {key,value} in the - matchLabels map is equivalent - to an element of matchExpressions, - whose key field is "key", - the operator is "In", and - the values array contains - only "value". The requirements - are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + x-kubernetes-map-type: atomic namespaceSelector: - description: A label query over - the set of namespaces that the - term applies to. The term is applied - to the union of the namespaces - selected by this field and the - ones listed in the namespaces - field. null selector and null - or empty namespaces list means - "this pod's namespace". An empty - selector ({}) matches all namespaces. + description: |- + A label query over the set of namespaces that the term applies to. + The term is applied to the union of the namespaces selected by this field + and the ones listed in the namespaces field. + null selector and null or empty namespaces list means "this pod's namespace". + An empty selector ({}) matches all namespaces. properties: matchExpressions: description: matchExpressions @@ -1023,10 +901,8 @@ spec: requirements. The requirements are ANDed. items: - description: A label selector - requirement is a selector - that contains values, a - key, and an operator that + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -1035,24 +911,15 @@ spec: applies to. type: string operator: - description: operator - represents a key's relationship - to a set of values. - Valid operators are - In, NotIn, Exists and - DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is - an array of string values. - If the operator is In - or NotIn, the values - array must be non-empty. - If the operator is Exists - or DoesNotExist, the - values array must be - empty. This array is - replaced during a strategic + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic merge patch. items: type: string @@ -1065,50 +932,36 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is - a map of {key,value} pairs. - A single {key,value} in the - matchLabels map is equivalent - to an element of matchExpressions, - whose key field is "key", - the operator is "In", and - the values array contains - only "value". The requirements - are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + x-kubernetes-map-type: atomic namespaces: - description: namespaces specifies - a static list of namespace names - that the term applies to. The - term is applied to the union of - the namespaces listed in this - field and the ones selected by - namespaceSelector. null or empty - namespaces list and null namespaceSelector - means "this pod's namespace". + description: |- + namespaces specifies a static list of namespace names that the term applies to. + The term is applied to the union of the namespaces listed in this field + and the ones selected by namespaceSelector. + null or empty namespaces list and null namespaceSelector means "this pod's namespace". items: type: string type: array topologyKey: - description: This pod should be - co-located (affinity) or not co-located - (anti-affinity) with the pods - matching the labelSelector in - the specified namespaces, where - co-located is defined as running - on a node whose value of the label - with key topologyKey matches that - of any node on which any of the - selected pods is running. Empty - topologyKey is not allowed. + description: |- + This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + the labelSelector in the specified namespaces, where co-located is defined as running on a node + whose value of the label with key topologyKey matches that of any node on which any of the + selected pods is running. + Empty topologyKey is not allowed. type: string required: - topologyKey type: object weight: - description: weight associated with - matching the corresponding podAffinityTerm, + description: |- + weight associated with matching the corresponding podAffinityTerm, in the range 1-100. format: int32 type: integer @@ -1118,28 +971,22 @@ spec: type: object type: array requiredDuringSchedulingIgnoredDuringExecution: - description: If the anti-affinity requirements - specified by this field are not met at scheduling - time, the pod will not be scheduled onto - the node. If the anti-affinity requirements - specified by this field cease to be met - at some point during pod execution (e.g. - due to a pod label update), the system may - or may not try to eventually evict the pod - from its node. When there are multiple elements, - the lists of nodes corresponding to each - podAffinityTerm are intersected, i.e. all - terms must be satisfied. + description: |- + If the anti-affinity requirements specified by this field are not met at + scheduling time, the pod will not be scheduled onto the node. + If the anti-affinity requirements specified by this field cease to be met + at some point during pod execution (e.g. due to a pod label update), the + system may or may not try to eventually evict the pod from its node. + When there are multiple elements, the lists of nodes corresponding to each + podAffinityTerm are intersected, i.e. all terms must be satisfied. items: - description: Defines a set of pods (namely - those matching the labelSelector relative - to the given namespace(s)) that this pod - should be co-located (affinity) or not - co-located (anti-affinity) with, where - co-located is defined as running on a - node whose value of the label with key - matches that of any node - on which a pod of the set of pods is running + description: |- + Defines a set of pods (namely those matching the labelSelector + relative to the given namespace(s)) that this pod should be + co-located (affinity) or not co-located (anti-affinity) with, + where co-located is defined as running on a node whose value of + the label with key matches that of any node on which + a pod of the set of pods is running properties: labelSelector: description: A label query over a set @@ -1150,11 +997,9 @@ spec: a list of label selector requirements. The requirements are ANDed. items: - description: A label selector - requirement is a selector that - contains values, a key, and - an operator that relates the - key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label @@ -1162,23 +1007,16 @@ spec: to. type: string operator: - description: operator represents - a key's relationship to - a set of values. Valid operators - are In, NotIn, Exists and - DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an - array of string values. - If the operator is In or - NotIn, the values array - must be non-empty. If the - operator is Exists or DoesNotExist, - the values array must be - empty. This array is replaced - during a strategic merge - patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -1190,38 +1028,29 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map - of {key,value} pairs. A single - {key,value} in the matchLabels - map is equivalent to an element - of matchExpressions, whose key - field is "key", the operator is - "In", and the values array contains - only "value". The requirements - are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + x-kubernetes-map-type: atomic namespaceSelector: - description: A label query over the - set of namespaces that the term applies - to. The term is applied to the union - of the namespaces selected by this - field and the ones listed in the namespaces - field. null selector and null or empty - namespaces list means "this pod's - namespace". An empty selector ({}) - matches all namespaces. + description: |- + A label query over the set of namespaces that the term applies to. + The term is applied to the union of the namespaces selected by this field + and the ones listed in the namespaces field. + null selector and null or empty namespaces list means "this pod's namespace". + An empty selector ({}) matches all namespaces. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector - requirement is a selector that - contains values, a key, and - an operator that relates the - key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label @@ -1229,23 +1058,16 @@ spec: to. type: string operator: - description: operator represents - a key's relationship to - a set of values. Valid operators - are In, NotIn, Exists and - DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an - array of string values. - If the operator is In or - NotIn, the values array - must be non-empty. If the - operator is Exists or DoesNotExist, - the values array must be - empty. This array is replaced - during a strategic merge - patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -1257,40 +1079,29 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map - of {key,value} pairs. A single - {key,value} in the matchLabels - map is equivalent to an element - of matchExpressions, whose key - field is "key", the operator is - "In", and the values array contains - only "value". The requirements - are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + x-kubernetes-map-type: atomic namespaces: - description: namespaces specifies a - static list of namespace names that - the term applies to. The term is applied - to the union of the namespaces listed - in this field and the ones selected - by namespaceSelector. null or empty - namespaces list and null namespaceSelector - means "this pod's namespace". + description: |- + namespaces specifies a static list of namespace names that the term applies to. + The term is applied to the union of the namespaces listed in this field + and the ones selected by namespaceSelector. + null or empty namespaces list and null namespaceSelector means "this pod's namespace". items: type: string type: array topologyKey: - description: This pod should be co-located - (affinity) or not co-located (anti-affinity) - with the pods matching the labelSelector - in the specified namespaces, where - co-located is defined as running on - a node whose value of the label with - key topologyKey matches that of any - node on which any of the selected - pods is running. Empty topologyKey - is not allowed. + description: |- + This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + the labelSelector in the specified namespaces, where co-located is defined as running on a node + whose value of the label with key topologyKey matches that of any node on which any of the + selected pods is running. + Empty topologyKey is not allowed. type: string required: - topologyKey @@ -1298,54 +1109,43 @@ spec: type: array type: object tolerations: - description: The pod this Toleration is attached - to tolerates any taint that matches the triple - using the matching operator - + description: |- + The pod this Toleration is attached to tolerates any taint that matches + the triple using the matching operator items: - description: The pod this Toleration is attached - to tolerates any taint that matches the triple - using the matching operator - . + description: |- + The pod this Toleration is attached to tolerates any taint that matches + the triple using the matching operator . properties: effect: - description: Effect indicates the taint - effect to match. Empty means match all - taint effects. When specified, allowed - values are NoSchedule, PreferNoSchedule - and NoExecute. + description: |- + Effect indicates the taint effect to match. Empty means match all taint effects. + When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Key is the taint key that the - toleration applies to. Empty means match - all taint keys. If the key is empty, operator - must be Exists; this combination means - to match all values and all keys. + description: |- + Key is the taint key that the toleration applies to. Empty means match all taint keys. + If the key is empty, operator must be Exists; this combination means to match all values and all keys. type: string operator: - description: Operator represents a key's - relationship to the value. Valid operators - are Exists and Equal. Defaults to Equal. - Exists is equivalent to wildcard for value, - so that a pod can tolerate all taints - of a particular category. + description: |- + Operator represents a key's relationship to the value. + Valid operators are Exists and Equal. Defaults to Equal. + Exists is equivalent to wildcard for value, so that a pod can + tolerate all taints of a particular category. type: string tolerationSeconds: - description: TolerationSeconds represents - the period of time the toleration (which - must be of effect NoExecute, otherwise - this field is ignored) tolerates the taint. - By default, it is not set, which means - tolerate the taint forever (do not evict). - Zero and negative values will be treated - as 0 (evict immediately) by the system. + description: |- + TolerationSeconds represents the period of time the toleration (which must be + of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + it is not set, which means tolerate the taint forever (do not evict). Zero and + negative values will be treated as 0 (evict immediately) by the system. format: int64 type: integer value: - description: Value is the taint value the - toleration matches to. If the operator - is Exists, the value should be empty, - otherwise just a regular string. + description: |- + Value is the taint value the toleration matches to. + If the operator is Exists, the value should be empty, otherwise just a regular string. type: string type: object type: array @@ -1359,21 +1159,19 @@ spec: topology. properties: labelSelector: - description: LabelSelector is used to find - matching pods. Pods that match this label - selector are counted to determine the - number of pods in their corresponding - topology domain. + description: |- + LabelSelector is used to find matching pods. + Pods that match this label selector are counted to determine the number of pods + in their corresponding topology domain. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement - is a selector that contains values, - a key, and an operator that relates - the key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label @@ -1381,20 +1179,16 @@ spec: to. type: string operator: - description: operator represents - a key's relationship to a set - of values. Valid operators are - In, NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array - of string values. If the operator - is In or NotIn, the values array - must be non-empty. If the operator - is Exists or DoesNotExist, the - values array must be empty. - This array is replaced during - a strategic merge patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -1406,173 +1200,134 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of - {key,value} pairs. A single {key,value} - in the matchLabels map is equivalent - to an element of matchExpressions, - whose key field is "key", the operator - is "In", and the values array contains - only "value". The requirements are - ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + x-kubernetes-map-type: atomic matchLabelKeys: - description: "MatchLabelKeys is a set of - pod label keys to select the pods over - which spreading will be calculated. The - keys are used to lookup values from the - incoming pod labels, those key-value labels - are ANDed with labelSelector to select - the group of existing pods over which - spreading will be calculated for the incoming - pod. The same key is forbidden to exist - in both MatchLabelKeys and LabelSelector. - MatchLabelKeys cannot be set when LabelSelector - isn't set. Keys that don't exist in the - incoming pod labels will be ignored. A - null or empty list means only match against - labelSelector. \n This is a beta field - and requires the MatchLabelKeysInPodTopologySpread - feature gate to be enabled (enabled by - default)." + description: |- + MatchLabelKeys is a set of pod label keys to select the pods over which + spreading will be calculated. The keys are used to lookup values from the + incoming pod labels, those key-value labels are ANDed with labelSelector + to select the group of existing pods over which spreading will be calculated + for the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. + MatchLabelKeys cannot be set when LabelSelector isn't set. + Keys that don't exist in the incoming pod labels will + be ignored. A null or empty list means only match against labelSelector. + + + This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default). items: type: string type: array x-kubernetes-list-type: atomic maxSkew: - description: 'MaxSkew describes the degree - to which pods may be unevenly distributed. - When `whenUnsatisfiable=DoNotSchedule`, - it is the maximum permitted difference - between the number of matching pods in - the target topology and the global minimum. - The global minimum is the minimum number - of matching pods in an eligible domain - or zero if the number of eligible domains - is less than MinDomains. For example, - in a 3-zone cluster, MaxSkew is set to - 1, and pods with the same labelSelector - spread as 2/2/1: In this case, the global - minimum is 1. | zone1 | zone2 | zone3 - | | P P | P P | P | - if MaxSkew - is 1, incoming pod can only be scheduled - to zone3 to become 2/2/2; scheduling it - onto zone1(zone2) would make the ActualSkew(3-1) - on zone1(zone2) violate MaxSkew(1). - - if MaxSkew is 2, incoming pod can be scheduled - onto any zone. When `whenUnsatisfiable=ScheduleAnyway`, - it is used to give higher precedence to - topologies that satisfy it. It''s a required - field. Default value is 1 and 0 is not - allowed.' + description: |- + MaxSkew describes the degree to which pods may be unevenly distributed. + When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference + between the number of matching pods in the target topology and the global minimum. + The global minimum is the minimum number of matching pods in an eligible domain + or zero if the number of eligible domains is less than MinDomains. + For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same + labelSelector spread as 2/2/1: + In this case, the global minimum is 1. + | zone1 | zone2 | zone3 | + | P P | P P | P | + - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2; + scheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2) + violate MaxSkew(1). + - if MaxSkew is 2, incoming pod can be scheduled onto any zone. + When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence + to topologies that satisfy it. + It's a required field. Default value is 1 and 0 is not allowed. format: int32 type: integer minDomains: - description: "MinDomains indicates a minimum - number of eligible domains. When the number - of eligible domains with matching topology - keys is less than minDomains, Pod Topology - Spread treats \"global minimum\" as 0, - and then the calculation of Skew is performed. - And when the number of eligible domains - with matching topology keys equals or - greater than minDomains, this value has - no effect on scheduling. As a result, - when the number of eligible domains is - less than minDomains, scheduler won't - schedule more than maxSkew Pods to those - domains. If value is nil, the constraint - behaves as if MinDomains is equal to 1. - Valid values are integers greater than - 0. When value is not nil, WhenUnsatisfiable - must be DoNotSchedule. \n For example, - in a 3-zone cluster, MaxSkew is set to - 2, MinDomains is set to 5 and pods with - the same labelSelector spread as 2/2/2: - | zone1 | zone2 | zone3 | | P P | P - P | P P | The number of domains is - less than 5(MinDomains), so \"global minimum\" - is treated as 0. In this situation, new - pod with the same labelSelector cannot - be scheduled, because computed skew will - be 3(3 - 0) if new Pod is scheduled to - any of the three zones, it will violate - MaxSkew. \n This is a beta field and requires - the MinDomainsInPodTopologySpread feature - gate to be enabled (enabled by default)." + description: |- + MinDomains indicates a minimum number of eligible domains. + When the number of eligible domains with matching topology keys is less than minDomains, + Pod Topology Spread treats "global minimum" as 0, and then the calculation of Skew is performed. + And when the number of eligible domains with matching topology keys equals or greater than minDomains, + this value has no effect on scheduling. + As a result, when the number of eligible domains is less than minDomains, + scheduler won't schedule more than maxSkew Pods to those domains. + If value is nil, the constraint behaves as if MinDomains is equal to 1. + Valid values are integers greater than 0. + When value is not nil, WhenUnsatisfiable must be DoNotSchedule. + + + For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same + labelSelector spread as 2/2/2: + | zone1 | zone2 | zone3 | + | P P | P P | P P | + The number of domains is less than 5(MinDomains), so "global minimum" is treated as 0. + In this situation, new pod with the same labelSelector cannot be scheduled, + because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones, + it will violate MaxSkew. + + + This is a beta field and requires the MinDomainsInPodTopologySpread feature gate to be enabled (enabled by default). format: int32 type: integer nodeAffinityPolicy: - description: "NodeAffinityPolicy indicates - how we will treat Pod's nodeAffinity/nodeSelector - when calculating pod topology spread skew. - Options are: - Honor: only nodes matching - nodeAffinity/nodeSelector are included - in the calculations. - Ignore: nodeAffinity/nodeSelector - are ignored. All nodes are included in - the calculations. \n If this value is - nil, the behavior is equivalent to the - Honor policy. This is a beta-level feature - default enabled by the NodeInclusionPolicyInPodTopologySpread - feature flag." + description: |- + NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector + when calculating pod topology spread skew. Options are: + - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations. + - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations. + + + If this value is nil, the behavior is equivalent to the Honor policy. + This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. type: string nodeTaintsPolicy: - description: "NodeTaintsPolicy indicates - how we will treat node taints when calculating + description: |- + NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew. Options are: - - Honor: nodes without taints, along with - tainted nodes for which the incoming pod - has a toleration, are included. - Ignore: - node taints are ignored. All nodes are - included. \n If this value is nil, the - behavior is equivalent to the Ignore policy. - This is a beta-level feature default enabled - by the NodeInclusionPolicyInPodTopologySpread - feature flag." + - Honor: nodes without taints, along with tainted nodes for which the incoming pod + has a toleration, are included. + - Ignore: node taints are ignored. All nodes are included. + + + If this value is nil, the behavior is equivalent to the Ignore policy. + This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. type: string topologyKey: - description: TopologyKey is the key of node - labels. Nodes that have a label with this - key and identical values are considered - to be in the same topology. We consider - each as a "bucket", and try - to put balanced number of pods into each - bucket. We define a domain as a particular - instance of a topology. Also, we define - an eligible domain as a domain whose nodes - meet the requirements of nodeAffinityPolicy - and nodeTaintsPolicy. e.g. If TopologyKey - is "kubernetes.io/hostname", each Node - is a domain of that topology. And, if - TopologyKey is "topology.kubernetes.io/zone", - each zone is a domain of that topology. + description: |- + TopologyKey is the key of node labels. Nodes that have a label with this key + and identical values are considered to be in the same topology. + We consider each as a "bucket", and try to put balanced number + of pods into each bucket. + We define a domain as a particular instance of a topology. + Also, we define an eligible domain as a domain whose nodes meet the requirements of + nodeAffinityPolicy and nodeTaintsPolicy. + e.g. If TopologyKey is "kubernetes.io/hostname", each Node is a domain of that topology. + And, if TopologyKey is "topology.kubernetes.io/zone", each zone is a domain of that topology. It's a required field. type: string whenUnsatisfiable: - description: 'WhenUnsatisfiable indicates - how to deal with a pod if it doesn''t - satisfy the spread constraint. - DoNotSchedule - (default) tells the scheduler not to schedule - it. - ScheduleAnyway tells the scheduler - to schedule the pod in any location, but - giving higher precedence to topologies - that would help reduce the skew. A constraint - is considered "Unsatisfiable" for an incoming - pod if and only if every possible node - assignment for that pod would violate - "MaxSkew" on some topology. For example, - in a 3-zone cluster, MaxSkew is set to - 1, and pods with the same labelSelector - spread as 3/1/1: | zone1 | zone2 | zone3 - | | P P P | P | P | If WhenUnsatisfiable - is set to DoNotSchedule, incoming pod - can only be scheduled to zone2(zone3) - to become 3/2/1(3/1/2) as ActualSkew(2-1) - on zone2(zone3) satisfies MaxSkew(1). - In other words, the cluster can still - be imbalanced, but scheduler won''t make - it *more* imbalanced. It''s a required - field.' + description: |- + WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy + the spread constraint. + - DoNotSchedule (default) tells the scheduler not to schedule it. + - ScheduleAnyway tells the scheduler to schedule the pod in any location, + but giving higher precedence to topologies that would help reduce the + skew. + A constraint is considered "Unsatisfiable" for an incoming pod + if and only if every possible node assignment for that pod would violate + "MaxSkew" on some topology. + For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same + labelSelector spread as 3/1/1: + | zone1 | zone2 | zone3 | + | P P P | P | P | + If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled + to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies + MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler + won't make it *more* imbalanced. + It's a required field. type: string required: - maxSkew @@ -1584,11 +1339,11 @@ spec: x-kubernetes-preserve-unknown-fields: true type: object monitor: - description: Monitor is the daemon that monitors the status - of the ceph cluster. Responsible for collecting cluster - information, updating cluster information, and publishing - cluster information. Including monmap, osdmap, PGmap, - mdsmap, etc. A spec for mon related options + description: |- + Monitor is the daemon that monitors the status of the ceph cluster. + Responsible for collecting cluster information, updating cluster information, and publishing cluster information. + Including monmap, osdmap, PGmap, mdsmap, etc. + A spec for mon related options nullable: true properties: annotations: @@ -1600,7 +1355,8 @@ spec: nullable: true type: object count: - description: Count is the number of Ceph monitors. + description: |- + Count is the number of Ceph monitors. Default is three and preferably an odd number. maximum: 9 minimum: 1 @@ -1608,10 +1364,9 @@ spec: labels: additionalProperties: type: string - description: Similar to Annotation, but more graphical - than Annotation. The label-related configuration - to add/set on each Pod related object. Including - Pod, Deployment. + description: |- + Similar to Annotation, but more graphical than Annotation. + The label-related configuration to add/set on each Pod related object. Including Pod, Deployment. nullable: true type: object x-kubernetes-preserve-unknown-fields: true @@ -1625,27 +1380,20 @@ spec: scheduling rules properties: preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to - schedule pods to nodes that satisfy the - affinity expressions specified by this field, - but it may choose a node that violates one - or more of the expressions. The node that - is most preferred is the one with the greatest - sum of weights, i.e. for each node that - meets all of the scheduling requirements - (resource request, requiredDuringScheduling - affinity expressions, etc.), compute a sum - by iterating through the elements of this - field and adding "weight" to the sum if - the node matches the corresponding matchExpressions; - the node(s) with the highest sum are the - most preferred. + description: |- + The scheduler will prefer to schedule pods to nodes that satisfy + the affinity expressions specified by this field, but it may choose + a node that violates one or more of the expressions. The node that is + most preferred is the one with the greatest sum of weights, i.e. + for each node that meets all of the scheduling requirements (resource + request, requiredDuringScheduling affinity expressions, etc.), + compute a sum by iterating through the elements of this field and adding + "weight" to the sum if the node matches the corresponding matchExpressions; the + node(s) with the highest sum are the most preferred. items: - description: An empty preferred scheduling - term matches all objects with implicit - weight 0 (i.e. it's a no-op). A null preferred - scheduling term matches no objects (i.e. - is also a no-op). + description: |- + An empty preferred scheduling term matches all objects with implicit weight 0 + (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). properties: preference: description: A node selector term, associated @@ -1655,9 +1403,8 @@ spec: description: A list of node selector requirements by node's labels. items: - description: A node selector requirement - is a selector that contains - values, a key, and an operator + description: |- + A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -1666,27 +1413,17 @@ spec: to. type: string operator: - description: Represents a - key's relationship to a - set of values. Valid operators - are In, NotIn, Exists, DoesNotExist. - Gt, and Lt. + description: |- + Represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: - description: An array of string - values. If the operator - is In or NotIn, the values - array must be non-empty. - If the operator is Exists - or DoesNotExist, the values - array must be empty. If - the operator is Gt or Lt, - the values array must have - a single element, which - will be interpreted as an - integer. This array is replaced - during a strategic merge - patch. + description: |- + An array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. If the operator is Gt or Lt, the values + array must have a single element, which will be interpreted as an integer. + This array is replaced during a strategic merge patch. items: type: string type: array @@ -1699,9 +1436,8 @@ spec: description: A list of node selector requirements by node's fields. items: - description: A node selector requirement - is a selector that contains - values, a key, and an operator + description: |- + A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -1710,27 +1446,17 @@ spec: to. type: string operator: - description: Represents a - key's relationship to a - set of values. Valid operators - are In, NotIn, Exists, DoesNotExist. - Gt, and Lt. + description: |- + Represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: - description: An array of string - values. If the operator - is In or NotIn, the values - array must be non-empty. - If the operator is Exists - or DoesNotExist, the values - array must be empty. If - the operator is Gt or Lt, - the values array must have - a single element, which - will be interpreted as an - integer. This array is replaced - during a strategic merge - patch. + description: |- + An array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. If the operator is Gt or Lt, the values + array must have a single element, which will be interpreted as an integer. + This array is replaced during a strategic merge patch. items: type: string type: array @@ -1740,6 +1466,7 @@ spec: type: object type: array type: object + x-kubernetes-map-type: atomic weight: description: Weight associated with matching the corresponding nodeSelectorTerm, @@ -1752,31 +1479,28 @@ spec: type: object type: array requiredDuringSchedulingIgnoredDuringExecution: - description: If the affinity requirements - specified by this field are not met at scheduling - time, the pod will not be scheduled onto - the node. If the affinity requirements specified - by this field cease to be met at some point - during pod execution (e.g. due to an update), - the system may or may not try to eventually - evict the pod from its node. + description: |- + If the affinity requirements specified by this field are not met at + scheduling time, the pod will not be scheduled onto the node. + If the affinity requirements specified by this field cease to be met + at some point during pod execution (e.g. due to an update), the system + may or may not try to eventually evict the pod from its node. properties: nodeSelectorTerms: description: Required. A list of node selector terms. The terms are ORed. items: - description: A null or empty node selector - term matches no objects. The requirements - of them are ANDed. The TopologySelectorTerm - type implements a subset of the NodeSelectorTerm. + description: |- + A null or empty node selector term matches no objects. The requirements of + them are ANDed. + The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. properties: matchExpressions: description: A list of node selector requirements by node's labels. items: - description: A node selector requirement - is a selector that contains - values, a key, and an operator + description: |- + A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -1785,27 +1509,17 @@ spec: to. type: string operator: - description: Represents a - key's relationship to a - set of values. Valid operators - are In, NotIn, Exists, DoesNotExist. - Gt, and Lt. + description: |- + Represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: - description: An array of string - values. If the operator - is In or NotIn, the values - array must be non-empty. - If the operator is Exists - or DoesNotExist, the values - array must be empty. If - the operator is Gt or Lt, - the values array must have - a single element, which - will be interpreted as an - integer. This array is replaced - during a strategic merge - patch. + description: |- + An array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. If the operator is Gt or Lt, the values + array must have a single element, which will be interpreted as an integer. + This array is replaced during a strategic merge patch. items: type: string type: array @@ -1818,9 +1532,8 @@ spec: description: A list of node selector requirements by node's fields. items: - description: A node selector requirement - is a selector that contains - values, a key, and an operator + description: |- + A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -1829,27 +1542,17 @@ spec: to. type: string operator: - description: Represents a - key's relationship to a - set of values. Valid operators - are In, NotIn, Exists, DoesNotExist. - Gt, and Lt. + description: |- + Represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: - description: An array of string - values. If the operator - is In or NotIn, the values - array must be non-empty. - If the operator is Exists - or DoesNotExist, the values - array must be empty. If - the operator is Gt or Lt, - the values array must have - a single element, which - will be interpreted as an - integer. This array is replaced - during a strategic merge - patch. + description: |- + An array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. If the operator is Gt or Lt, the values + array must have a single element, which will be interpreted as an integer. + This array is replaced during a strategic merge patch. items: type: string type: array @@ -1859,31 +1562,28 @@ spec: type: object type: array type: object + x-kubernetes-map-type: atomic type: array required: - nodeSelectorTerms type: object + x-kubernetes-map-type: atomic type: object podAffinity: description: PodAffinity is a group of inter pod affinity scheduling rules properties: preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to - schedule pods to nodes that satisfy the - affinity expressions specified by this field, - but it may choose a node that violates one - or more of the expressions. The node that - is most preferred is the one with the greatest - sum of weights, i.e. for each node that - meets all of the scheduling requirements - (resource request, requiredDuringScheduling - affinity expressions, etc.), compute a sum - by iterating through the elements of this - field and adding "weight" to the sum if - the node has pods which matches the corresponding - podAffinityTerm; the node(s) with the highest - sum are the most preferred. + description: |- + The scheduler will prefer to schedule pods to nodes that satisfy + the affinity expressions specified by this field, but it may choose + a node that violates one or more of the expressions. The node that is + most preferred is the one with the greatest sum of weights, i.e. + for each node that meets all of the scheduling requirements (resource + request, requiredDuringScheduling affinity expressions, etc.), + compute a sum by iterating through the elements of this field and adding + "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the + node(s) with the highest sum are the most preferred. items: description: The weights of all of the matched WeightedPodAffinityTerm fields are added @@ -1905,10 +1605,8 @@ spec: requirements. The requirements are ANDed. items: - description: A label selector - requirement is a selector - that contains values, a - key, and an operator that + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -1917,24 +1615,15 @@ spec: applies to. type: string operator: - description: operator - represents a key's relationship - to a set of values. - Valid operators are - In, NotIn, Exists and - DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is - an array of string values. - If the operator is In - or NotIn, the values - array must be non-empty. - If the operator is Exists - or DoesNotExist, the - values array must be - empty. This array is - replaced during a strategic + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic merge patch. items: type: string @@ -1947,29 +1636,20 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is - a map of {key,value} pairs. - A single {key,value} in the - matchLabels map is equivalent - to an element of matchExpressions, - whose key field is "key", - the operator is "In", and - the values array contains - only "value". The requirements - are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + x-kubernetes-map-type: atomic namespaceSelector: - description: A label query over - the set of namespaces that the - term applies to. The term is applied - to the union of the namespaces - selected by this field and the - ones listed in the namespaces - field. null selector and null - or empty namespaces list means - "this pod's namespace". An empty - selector ({}) matches all namespaces. + description: |- + A label query over the set of namespaces that the term applies to. + The term is applied to the union of the namespaces selected by this field + and the ones listed in the namespaces field. + null selector and null or empty namespaces list means "this pod's namespace". + An empty selector ({}) matches all namespaces. properties: matchExpressions: description: matchExpressions @@ -1977,10 +1657,8 @@ spec: requirements. The requirements are ANDed. items: - description: A label selector - requirement is a selector - that contains values, a - key, and an operator that + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -1989,24 +1667,15 @@ spec: applies to. type: string operator: - description: operator - represents a key's relationship - to a set of values. - Valid operators are - In, NotIn, Exists and - DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is - an array of string values. - If the operator is In - or NotIn, the values - array must be non-empty. - If the operator is Exists - or DoesNotExist, the - values array must be - empty. This array is - replaced during a strategic + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic merge patch. items: type: string @@ -2019,50 +1688,36 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is - a map of {key,value} pairs. - A single {key,value} in the - matchLabels map is equivalent - to an element of matchExpressions, - whose key field is "key", - the operator is "In", and - the values array contains - only "value". The requirements - are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + x-kubernetes-map-type: atomic namespaces: - description: namespaces specifies - a static list of namespace names - that the term applies to. The - term is applied to the union of - the namespaces listed in this - field and the ones selected by - namespaceSelector. null or empty - namespaces list and null namespaceSelector - means "this pod's namespace". + description: |- + namespaces specifies a static list of namespace names that the term applies to. + The term is applied to the union of the namespaces listed in this field + and the ones selected by namespaceSelector. + null or empty namespaces list and null namespaceSelector means "this pod's namespace". items: type: string type: array topologyKey: - description: This pod should be - co-located (affinity) or not co-located - (anti-affinity) with the pods - matching the labelSelector in - the specified namespaces, where - co-located is defined as running - on a node whose value of the label - with key topologyKey matches that - of any node on which any of the - selected pods is running. Empty - topologyKey is not allowed. + description: |- + This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + the labelSelector in the specified namespaces, where co-located is defined as running on a node + whose value of the label with key topologyKey matches that of any node on which any of the + selected pods is running. + Empty topologyKey is not allowed. type: string required: - topologyKey type: object weight: - description: weight associated with - matching the corresponding podAffinityTerm, + description: |- + weight associated with matching the corresponding podAffinityTerm, in the range 1-100. format: int32 type: integer @@ -2072,28 +1727,22 @@ spec: type: object type: array requiredDuringSchedulingIgnoredDuringExecution: - description: If the affinity requirements - specified by this field are not met at scheduling - time, the pod will not be scheduled onto - the node. If the affinity requirements specified - by this field cease to be met at some point - during pod execution (e.g. due to a pod - label update), the system may or may not - try to eventually evict the pod from its - node. When there are multiple elements, - the lists of nodes corresponding to each - podAffinityTerm are intersected, i.e. all - terms must be satisfied. + description: |- + If the affinity requirements specified by this field are not met at + scheduling time, the pod will not be scheduled onto the node. + If the affinity requirements specified by this field cease to be met + at some point during pod execution (e.g. due to a pod label update), the + system may or may not try to eventually evict the pod from its node. + When there are multiple elements, the lists of nodes corresponding to each + podAffinityTerm are intersected, i.e. all terms must be satisfied. items: - description: Defines a set of pods (namely - those matching the labelSelector relative - to the given namespace(s)) that this pod - should be co-located (affinity) or not - co-located (anti-affinity) with, where - co-located is defined as running on a - node whose value of the label with key - matches that of any node - on which a pod of the set of pods is running + description: |- + Defines a set of pods (namely those matching the labelSelector + relative to the given namespace(s)) that this pod should be + co-located (affinity) or not co-located (anti-affinity) with, + where co-located is defined as running on a node whose value of + the label with key matches that of any node on which + a pod of the set of pods is running properties: labelSelector: description: A label query over a set @@ -2104,11 +1753,9 @@ spec: a list of label selector requirements. The requirements are ANDed. items: - description: A label selector - requirement is a selector that - contains values, a key, and - an operator that relates the - key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label @@ -2116,23 +1763,16 @@ spec: to. type: string operator: - description: operator represents - a key's relationship to - a set of values. Valid operators - are In, NotIn, Exists and - DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an - array of string values. - If the operator is In or - NotIn, the values array - must be non-empty. If the - operator is Exists or DoesNotExist, - the values array must be - empty. This array is replaced - during a strategic merge - patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -2144,38 +1784,29 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map - of {key,value} pairs. A single - {key,value} in the matchLabels - map is equivalent to an element - of matchExpressions, whose key - field is "key", the operator is - "In", and the values array contains - only "value". The requirements - are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + x-kubernetes-map-type: atomic namespaceSelector: - description: A label query over the - set of namespaces that the term applies - to. The term is applied to the union - of the namespaces selected by this - field and the ones listed in the namespaces - field. null selector and null or empty - namespaces list means "this pod's - namespace". An empty selector ({}) - matches all namespaces. + description: |- + A label query over the set of namespaces that the term applies to. + The term is applied to the union of the namespaces selected by this field + and the ones listed in the namespaces field. + null selector and null or empty namespaces list means "this pod's namespace". + An empty selector ({}) matches all namespaces. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector - requirement is a selector that - contains values, a key, and - an operator that relates the - key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label @@ -2183,23 +1814,16 @@ spec: to. type: string operator: - description: operator represents - a key's relationship to - a set of values. Valid operators - are In, NotIn, Exists and - DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an - array of string values. - If the operator is In or - NotIn, the values array - must be non-empty. If the - operator is Exists or DoesNotExist, - the values array must be - empty. This array is replaced - during a strategic merge - patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -2211,40 +1835,29 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map - of {key,value} pairs. A single - {key,value} in the matchLabels - map is equivalent to an element - of matchExpressions, whose key - field is "key", the operator is - "In", and the values array contains - only "value". The requirements - are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + x-kubernetes-map-type: atomic namespaces: - description: namespaces specifies a - static list of namespace names that - the term applies to. The term is applied - to the union of the namespaces listed - in this field and the ones selected - by namespaceSelector. null or empty - namespaces list and null namespaceSelector - means "this pod's namespace". + description: |- + namespaces specifies a static list of namespace names that the term applies to. + The term is applied to the union of the namespaces listed in this field + and the ones selected by namespaceSelector. + null or empty namespaces list and null namespaceSelector means "this pod's namespace". items: type: string type: array topologyKey: - description: This pod should be co-located - (affinity) or not co-located (anti-affinity) - with the pods matching the labelSelector - in the specified namespaces, where - co-located is defined as running on - a node whose value of the label with - key topologyKey matches that of any - node on which any of the selected - pods is running. Empty topologyKey - is not allowed. + description: |- + This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + the labelSelector in the specified namespaces, where co-located is defined as running on a node + whose value of the label with key topologyKey matches that of any node on which any of the + selected pods is running. + Empty topologyKey is not allowed. type: string required: - topologyKey @@ -2256,21 +1869,16 @@ spec: pod anti affinity scheduling rules properties: preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to - schedule pods to nodes that satisfy the - anti-affinity expressions specified by this - field, but it may choose a node that violates - one or more of the expressions. The node - that is most preferred is the one with the - greatest sum of weights, i.e. for each node - that meets all of the scheduling requirements - (resource request, requiredDuringScheduling - anti-affinity expressions, etc.), compute - a sum by iterating through the elements - of this field and adding "weight" to the - sum if the node has pods which matches the - corresponding podAffinityTerm; the node(s) - with the highest sum are the most preferred. + description: |- + The scheduler will prefer to schedule pods to nodes that satisfy + the anti-affinity expressions specified by this field, but it may choose + a node that violates one or more of the expressions. The node that is + most preferred is the one with the greatest sum of weights, i.e. + for each node that meets all of the scheduling requirements (resource + request, requiredDuringScheduling anti-affinity expressions, etc.), + compute a sum by iterating through the elements of this field and adding + "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the + node(s) with the highest sum are the most preferred. items: description: The weights of all of the matched WeightedPodAffinityTerm fields are added @@ -2292,10 +1900,8 @@ spec: requirements. The requirements are ANDed. items: - description: A label selector - requirement is a selector - that contains values, a - key, and an operator that + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -2304,24 +1910,15 @@ spec: applies to. type: string operator: - description: operator - represents a key's relationship - to a set of values. - Valid operators are - In, NotIn, Exists and - DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is - an array of string values. - If the operator is In - or NotIn, the values - array must be non-empty. - If the operator is Exists - or DoesNotExist, the - values array must be - empty. This array is - replaced during a strategic + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic merge patch. items: type: string @@ -2334,29 +1931,20 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is - a map of {key,value} pairs. - A single {key,value} in the - matchLabels map is equivalent - to an element of matchExpressions, - whose key field is "key", - the operator is "In", and - the values array contains - only "value". The requirements - are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + x-kubernetes-map-type: atomic namespaceSelector: - description: A label query over - the set of namespaces that the - term applies to. The term is applied - to the union of the namespaces - selected by this field and the - ones listed in the namespaces - field. null selector and null - or empty namespaces list means - "this pod's namespace". An empty - selector ({}) matches all namespaces. + description: |- + A label query over the set of namespaces that the term applies to. + The term is applied to the union of the namespaces selected by this field + and the ones listed in the namespaces field. + null selector and null or empty namespaces list means "this pod's namespace". + An empty selector ({}) matches all namespaces. properties: matchExpressions: description: matchExpressions @@ -2364,10 +1952,8 @@ spec: requirements. The requirements are ANDed. items: - description: A label selector - requirement is a selector - that contains values, a - key, and an operator that + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -2376,24 +1962,15 @@ spec: applies to. type: string operator: - description: operator - represents a key's relationship - to a set of values. - Valid operators are - In, NotIn, Exists and - DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is - an array of string values. - If the operator is In - or NotIn, the values - array must be non-empty. - If the operator is Exists - or DoesNotExist, the - values array must be - empty. This array is - replaced during a strategic + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic merge patch. items: type: string @@ -2406,50 +1983,36 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is - a map of {key,value} pairs. - A single {key,value} in the - matchLabels map is equivalent - to an element of matchExpressions, - whose key field is "key", - the operator is "In", and - the values array contains - only "value". The requirements - are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + x-kubernetes-map-type: atomic namespaces: - description: namespaces specifies - a static list of namespace names - that the term applies to. The - term is applied to the union of - the namespaces listed in this - field and the ones selected by - namespaceSelector. null or empty - namespaces list and null namespaceSelector - means "this pod's namespace". + description: |- + namespaces specifies a static list of namespace names that the term applies to. + The term is applied to the union of the namespaces listed in this field + and the ones selected by namespaceSelector. + null or empty namespaces list and null namespaceSelector means "this pod's namespace". items: type: string type: array topologyKey: - description: This pod should be - co-located (affinity) or not co-located - (anti-affinity) with the pods - matching the labelSelector in - the specified namespaces, where - co-located is defined as running - on a node whose value of the label - with key topologyKey matches that - of any node on which any of the - selected pods is running. Empty - topologyKey is not allowed. + description: |- + This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + the labelSelector in the specified namespaces, where co-located is defined as running on a node + whose value of the label with key topologyKey matches that of any node on which any of the + selected pods is running. + Empty topologyKey is not allowed. type: string required: - topologyKey type: object weight: - description: weight associated with - matching the corresponding podAffinityTerm, + description: |- + weight associated with matching the corresponding podAffinityTerm, in the range 1-100. format: int32 type: integer @@ -2459,28 +2022,22 @@ spec: type: object type: array requiredDuringSchedulingIgnoredDuringExecution: - description: If the anti-affinity requirements - specified by this field are not met at scheduling - time, the pod will not be scheduled onto - the node. If the anti-affinity requirements - specified by this field cease to be met - at some point during pod execution (e.g. - due to a pod label update), the system may - or may not try to eventually evict the pod - from its node. When there are multiple elements, - the lists of nodes corresponding to each - podAffinityTerm are intersected, i.e. all - terms must be satisfied. + description: |- + If the anti-affinity requirements specified by this field are not met at + scheduling time, the pod will not be scheduled onto the node. + If the anti-affinity requirements specified by this field cease to be met + at some point during pod execution (e.g. due to a pod label update), the + system may or may not try to eventually evict the pod from its node. + When there are multiple elements, the lists of nodes corresponding to each + podAffinityTerm are intersected, i.e. all terms must be satisfied. items: - description: Defines a set of pods (namely - those matching the labelSelector relative - to the given namespace(s)) that this pod - should be co-located (affinity) or not - co-located (anti-affinity) with, where - co-located is defined as running on a - node whose value of the label with key - matches that of any node - on which a pod of the set of pods is running + description: |- + Defines a set of pods (namely those matching the labelSelector + relative to the given namespace(s)) that this pod should be + co-located (affinity) or not co-located (anti-affinity) with, + where co-located is defined as running on a node whose value of + the label with key matches that of any node on which + a pod of the set of pods is running properties: labelSelector: description: A label query over a set @@ -2491,11 +2048,9 @@ spec: a list of label selector requirements. The requirements are ANDed. items: - description: A label selector - requirement is a selector that - contains values, a key, and - an operator that relates the - key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label @@ -2503,23 +2058,16 @@ spec: to. type: string operator: - description: operator represents - a key's relationship to - a set of values. Valid operators - are In, NotIn, Exists and - DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an - array of string values. - If the operator is In or - NotIn, the values array - must be non-empty. If the - operator is Exists or DoesNotExist, - the values array must be - empty. This array is replaced - during a strategic merge - patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -2531,38 +2079,29 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map - of {key,value} pairs. A single - {key,value} in the matchLabels - map is equivalent to an element - of matchExpressions, whose key - field is "key", the operator is - "In", and the values array contains - only "value". The requirements - are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + x-kubernetes-map-type: atomic namespaceSelector: - description: A label query over the - set of namespaces that the term applies - to. The term is applied to the union - of the namespaces selected by this - field and the ones listed in the namespaces - field. null selector and null or empty - namespaces list means "this pod's - namespace". An empty selector ({}) - matches all namespaces. + description: |- + A label query over the set of namespaces that the term applies to. + The term is applied to the union of the namespaces selected by this field + and the ones listed in the namespaces field. + null selector and null or empty namespaces list means "this pod's namespace". + An empty selector ({}) matches all namespaces. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector - requirement is a selector that - contains values, a key, and - an operator that relates the - key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label @@ -2570,23 +2109,16 @@ spec: to. type: string operator: - description: operator represents - a key's relationship to - a set of values. Valid operators - are In, NotIn, Exists and - DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an - array of string values. - If the operator is In or - NotIn, the values array - must be non-empty. If the - operator is Exists or DoesNotExist, - the values array must be - empty. This array is replaced - during a strategic merge - patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -2598,40 +2130,29 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map - of {key,value} pairs. A single - {key,value} in the matchLabels - map is equivalent to an element - of matchExpressions, whose key - field is "key", the operator is - "In", and the values array contains - only "value". The requirements - are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + x-kubernetes-map-type: atomic namespaces: - description: namespaces specifies a - static list of namespace names that - the term applies to. The term is applied - to the union of the namespaces listed - in this field and the ones selected - by namespaceSelector. null or empty - namespaces list and null namespaceSelector - means "this pod's namespace". + description: |- + namespaces specifies a static list of namespace names that the term applies to. + The term is applied to the union of the namespaces listed in this field + and the ones selected by namespaceSelector. + null or empty namespaces list and null namespaceSelector means "this pod's namespace". items: type: string type: array topologyKey: - description: This pod should be co-located - (affinity) or not co-located (anti-affinity) - with the pods matching the labelSelector - in the specified namespaces, where - co-located is defined as running on - a node whose value of the label with - key topologyKey matches that of any - node on which any of the selected - pods is running. Empty topologyKey - is not allowed. + description: |- + This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + the labelSelector in the specified namespaces, where co-located is defined as running on a node + whose value of the label with key topologyKey matches that of any node on which any of the + selected pods is running. + Empty topologyKey is not allowed. type: string required: - topologyKey @@ -2639,54 +2160,43 @@ spec: type: array type: object tolerations: - description: The pod this Toleration is attached - to tolerates any taint that matches the triple - using the matching operator - + description: |- + The pod this Toleration is attached to tolerates any taint that matches + the triple using the matching operator items: - description: The pod this Toleration is attached - to tolerates any taint that matches the triple - using the matching operator - . + description: |- + The pod this Toleration is attached to tolerates any taint that matches + the triple using the matching operator . properties: effect: - description: Effect indicates the taint - effect to match. Empty means match all - taint effects. When specified, allowed - values are NoSchedule, PreferNoSchedule - and NoExecute. + description: |- + Effect indicates the taint effect to match. Empty means match all taint effects. + When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Key is the taint key that the - toleration applies to. Empty means match - all taint keys. If the key is empty, operator - must be Exists; this combination means - to match all values and all keys. + description: |- + Key is the taint key that the toleration applies to. Empty means match all taint keys. + If the key is empty, operator must be Exists; this combination means to match all values and all keys. type: string operator: - description: Operator represents a key's - relationship to the value. Valid operators - are Exists and Equal. Defaults to Equal. - Exists is equivalent to wildcard for value, - so that a pod can tolerate all taints - of a particular category. + description: |- + Operator represents a key's relationship to the value. + Valid operators are Exists and Equal. Defaults to Equal. + Exists is equivalent to wildcard for value, so that a pod can + tolerate all taints of a particular category. type: string tolerationSeconds: - description: TolerationSeconds represents - the period of time the toleration (which - must be of effect NoExecute, otherwise - this field is ignored) tolerates the taint. - By default, it is not set, which means - tolerate the taint forever (do not evict). - Zero and negative values will be treated - as 0 (evict immediately) by the system. + description: |- + TolerationSeconds represents the period of time the toleration (which must be + of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + it is not set, which means tolerate the taint forever (do not evict). Zero and + negative values will be treated as 0 (evict immediately) by the system. format: int64 type: integer value: - description: Value is the taint value the - toleration matches to. If the operator - is Exists, the value should be empty, - otherwise just a regular string. + description: |- + Value is the taint value the toleration matches to. + If the operator is Exists, the value should be empty, otherwise just a regular string. type: string type: object type: array @@ -2700,21 +2210,19 @@ spec: topology. properties: labelSelector: - description: LabelSelector is used to find - matching pods. Pods that match this label - selector are counted to determine the - number of pods in their corresponding - topology domain. + description: |- + LabelSelector is used to find matching pods. + Pods that match this label selector are counted to determine the number of pods + in their corresponding topology domain. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement - is a selector that contains values, - a key, and an operator that relates - the key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label @@ -2722,20 +2230,16 @@ spec: to. type: string operator: - description: operator represents - a key's relationship to a set - of values. Valid operators are - In, NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array - of string values. If the operator - is In or NotIn, the values array - must be non-empty. If the operator - is Exists or DoesNotExist, the - values array must be empty. - This array is replaced during - a strategic merge patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -2747,173 +2251,134 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of - {key,value} pairs. A single {key,value} - in the matchLabels map is equivalent - to an element of matchExpressions, - whose key field is "key", the operator - is "In", and the values array contains - only "value". The requirements are - ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + x-kubernetes-map-type: atomic matchLabelKeys: - description: "MatchLabelKeys is a set of - pod label keys to select the pods over - which spreading will be calculated. The - keys are used to lookup values from the - incoming pod labels, those key-value labels - are ANDed with labelSelector to select - the group of existing pods over which - spreading will be calculated for the incoming - pod. The same key is forbidden to exist - in both MatchLabelKeys and LabelSelector. - MatchLabelKeys cannot be set when LabelSelector - isn't set. Keys that don't exist in the - incoming pod labels will be ignored. A - null or empty list means only match against - labelSelector. \n This is a beta field - and requires the MatchLabelKeysInPodTopologySpread - feature gate to be enabled (enabled by - default)." + description: |- + MatchLabelKeys is a set of pod label keys to select the pods over which + spreading will be calculated. The keys are used to lookup values from the + incoming pod labels, those key-value labels are ANDed with labelSelector + to select the group of existing pods over which spreading will be calculated + for the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. + MatchLabelKeys cannot be set when LabelSelector isn't set. + Keys that don't exist in the incoming pod labels will + be ignored. A null or empty list means only match against labelSelector. + + + This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default). items: type: string type: array x-kubernetes-list-type: atomic maxSkew: - description: 'MaxSkew describes the degree - to which pods may be unevenly distributed. - When `whenUnsatisfiable=DoNotSchedule`, - it is the maximum permitted difference - between the number of matching pods in - the target topology and the global minimum. - The global minimum is the minimum number - of matching pods in an eligible domain - or zero if the number of eligible domains - is less than MinDomains. For example, - in a 3-zone cluster, MaxSkew is set to - 1, and pods with the same labelSelector - spread as 2/2/1: In this case, the global - minimum is 1. | zone1 | zone2 | zone3 - | | P P | P P | P | - if MaxSkew - is 1, incoming pod can only be scheduled - to zone3 to become 2/2/2; scheduling it - onto zone1(zone2) would make the ActualSkew(3-1) - on zone1(zone2) violate MaxSkew(1). - - if MaxSkew is 2, incoming pod can be scheduled - onto any zone. When `whenUnsatisfiable=ScheduleAnyway`, - it is used to give higher precedence to - topologies that satisfy it. It''s a required - field. Default value is 1 and 0 is not - allowed.' + description: |- + MaxSkew describes the degree to which pods may be unevenly distributed. + When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference + between the number of matching pods in the target topology and the global minimum. + The global minimum is the minimum number of matching pods in an eligible domain + or zero if the number of eligible domains is less than MinDomains. + For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same + labelSelector spread as 2/2/1: + In this case, the global minimum is 1. + | zone1 | zone2 | zone3 | + | P P | P P | P | + - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2; + scheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2) + violate MaxSkew(1). + - if MaxSkew is 2, incoming pod can be scheduled onto any zone. + When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence + to topologies that satisfy it. + It's a required field. Default value is 1 and 0 is not allowed. format: int32 type: integer minDomains: - description: "MinDomains indicates a minimum - number of eligible domains. When the number - of eligible domains with matching topology - keys is less than minDomains, Pod Topology - Spread treats \"global minimum\" as 0, - and then the calculation of Skew is performed. - And when the number of eligible domains - with matching topology keys equals or - greater than minDomains, this value has - no effect on scheduling. As a result, - when the number of eligible domains is - less than minDomains, scheduler won't - schedule more than maxSkew Pods to those - domains. If value is nil, the constraint - behaves as if MinDomains is equal to 1. - Valid values are integers greater than - 0. When value is not nil, WhenUnsatisfiable - must be DoNotSchedule. \n For example, - in a 3-zone cluster, MaxSkew is set to - 2, MinDomains is set to 5 and pods with - the same labelSelector spread as 2/2/2: - | zone1 | zone2 | zone3 | | P P | P - P | P P | The number of domains is - less than 5(MinDomains), so \"global minimum\" - is treated as 0. In this situation, new - pod with the same labelSelector cannot - be scheduled, because computed skew will - be 3(3 - 0) if new Pod is scheduled to - any of the three zones, it will violate - MaxSkew. \n This is a beta field and requires - the MinDomainsInPodTopologySpread feature - gate to be enabled (enabled by default)." + description: |- + MinDomains indicates a minimum number of eligible domains. + When the number of eligible domains with matching topology keys is less than minDomains, + Pod Topology Spread treats "global minimum" as 0, and then the calculation of Skew is performed. + And when the number of eligible domains with matching topology keys equals or greater than minDomains, + this value has no effect on scheduling. + As a result, when the number of eligible domains is less than minDomains, + scheduler won't schedule more than maxSkew Pods to those domains. + If value is nil, the constraint behaves as if MinDomains is equal to 1. + Valid values are integers greater than 0. + When value is not nil, WhenUnsatisfiable must be DoNotSchedule. + + + For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same + labelSelector spread as 2/2/2: + | zone1 | zone2 | zone3 | + | P P | P P | P P | + The number of domains is less than 5(MinDomains), so "global minimum" is treated as 0. + In this situation, new pod with the same labelSelector cannot be scheduled, + because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones, + it will violate MaxSkew. + + + This is a beta field and requires the MinDomainsInPodTopologySpread feature gate to be enabled (enabled by default). format: int32 type: integer nodeAffinityPolicy: - description: "NodeAffinityPolicy indicates - how we will treat Pod's nodeAffinity/nodeSelector - when calculating pod topology spread skew. - Options are: - Honor: only nodes matching - nodeAffinity/nodeSelector are included - in the calculations. - Ignore: nodeAffinity/nodeSelector - are ignored. All nodes are included in - the calculations. \n If this value is - nil, the behavior is equivalent to the - Honor policy. This is a beta-level feature - default enabled by the NodeInclusionPolicyInPodTopologySpread - feature flag." + description: |- + NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector + when calculating pod topology spread skew. Options are: + - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations. + - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations. + + + If this value is nil, the behavior is equivalent to the Honor policy. + This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. type: string nodeTaintsPolicy: - description: "NodeTaintsPolicy indicates - how we will treat node taints when calculating + description: |- + NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew. Options are: - - Honor: nodes without taints, along with - tainted nodes for which the incoming pod - has a toleration, are included. - Ignore: - node taints are ignored. All nodes are - included. \n If this value is nil, the - behavior is equivalent to the Ignore policy. - This is a beta-level feature default enabled - by the NodeInclusionPolicyInPodTopologySpread - feature flag." + - Honor: nodes without taints, along with tainted nodes for which the incoming pod + has a toleration, are included. + - Ignore: node taints are ignored. All nodes are included. + + + If this value is nil, the behavior is equivalent to the Ignore policy. + This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. type: string topologyKey: - description: TopologyKey is the key of node - labels. Nodes that have a label with this - key and identical values are considered - to be in the same topology. We consider - each as a "bucket", and try - to put balanced number of pods into each - bucket. We define a domain as a particular - instance of a topology. Also, we define - an eligible domain as a domain whose nodes - meet the requirements of nodeAffinityPolicy - and nodeTaintsPolicy. e.g. If TopologyKey - is "kubernetes.io/hostname", each Node - is a domain of that topology. And, if - TopologyKey is "topology.kubernetes.io/zone", - each zone is a domain of that topology. + description: |- + TopologyKey is the key of node labels. Nodes that have a label with this key + and identical values are considered to be in the same topology. + We consider each as a "bucket", and try to put balanced number + of pods into each bucket. + We define a domain as a particular instance of a topology. + Also, we define an eligible domain as a domain whose nodes meet the requirements of + nodeAffinityPolicy and nodeTaintsPolicy. + e.g. If TopologyKey is "kubernetes.io/hostname", each Node is a domain of that topology. + And, if TopologyKey is "topology.kubernetes.io/zone", each zone is a domain of that topology. It's a required field. type: string whenUnsatisfiable: - description: 'WhenUnsatisfiable indicates - how to deal with a pod if it doesn''t - satisfy the spread constraint. - DoNotSchedule - (default) tells the scheduler not to schedule - it. - ScheduleAnyway tells the scheduler - to schedule the pod in any location, but - giving higher precedence to topologies - that would help reduce the skew. A constraint - is considered "Unsatisfiable" for an incoming - pod if and only if every possible node - assignment for that pod would violate - "MaxSkew" on some topology. For example, - in a 3-zone cluster, MaxSkew is set to - 1, and pods with the same labelSelector - spread as 3/1/1: | zone1 | zone2 | zone3 - | | P P P | P | P | If WhenUnsatisfiable - is set to DoNotSchedule, incoming pod - can only be scheduled to zone2(zone3) - to become 3/2/1(3/1/2) as ActualSkew(2-1) - on zone2(zone3) satisfies MaxSkew(1). - In other words, the cluster can still - be imbalanced, but scheduler won''t make - it *more* imbalanced. It''s a required - field.' + description: |- + WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy + the spread constraint. + - DoNotSchedule (default) tells the scheduler not to schedule it. + - ScheduleAnyway tells the scheduler to schedule the pod in any location, + but giving higher precedence to topologies that would help reduce the + skew. + A constraint is considered "Unsatisfiable" for an incoming pod + if and only if every possible node assignment for that pod would violate + "MaxSkew" on some topology. + For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same + labelSelector spread as 3/1/1: + | zone1 | zone2 | zone3 | + | P P P | P | P | + If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled + to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies + MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler + won't make it *more* imbalanced. + It's a required field. type: string required: - maxSkew @@ -2930,10 +2395,10 @@ spec: nullable: true properties: devices: - description: List of devices to use as storage devices - A list of individual device names belonging to this - node to include in the storage cluster e.g. `sda` - or `/dev/disk/by-id/ata-XXXX` + description: |- + List of devices to use as storage devices + A list of individual device names belonging to this node to include in the storage cluster + e.g. `sda` or `/dev/disk/by-id/ata-XXXX` items: description: Device represents a disk to use in the cluster @@ -2952,17 +2417,16 @@ spec: x-kubernetes-preserve-unknown-fields: true nodes: items: - description: Each individual node can specify configuration - to override the cluster level settings and defaults. - If a node does not specify any configuration then - it will inherit the cluster level settings. + description: |- + Each individual node can specify configuration to override the cluster level settings and defaults. + If a node does not specify any configuration then it will inherit the cluster level settings. nullable: true properties: devices: - description: List of devices to use as storage - devices A list of individual device names - belonging to this node to include in the storage - cluster e.g. `sda` or `/dev/disk/by-id/ata-XXXX` + description: |- + List of devices to use as storage devices + A list of individual device names belonging to this node to include in the storage cluster + e.g. `sda` or `/dev/disk/by-id/ata-XXXX` items: description: Device represents a disk to use in the cluster @@ -2988,11 +2452,9 @@ spec: nullable: true type: array useAllNodes: - description: indicating if all nodes in the cluster - should be used for storage according to the cluster - level storage selection and configuration values. - If individual nodes are specified under the nodes - field, then useAllNodes must be set to false. + description: |- + indicating if all nodes in the cluster should be used for storage according to the cluster level storage selection and configuration values. + If individual nodes are specified under the nodes field, then useAllNodes must be set to false. type: boolean type: object type: object @@ -3004,40 +2466,57 @@ spec: rollout engine. properties: chart: - description: "Chart defines the helm chart config of the flagger. - default value is \n ```yaml chart: repository: oci://ghcr.io/fluxcd/charts - name: flagger version: 1.x ```" + description: |- + Chart defines the helm chart config of the flagger. + default value is + + + ```yaml + chart: + repository: oci://ghcr.io/fluxcd/charts + name: flagger + version: 1.x + ``` properties: name: - description: Name defines the name of the chart. Default - value depends on the kind of the component. + description: |- + Name defines the name of the chart. + Default value depends on the kind of the component. type: string repository: - description: Repository defines the repository of chart. + description: |- + Repository defines the repository of chart. Default value depends on the kind of the component. type: string version: - description: Version defines the version of the chart. + description: |- + Version defines the version of the chart. Default value depends on the kind of the component. type: string type: object extraArgs: - description: "ExtraArgs is the set of extra arguments for - flagger chart. For Example, using following configuration - to change replica count. \n ```yaml extraArgs: flagger: - replicaCount: 2 ```" + description: |- + ExtraArgs is the set of extra arguments for flagger chart. + For Example, using following configuration to change replica count. + + + ```yaml + extraArgs: + flagger: + replicaCount: 2 + ``` x-kubernetes-preserve-unknown-fields: true publicTestloader: - description: PublicTestloader defines whether to install the - publictestloader or not. In addition to the public testloader - you can configure here, you can also specify a private testloader - in the Application.Spec.SyncPolicies.Rollout.TestLoader + description: |- + PublicTestloader defines whether to install the publictestloader or not. + In addition to the public testloader you can configure here, + you can also specify a private testloader in the Application.Spec.SyncPolicies.Rollout.TestLoader type: boolean trafficRoutingProvider: - description: TrafficRoutingProvider defines traffic routing - provider. And Kurator will install flagger in trafficRoutingProvider's - namespace For example, If you use `istio` as a provider, - flager will be installed in istio's namespace `istio-system`. + description: |- + TrafficRoutingProvider defines traffic routing provider. + And Kurator will install flagger in trafficRoutingProvider's namespace + For example, If you use `istio` as a provider, flager will be installed in istio's namespace `istio-system`. Other provider will be added later. type: string type: object @@ -3046,28 +2525,45 @@ spec: installation and observation. properties: chart: - description: "Chart defines the helm chart config of the grafana. - default value is \n ```yaml chart: repository: oci://registry-1.docker.io/bitnamicharts - name: grafana version: 8.2.33 ```" + description: |- + Chart defines the helm chart config of the grafana. + default value is + + + ```yaml + chart: + repository: oci://registry-1.docker.io/bitnamicharts + name: grafana + version: 8.2.33 + ``` properties: name: - description: Name defines the name of the chart. Default - value depends on the kind of the component. + description: |- + Name defines the name of the chart. + Default value depends on the kind of the component. type: string repository: - description: Repository defines the repository of chart. + description: |- + Repository defines the repository of chart. Default value depends on the kind of the component. type: string version: - description: Version defines the version of the chart. + description: |- + Version defines the version of the chart. Default value depends on the kind of the component. type: string type: object extraArgs: - description: "ExtraArgs is the set of extra arguments for - Grafana chart. For Example, using following configuration - to change replica count. \n ```yaml extraArgs: grafana: - replicaCount: 2 ```" + description: |- + ExtraArgs is the set of extra arguments for Grafana chart. + For Example, using following configuration to change replica count. + + + ```yaml + extraArgs: + grafana: + replicaCount: 2 + ``` x-kubernetes-preserve-unknown-fields: true type: object metric: @@ -3075,37 +2571,52 @@ spec: system installation and metrics collection.. properties: prometheus: - description: Prometheus defines the configuration for the - prometheus installation in the clusters observed by the - thanos, by default thanos sidecar will be installed in thanos - sidecar mode. + description: |- + Prometheus defines the configuration for the prometheus installation + in the clusters observed by the thanos, + by default thanos sidecar will be installed in thanos sidecar mode. properties: chart: - description: "Chart defines the helm chart config of the - prometheus. default value is \n ```yaml chart: repository: - oci://registry-1.docker.io/bitnamicharts name: kube-prometheus - version: 8.9.1 ```" + description: |- + Chart defines the helm chart config of the prometheus. + default value is + + + ```yaml + chart: + repository: oci://registry-1.docker.io/bitnamicharts + name: kube-prometheus + version: 8.9.1 + ``` properties: name: - description: Name defines the name of the chart. Default - value depends on the kind of the component. + description: |- + Name defines the name of the chart. + Default value depends on the kind of the component. type: string repository: - description: Repository defines the repository of - chart. Default value depends on the kind of the - component. + description: |- + Repository defines the repository of chart. + Default value depends on the kind of the component. type: string version: - description: Version defines the version of the chart. + description: |- + Version defines the version of the chart. Default value depends on the kind of the component. type: string type: object extraArgs: - description: "ExtraArgs is the set of extra arguments - for Prometheus chart. For Example, using following configuration - to create a ServiceMonitor to monitor prometheus itself. - \n ```yaml extraArgs: prometheus: serviceMonitor: enabled: - true ```" + description: |- + ExtraArgs is the set of extra arguments for Prometheus chart. + For Example, using following configuration to create a ServiceMonitor to monitor prometheus itself. + + + ```yaml + extraArgs: + prometheus: + serviceMonitor: + enabled: true + ``` x-kubernetes-preserve-unknown-fields: true kubeStateMetrics: description: KubeStateMetrics defines the configuration @@ -3131,40 +2642,55 @@ spec: querier and store gateway. properties: chart: - description: "Chart defines the helm chart config of the - thanos. default value is \n ```yaml chart: repository: - oci://registry-1.docker.io/bitnamicharts name: thanos - version: 12.5.1 ```" + description: |- + Chart defines the helm chart config of the thanos. + default value is + + + ```yaml + chart: + repository: oci://registry-1.docker.io/bitnamicharts + name: thanos + version: 12.5.1 + ``` properties: name: - description: Name defines the name of the chart. Default - value depends on the kind of the component. + description: |- + Name defines the name of the chart. + Default value depends on the kind of the component. type: string repository: - description: Repository defines the repository of - chart. Default value depends on the kind of the - component. + description: |- + Repository defines the repository of chart. + Default value depends on the kind of the component. type: string version: - description: Version defines the version of the chart. + description: |- + Version defines the version of the chart. Default value depends on the kind of the component. type: string type: object extraArgs: - description: "ExtraArgs is the set of extra arguments - for Thanos chart. For Example, using following configuration - to enable query frontend. \n ```yaml extraArgs: queryFrontend: - enabled: true ```" + description: |- + ExtraArgs is the set of extra arguments for Thanos chart. + For Example, using following configuration to enable query frontend. + + + ```yaml + extraArgs: + queryFrontend: + enabled: true + ``` x-kubernetes-preserve-unknown-fields: true objectStoreConfig: - description: 'ObjectStoreConfig is the secret reference - of the object store. Configuration must follow the definition - of the thanos: https://thanos.io/tip/thanos/storage.md/.' + description: |- + ObjectStoreConfig is the secret reference of the object store. + Configuration must follow the definition of the thanos: https://thanos.io/tip/thanos/storage.md/. properties: secretName: - description: SecretName is the name of the secret - that holds the object store configuration. The path - of object store configuration must be `objstore.yml` + description: |- + SecretName is the name of the secret that holds the object store configuration. + The path of object store configuration must be `objstore.yml` type: string required: - secretName @@ -3181,30 +2707,45 @@ spec: installation and policy management. properties: chart: - description: "Chart defines the helm chart config of the - kyverno. default value is \n ```yaml chart: repository: - https://kyverno.github.io/kyverno/ name: kyverno version: - 3.0.0 ```" + description: |- + Chart defines the helm chart config of the kyverno. + default value is + + + ```yaml + chart: + repository: https://kyverno.github.io/kyverno/ + name: kyverno + version: 3.0.0 + ``` properties: name: - description: Name defines the name of the chart. Default - value depends on the kind of the component. + description: |- + Name defines the name of the chart. + Default value depends on the kind of the component. type: string repository: - description: Repository defines the repository of - chart. Default value depends on the kind of the - component. + description: |- + Repository defines the repository of chart. + Default value depends on the kind of the component. type: string version: - description: Version defines the version of the chart. + description: |- + Version defines the version of the chart. Default value depends on the kind of the component. type: string type: object extraArgs: - description: "ExtraArgs is the set of extra arguments - for Grafana chart. For Example, using following configuration - to change image pull policy. \n ```yaml extraArgs: image: - pullPolicy: Always ```" + description: |- + ExtraArgs is the set of extra arguments for Grafana chart. + For Example, using following configuration to change image pull policy. + + + ```yaml + extraArgs: + image: + pullPolicy: Always + ``` x-kubernetes-preserve-unknown-fields: true podSecurity: description: PodSecurity defines the pod security configuration @@ -3221,8 +2762,9 @@ spec: type: string standard: default: baseline - description: 'Standard defines the pod security standard. - More details: https://kubernetes.io/docs/concepts/security/pod-security-standards' + description: |- + Standard defines the pod security standard. + More details: https://kubernetes.io/docs/concepts/security/pod-security-standards enum: - privileged - baseline @@ -3230,8 +2772,8 @@ spec: type: string validationFailureAction: default: Audit - description: ValidationFailureAction indicates the - action to take when a pod creation fails to validate. + description: |- + ValidationFailureAction indicates the action to take when a pod creation fails to validate. For more info https://kyverno.io/docs/writing-policies/validate/#validation-failure-action enum: - Enforce @@ -3250,8 +2792,9 @@ spec: used for accessing the fleet control plane. type: string phase: - description: Phase represents the current phase of fleet. E.g. Pending, - Running, Terminating, Failed, Ready, etc. + description: |- + Phase represents the current phase of fleet. + E.g. Pending, Running, Terminating, Failed, Ready, etc. type: string pluginEndpoints: additionalProperties: @@ -3278,9 +2821,3 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/manifests/charts/fleet-manager/crds/pipeline.kurator.dev_pipelines.yaml b/manifests/charts/fleet-manager/crds/pipeline.kurator.dev_pipelines.yaml index b9378b56e..590830ee3 100644 --- a/manifests/charts/fleet-manager/crds/pipeline.kurator.dev_pipelines.yaml +++ b/manifests/charts/fleet-manager/crds/pipeline.kurator.dev_pipelines.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.8.0 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.14.0 name: pipelines.pipeline.kurator.dev spec: group: pipeline.kurator.dev @@ -23,14 +22,19 @@ spec: description: Pipeline is the top-level type for Kurator CI Pipeline. 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' + 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' + 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 @@ -42,74 +46,75 @@ spec: of the pipeline. type: string sharedWorkspace: - description: SharedWorkspace is the config of the PVC where task using - The PersistentVolumeClaim with this config will be created for each - pipeline execution it allows the user to specify e.g. size and StorageClass - for the volume. If not set, Kurator will create a PVC named Pipeline.name - using default config + description: |- + SharedWorkspace is the config of the PVC where task using + The PersistentVolumeClaim with this config will be created for each pipeline execution + it allows the user to specify e.g. size and StorageClass for the volume. + If not set, Kurator will create a PVC named Pipeline.name using default config properties: accessMode: - description: AccessMode determines the access modes for the volume, - e.g., ReadWriteOnce. This affects how the volume can be mounted. - "ReadWriteOnce" can be mounted in read/write mode to exactly - 1 host "ReadOnlyMany" can be mounted in read-only mode to many - hosts "ReadWriteMany" can be mounted in read/write mode to many - hosts "ReadWriteOncePod" can be mounted in read/write mode to - exactly 1 pod, cannot be used in combination with other access - modes + description: |- + AccessMode determines the access modes for the volume, e.g., ReadWriteOnce. + This affects how the volume can be mounted. + "ReadWriteOnce" can be mounted in read/write mode to exactly 1 host + "ReadOnlyMany" can be mounted in read-only mode to many hosts + "ReadWriteMany" can be mounted in read/write mode to many hosts + "ReadWriteOncePod" can be mounted in read/write mode to exactly 1 pod, cannot be used in combination with other access modes type: string storageClassName: - description: StorageClassName specifies the StorageClass name - to which this persistent volume belongs, e.g., manual. It allows - the PVC to use the characteristics defined by the StorageClass. + description: |- + StorageClassName specifies the StorageClass name to which this persistent volume belongs, e.g., manual. + It allows the PVC to use the characteristics defined by the StorageClass. type: string storageRequest: - description: StorageRequest defines the storage size required - for this PVC, e.g., 1Gi, 100Mi. It specifies the storage capacity - needed as part of ResourceRequirements. + description: |- + StorageRequest defines the storage size required for this PVC, e.g., 1Gi, 100Mi. + It specifies the storage capacity needed as part of ResourceRequirements. pattern: ^[0-9]+(\.[0-9]+)?(Gi|Mi)$ type: string volumeMode: - description: VolumeMode specifies whether the volume should be - used with a formatted filesystem (Filesystem) or remain in raw - block state (Block). The Filesystem value is implied when not - included. "Block" means the volume will not be formatted with - a filesystem and will remain a raw block device. "Filesystem" means - the volume will be or is formatted with a filesystem. + description: |- + VolumeMode specifies whether the volume should be used with a formatted filesystem (Filesystem) + or remain in raw block state (Block). The Filesystem value is implied when not included. + "Block" means the volume will not be formatted with a filesystem and will remain a raw block device. + "Filesystem" means the volume will be or is formatted with a filesystem. type: string type: object tasks: - description: Tasks is an ordered list of tasks in the pipeline, containing - detailed information about each task. The tasks will be executed - in the order they are listed. + description: |- + Tasks is an ordered list of tasks in the pipeline, containing detailed information about each task. + The tasks will be executed in the order they are listed. items: properties: customTask: - description: CustomTask enables defining a task directly within - the CRD if TaskRef is not used. This should only be used when - TaskRef is not provided. + description: |- + CustomTask enables defining a task directly within the CRD if TaskRef is not used. + This should only be used when TaskRef is not provided. properties: args: - description: 'Args are the arguments for the entrypoint. - If not provided, the image''s CMD is used. Supports environment - variable expansion in the format $(VAR_NAME). More info: - https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' + description: |- + Args are the arguments for the entrypoint. + If not provided, the image's CMD is used. + Supports environment variable expansion in the format $(VAR_NAME). + More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell items: type: string type: array x-kubernetes-list-type: atomic command: - description: 'Command is the entrypoint array. It''s not - executed in a shell. If not provided, the image''s ENTRYPOINT - is used. Environment variables can be used in the format - $(VAR_NAME). More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' + description: |- + Command is the entrypoint array. It's not executed in a shell. + If not provided, the image's ENTRYPOINT is used. + Environment variables can be used in the format $(VAR_NAME). + More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell items: type: string type: array x-kubernetes-list-type: atomic env: - description: List of environment variables to set in the - Step. Cannot be updated. + description: |- + List of environment variables to set in the Step. + Cannot be updated. items: description: EnvVar represents an environment variable present in a Container. @@ -119,17 +124,16 @@ spec: be a C_IDENTIFIER. type: string value: - description: 'Variable references $(VAR_NAME) are - expanded using the previously defined environment - variables in the container and any service environment - variables. If a variable cannot be resolved, the - reference in the input string will be unchanged. - Double $$ are reduced to a single $, which allows - for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" - will produce the string literal "$(VAR_NAME)". Escaped - references will never be expanded, regardless of - whether the variable exists or not. Defaults to - "".' + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". type: string valueFrom: description: Source for the environment variable's @@ -142,10 +146,10 @@ spec: description: The key to select. type: string name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? type: string optional: description: Specify whether the ConfigMap @@ -154,12 +158,11 @@ spec: required: - key type: object + x-kubernetes-map-type: atomic fieldRef: - description: 'Selects a field of the pod: supports - metadata.name, metadata.namespace, `metadata.labels['''']`, - `metadata.annotations['''']`, spec.nodeName, - spec.serviceAccountName, status.hostIP, status.podIP, - status.podIPs.' + description: |- + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. properties: apiVersion: description: Version of the schema the FieldPath @@ -172,12 +175,11 @@ spec: required: - fieldPath type: object + x-kubernetes-map-type: atomic resourceFieldRef: - description: 'Selects a resource of the container: - only resources limits and requests (limits.cpu, - limits.memory, limits.ephemeral-storage, requests.cpu, - requests.memory and requests.ephemeral-storage) - are currently supported.' + description: |- + Selects a resource of the container: only resources limits and requests + (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. properties: containerName: description: 'Container name: required for @@ -197,6 +199,7 @@ spec: required: - resource type: object + x-kubernetes-map-type: atomic secretKeyRef: description: Selects a key of a secret in the pod's namespace @@ -206,10 +209,10 @@ spec: from. Must be a valid secret key. type: string name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, - kind, uid?' + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? type: string optional: description: Specify whether the Secret or @@ -218,6 +221,7 @@ spec: required: - key type: object + x-kubernetes-map-type: atomic type: object required: - name @@ -225,27 +229,35 @@ spec: type: array x-kubernetes-list-type: atomic image: - description: 'Image specifies the Docker image name. More - info: https://kubernetes.io/docs/concepts/containers/images' + description: |- + Image specifies the Docker image name. + More info: https://kubernetes.io/docs/concepts/containers/images type: string resourceRequirements: - description: 'ResourceRequirements required by this Step. - Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + ResourceRequirements required by this Step. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ properties: claims: - description: "Claims lists the names of resources, defined - in spec.resourceClaims, that are used by this container. - \n This is an alpha field and requires enabling the - DynamicResourceAllocation feature gate. \n This field - is immutable. It can only be set for containers." + description: |- + Claims lists the names of resources, defined in spec.resourceClaims, + that are used by this container. + + + This is an alpha field and requires enabling the + DynamicResourceAllocation feature gate. + + + This field is immutable. It can only be set for containers. items: description: ResourceClaim references one entry in PodSpec.ResourceClaims. properties: name: - description: Name must match the name of one entry - in pod.spec.resourceClaims of the Pod where - this field is used. It makes that resource available + description: |- + Name must match the name of one entry in pod.spec.resourceClaims of + the Pod where this field is used. It makes that resource available inside a container. type: string required: @@ -262,8 +274,9 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount of - compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object requests: additionalProperties: @@ -272,45 +285,46 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount - of compute resources required. If Requests is omitted - for a container, it defaults to Limits if that is - explicitly specified, otherwise to an implementation-defined - value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Requests describes the minimum amount of compute resources required. + If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + otherwise to an implementation-defined value. Requests cannot exceed Limits. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object type: object script: - description: Script is the contents of an executable file - to execute. If Script is not empty, the CustomTask cannot - have a Command and the Args will be passed to the Script. + description: |- + Script is the contents of an executable file to execute. + If Script is not empty, the CustomTask cannot have a Command and the Args will be passed to the Script. type: string type: object name: description: Name is the name of the task. type: string predefinedTask: - description: PredefinedTask allows users to select a predefined - task. Users can choose a predefined task from a set list and - fill in their own parameters. + description: |- + PredefinedTask allows users to select a predefined task. + Users can choose a predefined task from a set list and fill in their own parameters. properties: name: - description: Name specifies the predefined task template - to be used. This field is required to select the appropriate - PredefinedTask. + description: |- + Name specifies the predefined task template to be used. + This field is required to select the appropriate PredefinedTask. type: string params: additionalProperties: type: string - description: Params contains key-value pairs for task-specific - parameters. The required parameters vary depending on - the TaskType chosen. + description: |- + Params contains key-value pairs for task-specific parameters. + The required parameters vary depending on the TaskType chosen. type: object required: - name type: object retries: - description: Retries represents how many times this task should - be retried in case of task failure. default values is zero. + description: |- + Retries represents how many times this task should be retried in case of task failure. + default values is zero. type: integer required: - name @@ -322,9 +336,9 @@ spec: status: properties: eventListenerServiceName: - description: EventListenerServiceName specifies the name of the service - created by Kurator for event listeners. This name is useful for - users when setting up a gateway service and routing to this service. + description: |- + EventListenerServiceName specifies the name of the service created by Kurator for event listeners. + This name is useful for users when setting up a gateway service and routing to this service. type: string phase: description: Phase describes the overall state of the Pipeline. @@ -337,9 +351,3 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: []