| apiVersion: v1 |
| kind: Namespace |
| metadata: |
| labels: |
| cluster.x-k8s.io/provider: cluster-api |
| clusterctl.cluster.x-k8s.io: "" |
| control-plane: controller-manager |
| name: capi-system |
| --- |
| apiVersion: apiextensions.k8s.io/v1 |
| kind: CustomResourceDefinition |
| metadata: |
| annotations: |
| cert-manager.io/inject-ca-from: capi-system/capi-serving-cert |
| controller-gen.kubebuilder.io/version: v0.10.0 |
| creationTimestamp: null |
| labels: |
| cluster.x-k8s.io/provider: cluster-api |
| clusterctl.cluster.x-k8s.io: "" |
| name: clusterclasses.cluster.x-k8s.io |
| spec: |
| conversion: |
| strategy: Webhook |
| webhook: |
| clientConfig: |
| caBundle: Cg== |
| service: |
| name: capi-webhook-service |
| namespace: capi-system |
| path: /convert |
| conversionReviewVersions: |
| - v1 |
| - v1beta1 |
| group: cluster.x-k8s.io |
| names: |
| categories: |
| - cluster-api |
| kind: ClusterClass |
| listKind: ClusterClassList |
| plural: clusterclasses |
| shortNames: |
| - cc |
| singular: clusterclass |
| scope: Namespaced |
| versions: |
| - additionalPrinterColumns: |
| - description: Time duration since creation of ClusterClass |
| jsonPath: .metadata.creationTimestamp |
| name: Age |
| type: date |
| name: v1alpha4 |
| schema: |
| openAPIV3Schema: |
| description: ClusterClass is a template which can be used to create managed |
| topologies. |
| properties: |
| apiVersion: |
| description: 'APIVersion defines the versioned schema of this representation |
| of an object. Servers should convert recognized schemas to the latest |
| internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' |
| type: string |
| kind: |
| description: 'Kind is a string value representing the REST resource this |
| object represents. Servers may infer this from the endpoint the client |
| submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| metadata: |
| type: object |
| spec: |
| description: ClusterClassSpec describes the desired state of the ClusterClass. |
| properties: |
| controlPlane: |
| description: ControlPlane is a reference to a local struct that holds |
| the details for provisioning the Control Plane for the Cluster. |
| properties: |
| machineInfrastructure: |
| description: "MachineTemplate defines the metadata and infrastructure |
| information for control plane machines. \n This field is supported |
| if and only if the control plane provider template referenced |
| above is Machine based and supports setting replicas." |
| properties: |
| ref: |
| description: Ref is a required reference to a custom resource |
| offered by a provider. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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: |
| - ref |
| type: object |
| metadata: |
| description: "Metadata is the metadata applied to the machines |
| of the ControlPlane. At runtime this metadata is merged with |
| the corresponding metadata from the topology. \n This field |
| is supported if and only if the control plane provider template |
| referenced is Machine based." |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: 'Annotations is an unstructured key value map |
| stored with a resource that may be set by external tools |
| to store and retrieve arbitrary metadata. They are not queryable |
| and should be preserved when modifying objects. More info: |
| http://kubernetes.io/docs/user-guide/annotations' |
| type: object |
| labels: |
| additionalProperties: |
| type: string |
| description: 'Map of string keys and values that can be used |
| to organize and categorize (scope and select) objects. May |
| match selectors of replication controllers and services. |
| More info: http://kubernetes.io/docs/user-guide/labels' |
| type: object |
| type: object |
| ref: |
| description: Ref is a required reference to a custom resource |
| offered by a provider. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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: |
| - ref |
| type: object |
| infrastructure: |
| description: Infrastructure is a reference to a provider-specific |
| template that holds the details for provisioning infrastructure |
| specific cluster for the underlying provider. The underlying provider |
| is responsible for the implementation of the template to an infrastructure |
| cluster. |
| properties: |
| ref: |
| description: Ref is a required reference to a custom resource |
| offered by a provider. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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: |
| - ref |
| type: object |
| workers: |
| description: Workers describes the worker nodes for the cluster. It |
| is a collection of node types which can be used to create the worker |
| nodes of the cluster. |
| properties: |
| machineDeployments: |
| description: MachineDeployments is a list of machine deployment |
| classes that can be used to create a set of worker nodes. |
| items: |
| description: MachineDeploymentClass serves as a template to |
| define a set of worker nodes of the cluster provisioned using |
| the `ClusterClass`. |
| properties: |
| class: |
| description: Class denotes a type of worker node present |
| in the cluster, this name MUST be unique within a ClusterClass |
| and can be referenced in the Cluster to create a managed |
| MachineDeployment. |
| type: string |
| template: |
| description: Template is a local struct containing a collection |
| of templates for creation of MachineDeployment objects |
| representing a set of worker nodes. |
| properties: |
| bootstrap: |
| description: Bootstrap contains the bootstrap template |
| reference to be used for the creation of worker Machines. |
| properties: |
| ref: |
| description: Ref is a required reference to a custom |
| resource offered by a provider. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: |
| https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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: |
| - ref |
| type: object |
| infrastructure: |
| description: Infrastructure contains the infrastructure |
| template reference to be used for the creation of |
| worker Machines. |
| properties: |
| ref: |
| description: Ref is a required reference to a custom |
| resource offered by a provider. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: |
| https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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: |
| - ref |
| type: object |
| metadata: |
| description: Metadata is the metadata applied to the |
| machines of the MachineDeployment. At runtime this |
| metadata is merged with the corresponding metadata |
| from the topology. |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: 'Annotations is an unstructured key |
| value map stored with a resource that may be set |
| by external tools to store and retrieve arbitrary |
| metadata. They are not queryable and should be |
| preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' |
| type: object |
| labels: |
| additionalProperties: |
| type: string |
| description: 'Map of string keys and values that |
| can be used to organize and categorize (scope |
| and select) objects. May match selectors of replication |
| controllers and services. More info: http://kubernetes.io/docs/user-guide/labels' |
| type: object |
| type: object |
| required: |
| - bootstrap |
| - infrastructure |
| type: object |
| required: |
| - class |
| - template |
| type: object |
| type: array |
| type: object |
| type: object |
| type: object |
| served: true |
| storage: false |
| subresources: {} |
| - additionalPrinterColumns: |
| - description: Time duration since creation of ClusterClass |
| jsonPath: .metadata.creationTimestamp |
| name: Age |
| type: date |
| name: v1beta1 |
| schema: |
| openAPIV3Schema: |
| description: ClusterClass is a template which can be used to create managed |
| topologies. |
| properties: |
| apiVersion: |
| description: 'APIVersion defines the versioned schema of this representation |
| of an object. Servers should convert recognized schemas to the latest |
| internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' |
| type: string |
| kind: |
| description: 'Kind is a string value representing the REST resource this |
| object represents. Servers may infer this from the endpoint the client |
| submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| metadata: |
| type: object |
| spec: |
| description: ClusterClassSpec describes the desired state of the ClusterClass. |
| properties: |
| controlPlane: |
| description: ControlPlane is a reference to a local struct that holds |
| the details for provisioning the Control Plane for the Cluster. |
| properties: |
| machineHealthCheck: |
| description: MachineHealthCheck defines a MachineHealthCheck for |
| this ControlPlaneClass. This field is supported if and only |
| if the ControlPlane provider template referenced above is Machine |
| based and supports setting replicas. |
| properties: |
| maxUnhealthy: |
| anyOf: |
| - type: integer |
| - type: string |
| description: Any further remediation is only allowed if at |
| most "MaxUnhealthy" machines selected by "selector" are |
| not healthy. |
| x-kubernetes-int-or-string: true |
| nodeStartupTimeout: |
| description: Machines older than this duration without a node |
| will be considered to have failed and will be remediated. |
| If you wish to disable this feature, set the value explicitly |
| to 0. |
| type: string |
| remediationTemplate: |
| description: "RemediationTemplate is a reference to a remediation |
| template provided by an infrastructure provider. \n This |
| field is completely optional, when filled, the MachineHealthCheck |
| controller creates a new object from the template referenced |
| and hands off remediation of the machine to a controller |
| that lives outside of Cluster API." |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| unhealthyConditions: |
| description: UnhealthyConditions contains a list of the conditions |
| that determine whether a node is considered unhealthy. The |
| conditions are combined in a logical OR, i.e. if any of |
| the conditions is met, the node is unhealthy. |
| items: |
| description: UnhealthyCondition represents a Node condition |
| type and value with a timeout specified as a duration. When |
| the named condition has been in the given status for at |
| least the timeout value, a node is considered unhealthy. |
| properties: |
| status: |
| minLength: 1 |
| type: string |
| timeout: |
| type: string |
| type: |
| minLength: 1 |
| type: string |
| required: |
| - status |
| - timeout |
| - type |
| type: object |
| type: array |
| unhealthyRange: |
| description: 'Any further remediation is only allowed if the |
| number of machines selected by "selector" as not healthy |
| is within the range of "UnhealthyRange". Takes precedence |
| over MaxUnhealthy. Eg. "[3-5]" - This means that remediation |
| will be allowed only when: (a) there are at least 3 unhealthy |
| machines (and) (b) there are at most 5 unhealthy machines' |
| pattern: ^\[[0-9]+-[0-9]+\]$ |
| type: string |
| type: object |
| machineInfrastructure: |
| description: "MachineInfrastructure defines the metadata and infrastructure |
| information for control plane machines. \n This field is supported |
| if and only if the control plane provider template referenced |
| above is Machine based and supports setting replicas." |
| properties: |
| ref: |
| description: Ref is a required reference to a custom resource |
| offered by a provider. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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: |
| - ref |
| type: object |
| metadata: |
| description: "Metadata is the metadata applied to the machines |
| of the ControlPlane. At runtime this metadata is merged with |
| the corresponding metadata from the topology. \n This field |
| is supported if and only if the control plane provider template |
| referenced is Machine based." |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: 'Annotations is an unstructured key value map |
| stored with a resource that may be set by external tools |
| to store and retrieve arbitrary metadata. They are not queryable |
| and should be preserved when modifying objects. More info: |
| http://kubernetes.io/docs/user-guide/annotations' |
| type: object |
| labels: |
| additionalProperties: |
| type: string |
| description: 'Map of string keys and values that can be used |
| to organize and categorize (scope and select) objects. May |
| match selectors of replication controllers and services. |
| More info: http://kubernetes.io/docs/user-guide/labels' |
| type: object |
| type: object |
| nodeDeletionTimeout: |
| description: 'NodeDeletionTimeout defines how long the controller |
| will attempt to delete the Node that the Machine hosts after |
| the Machine is marked for deletion. A duration of 0 will retry |
| deletion indefinitely. Defaults to 10 seconds. NOTE: This value |
| can be overridden while defining a Cluster.Topology.' |
| type: string |
| nodeDrainTimeout: |
| description: 'NodeDrainTimeout is the total amount of time that |
| the controller will spend on draining a node. The default value |
| is 0, meaning that the node can be drained without any time |
| limitations. NOTE: NodeDrainTimeout is different from `kubectl |
| drain --timeout` NOTE: This value can be overridden while defining |
| a Cluster.Topology.' |
| type: string |
| nodeVolumeDetachTimeout: |
| description: 'NodeVolumeDetachTimeout is the total amount of time |
| that the controller will spend on waiting for all volumes to |
| be detached. The default value is 0, meaning that the volumes |
| can be detached without any time limitations. NOTE: This value |
| can be overridden while defining a Cluster.Topology.' |
| type: string |
| ref: |
| description: Ref is a required reference to a custom resource |
| offered by a provider. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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: |
| - ref |
| type: object |
| infrastructure: |
| description: Infrastructure is a reference to a provider-specific |
| template that holds the details for provisioning infrastructure |
| specific cluster for the underlying provider. The underlying provider |
| is responsible for the implementation of the template to an infrastructure |
| cluster. |
| properties: |
| ref: |
| description: Ref is a required reference to a custom resource |
| offered by a provider. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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: |
| - ref |
| type: object |
| patches: |
| description: 'Patches defines the patches which are applied to customize |
| referenced templates of a ClusterClass. Note: Patches will be applied |
| in the order of the array.' |
| items: |
| description: ClusterClassPatch defines a patch which is applied |
| to customize the referenced templates. |
| properties: |
| definitions: |
| description: 'Definitions define inline patches. Note: Patches |
| will be applied in the order of the array. Note: Exactly one |
| of Definitions or External must be set.' |
| items: |
| description: PatchDefinition defines a patch which is applied |
| to customize the referenced templates. |
| properties: |
| jsonPatches: |
| description: 'JSONPatches defines the patches which should |
| be applied on the templates matching the selector. Note: |
| Patches will be applied in the order of the array.' |
| items: |
| description: JSONPatch defines a JSON patch. |
| properties: |
| op: |
| description: 'Op defines the operation of the patch. |
| Note: Only `add`, `replace` and `remove` are supported.' |
| type: string |
| path: |
| description: 'Path defines the path of the patch. |
| Note: Only the spec of a template can be patched, |
| thus the path has to start with /spec/. Note: |
| For now the only allowed array modifications are |
| `append` and `prepend`, i.e.: * for op: `add`: |
| only index 0 (prepend) and - (append) are allowed |
| * for op: `replace` or `remove`: no indexes are |
| allowed' |
| type: string |
| value: |
| description: 'Value defines the value of the patch. |
| Note: Either Value or ValueFrom is required for |
| add and replace operations. Only one of them is |
| allowed to be set at the same time. Note: We have |
| to use apiextensionsv1.JSON instead of our JSON |
| type, because controller-tools has a hard-coded |
| schema for apiextensionsv1.JSON which cannot be |
| produced by another type (unset type field). Ref: |
| https://github.com/kubernetes-sigs/controller-tools/blob/d0e03a142d0ecdd5491593e941ee1d6b5d91dba6/pkg/crd/known_types.go#L106-L111' |
| x-kubernetes-preserve-unknown-fields: true |
| valueFrom: |
| description: 'ValueFrom defines the value of the |
| patch. Note: Either Value or ValueFrom is required |
| for add and replace operations. Only one of them |
| is allowed to be set at the same time.' |
| properties: |
| template: |
| description: 'Template is the Go template to |
| be used to calculate the value. A template |
| can reference variables defined in .spec.variables |
| and builtin variables. Note: The template |
| must evaluate to a valid YAML or JSON value.' |
| type: string |
| variable: |
| description: Variable is the variable to be |
| used as value. Variable can be one of the |
| variables defined in .spec.variables or a |
| builtin variable. |
| type: string |
| type: object |
| required: |
| - op |
| - path |
| type: object |
| type: array |
| selector: |
| description: Selector defines on which templates the patch |
| should be applied. |
| properties: |
| apiVersion: |
| description: APIVersion filters templates by apiVersion. |
| type: string |
| kind: |
| description: Kind filters templates by kind. |
| type: string |
| matchResources: |
| description: MatchResources selects templates based |
| on where they are referenced. |
| properties: |
| controlPlane: |
| description: 'ControlPlane selects templates referenced |
| in .spec.ControlPlane. Note: this will match |
| the controlPlane and also the controlPlane machineInfrastructure |
| (depending on the kind and apiVersion).' |
| type: boolean |
| infrastructureCluster: |
| description: InfrastructureCluster selects templates |
| referenced in .spec.infrastructure. |
| type: boolean |
| machineDeploymentClass: |
| description: MachineDeploymentClass selects templates |
| referenced in specific MachineDeploymentClasses |
| in .spec.workers.machineDeployments. |
| properties: |
| names: |
| description: Names selects templates by class |
| names. |
| items: |
| type: string |
| type: array |
| type: object |
| type: object |
| required: |
| - apiVersion |
| - kind |
| - matchResources |
| type: object |
| required: |
| - jsonPatches |
| - selector |
| type: object |
| type: array |
| description: |
| description: Description is a human-readable description of |
| this patch. |
| type: string |
| enabledIf: |
| description: EnabledIf is a Go template to be used to calculate |
| if a patch should be enabled. It can reference variables defined |
| in .spec.variables and builtin variables. The patch will be |
| enabled if the template evaluates to `true`, otherwise it |
| will be disabled. If EnabledIf is not set, the patch will |
| be enabled per default. |
| type: string |
| external: |
| description: 'External defines an external patch. Note: Exactly |
| one of Definitions or External must be set.' |
| properties: |
| generateExtension: |
| description: GenerateExtension references an extension which |
| is called to generate patches. |
| type: string |
| validateExtension: |
| description: ValidateExtension references an extension which |
| is called to validate the topology. |
| type: string |
| type: object |
| name: |
| description: Name of the patch. |
| type: string |
| required: |
| - name |
| type: object |
| type: array |
| variables: |
| description: Variables defines the variables which can be configured |
| in the Cluster topology and are then used in patches. |
| items: |
| description: ClusterClassVariable defines a variable which can be |
| configured in the Cluster topology and used in patches. |
| properties: |
| name: |
| description: Name of the variable. |
| type: string |
| required: |
| description: 'Required specifies if the variable is required. |
| Note: this applies to the variable as a whole and thus the |
| top-level object defined in the schema. If nested fields are |
| required, this will be specified inside the schema.' |
| type: boolean |
| schema: |
| description: Schema defines the schema of the variable. |
| properties: |
| openAPIV3Schema: |
| description: OpenAPIV3Schema defines the schema of a variable |
| via OpenAPI v3 schema. The schema is a subset of the schema |
| used in Kubernetes CRDs. |
| properties: |
| additionalProperties: |
| description: 'AdditionalProperties specifies the schema |
| of values in a map (keys are always strings). NOTE: |
| Can only be set if type is object. NOTE: AdditionalProperties |
| is mutually exclusive with Properties. NOTE: This |
| field uses PreserveUnknownFields and Schemaless, because |
| recursive validation is not possible.' |
| x-kubernetes-preserve-unknown-fields: true |
| default: |
| description: 'Default is the default value of the variable. |
| NOTE: Can be set for all types.' |
| x-kubernetes-preserve-unknown-fields: true |
| description: |
| description: Description is a human-readable description |
| of this variable. |
| type: string |
| enum: |
| description: 'Enum is the list of valid values of the |
| variable. NOTE: Can be set for all types.' |
| items: |
| x-kubernetes-preserve-unknown-fields: true |
| type: array |
| example: |
| description: Example is an example for this variable. |
| x-kubernetes-preserve-unknown-fields: true |
| exclusiveMaximum: |
| description: 'ExclusiveMaximum specifies if the Maximum |
| is exclusive. NOTE: Can only be set if type is integer |
| or number.' |
| type: boolean |
| exclusiveMinimum: |
| description: 'ExclusiveMinimum specifies if the Minimum |
| is exclusive. NOTE: Can only be set if type is integer |
| or number.' |
| type: boolean |
| format: |
| description: 'Format is an OpenAPI v3 format string. |
| Unknown formats are ignored. For a list of supported |
| formats please see: (of the k8s.io/apiextensions-apiserver |
| version we''re currently using) https://github.com/kubernetes/apiextensions-apiserver/blob/master/pkg/apiserver/validation/formats.go |
| NOTE: Can only be set if type is string.' |
| type: string |
| items: |
| description: 'Items specifies fields of an array. NOTE: |
| Can only be set if type is array. NOTE: This field |
| uses PreserveUnknownFields and Schemaless, because |
| recursive validation is not possible.' |
| x-kubernetes-preserve-unknown-fields: true |
| maxItems: |
| description: 'MaxItems is the max length of an array |
| variable. NOTE: Can only be set if type is array.' |
| format: int64 |
| type: integer |
| maxLength: |
| description: 'MaxLength is the max length of a string |
| variable. NOTE: Can only be set if type is string.' |
| format: int64 |
| type: integer |
| maximum: |
| description: 'Maximum is the maximum of an integer or |
| number variable. If ExclusiveMaximum is false, the |
| variable is valid if it is lower than, or equal to, |
| the value of Maximum. If ExclusiveMaximum is true, |
| the variable is valid if it is strictly lower than |
| the value of Maximum. NOTE: Can only be set if type |
| is integer or number.' |
| format: int64 |
| type: integer |
| minItems: |
| description: 'MinItems is the min length of an array |
| variable. NOTE: Can only be set if type is array.' |
| format: int64 |
| type: integer |
| minLength: |
| description: 'MinLength is the min length of a string |
| variable. NOTE: Can only be set if type is string.' |
| format: int64 |
| type: integer |
| minimum: |
| description: 'Minimum is the minimum of an integer or |
| number variable. If ExclusiveMinimum is false, the |
| variable is valid if it is greater than, or equal |
| to, the value of Minimum. If ExclusiveMinimum is true, |
| the variable is valid if it is strictly greater than |
| the value of Minimum. NOTE: Can only be set if type |
| is integer or number.' |
| format: int64 |
| type: integer |
| pattern: |
| description: 'Pattern is the regex which a string variable |
| must match. NOTE: Can only be set if type is string.' |
| type: string |
| properties: |
| description: 'Properties specifies fields of an object. |
| NOTE: Can only be set if type is object. NOTE: Properties |
| is mutually exclusive with AdditionalProperties. NOTE: |
| This field uses PreserveUnknownFields and Schemaless, |
| because recursive validation is not possible.' |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| description: 'Required specifies which fields of an |
| object are required. NOTE: Can only be set if type |
| is object.' |
| items: |
| type: string |
| type: array |
| type: |
| description: 'Type is the type of the variable. Valid |
| values are: object, array, string, integer, number |
| or boolean.' |
| type: string |
| uniqueItems: |
| description: 'UniqueItems specifies if items in an array |
| must be unique. NOTE: Can only be set if type is array.' |
| type: boolean |
| x-kubernetes-preserve-unknown-fields: |
| description: XPreserveUnknownFields allows setting fields |
| in a variable object which are not defined in the |
| variable schema. This affects fields recursively, |
| except if nested properties or additionalProperties |
| are specified in the schema. |
| type: boolean |
| required: |
| - type |
| type: object |
| required: |
| - openAPIV3Schema |
| type: object |
| required: |
| - name |
| - required |
| - schema |
| type: object |
| type: array |
| workers: |
| description: Workers describes the worker nodes for the cluster. It |
| is a collection of node types which can be used to create the worker |
| nodes of the cluster. |
| properties: |
| machineDeployments: |
| description: MachineDeployments is a list of machine deployment |
| classes that can be used to create a set of worker nodes. |
| items: |
| description: MachineDeploymentClass serves as a template to |
| define a set of worker nodes of the cluster provisioned using |
| the `ClusterClass`. |
| properties: |
| class: |
| description: Class denotes a type of worker node present |
| in the cluster, this name MUST be unique within a ClusterClass |
| and can be referenced in the Cluster to create a managed |
| MachineDeployment. |
| type: string |
| failureDomain: |
| description: 'FailureDomain is the failure domain the machines |
| will be created in. Must match a key in the FailureDomains |
| map stored on the cluster object. NOTE: This value can |
| be overridden while defining a Cluster.Topology using |
| this MachineDeploymentClass.' |
| type: string |
| machineHealthCheck: |
| description: MachineHealthCheck defines a MachineHealthCheck |
| for this MachineDeploymentClass. |
| properties: |
| maxUnhealthy: |
| anyOf: |
| - type: integer |
| - type: string |
| description: Any further remediation is only allowed |
| if at most "MaxUnhealthy" machines selected by "selector" |
| are not healthy. |
| x-kubernetes-int-or-string: true |
| nodeStartupTimeout: |
| description: Machines older than this duration without |
| a node will be considered to have failed and will |
| be remediated. If you wish to disable this feature, |
| set the value explicitly to 0. |
| type: string |
| remediationTemplate: |
| description: "RemediationTemplate is a reference to |
| a remediation template provided by an infrastructure |
| provider. \n This field is completely optional, when |
| filled, the MachineHealthCheck controller creates |
| a new object from the template referenced and hands |
| off remediation of the machine to a controller that |
| lives outside of Cluster API." |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| unhealthyConditions: |
| description: UnhealthyConditions contains a list of |
| the conditions that determine whether a node is considered |
| unhealthy. The conditions are combined in a logical |
| OR, i.e. if any of the conditions is met, the node |
| is unhealthy. |
| items: |
| description: UnhealthyCondition represents a Node |
| condition type and value with a timeout specified |
| as a duration. When the named condition has been |
| in the given status for at least the timeout value, |
| a node is considered unhealthy. |
| properties: |
| status: |
| minLength: 1 |
| type: string |
| timeout: |
| type: string |
| type: |
| minLength: 1 |
| type: string |
| required: |
| - status |
| - timeout |
| - type |
| type: object |
| type: array |
| unhealthyRange: |
| description: 'Any further remediation is only allowed |
| if the number of machines selected by "selector" as |
| not healthy is within the range of "UnhealthyRange". |
| Takes precedence over MaxUnhealthy. Eg. "[3-5]" - |
| This means that remediation will be allowed only when: |
| (a) there are at least 3 unhealthy machines (and) |
| (b) there are at most 5 unhealthy machines' |
| pattern: ^\[[0-9]+-[0-9]+\]$ |
| type: string |
| type: object |
| minReadySeconds: |
| description: 'Minimum number of seconds for which a newly |
| created machine should be ready. Defaults to 0 (machine |
| will be considered available as soon as it is ready) NOTE: |
| This value can be overridden while defining a Cluster.Topology |
| using this MachineDeploymentClass.' |
| format: int32 |
| type: integer |
| nodeDeletionTimeout: |
| description: 'NodeDeletionTimeout defines how long the controller |
| will attempt to delete the Node that the Machine hosts |
| after the Machine is marked for deletion. A duration of |
| 0 will retry deletion indefinitely. Defaults to 10 seconds. |
| NOTE: This value can be overridden while defining a Cluster.Topology |
| using this MachineDeploymentClass.' |
| type: string |
| nodeDrainTimeout: |
| description: 'NodeDrainTimeout is the total amount of time |
| that the controller will spend on draining a node. The |
| default value is 0, meaning that the node can be drained |
| without any time limitations. NOTE: NodeDrainTimeout is |
| different from `kubectl drain --timeout` NOTE: This value |
| can be overridden while defining a Cluster.Topology using |
| this MachineDeploymentClass.' |
| type: string |
| nodeVolumeDetachTimeout: |
| description: 'NodeVolumeDetachTimeout is the total amount |
| of time that the controller will spend on waiting for |
| all volumes to be detached. The default value is 0, meaning |
| that the volumes can be detached without any time limitations. |
| NOTE: This value can be overridden while defining a Cluster.Topology |
| using this MachineDeploymentClass.' |
| type: string |
| strategy: |
| description: 'The deployment strategy to use to replace |
| existing machines with new ones. NOTE: This value can |
| be overridden while defining a Cluster.Topology using |
| this MachineDeploymentClass.' |
| properties: |
| rollingUpdate: |
| description: Rolling update config params. Present only |
| if MachineDeploymentStrategyType = RollingUpdate. |
| properties: |
| deletePolicy: |
| description: DeletePolicy defines the policy used |
| by the MachineDeployment to identify nodes to |
| delete when downscaling. Valid values are "Random, |
| "Newest", "Oldest" When no value is supplied, |
| the default DeletePolicy of MachineSet is used |
| enum: |
| - Random |
| - Newest |
| - Oldest |
| type: string |
| maxSurge: |
| anyOf: |
| - type: integer |
| - type: string |
| description: 'The maximum number of machines that |
| can be scheduled above the desired number of machines. |
| Value can be an absolute number (ex: 5) or a percentage |
| of desired machines (ex: 10%). This can not be |
| 0 if MaxUnavailable is 0. Absolute number is calculated |
| from percentage by rounding up. Defaults to 1. |
| Example: when this is set to 30%, the new MachineSet |
| can be scaled up immediately when the rolling |
| update starts, such that the total number of old |
| and new machines do not exceed 130% of desired |
| machines. Once old machines have been killed, |
| new MachineSet can be scaled up further, ensuring |
| that total number of machines running at any time |
| during the update is at most 130% of desired machines.' |
| x-kubernetes-int-or-string: true |
| maxUnavailable: |
| anyOf: |
| - type: integer |
| - type: string |
| description: 'The maximum number of machines that |
| can be unavailable during the update. Value can |
| be an absolute number (ex: 5) or a percentage |
| of desired machines (ex: 10%). Absolute number |
| is calculated from percentage by rounding down. |
| This can not be 0 if MaxSurge is 0. Defaults to |
| 0. Example: when this is set to 30%, the old MachineSet |
| can be scaled down to 70% of desired machines |
| immediately when the rolling update starts. Once |
| new machines are ready, old MachineSet can be |
| scaled down further, followed by scaling up the |
| new MachineSet, ensuring that the total number |
| of machines available at all times during the |
| update is at least 70% of desired machines.' |
| x-kubernetes-int-or-string: true |
| type: object |
| type: |
| description: Type of deployment. Default is RollingUpdate. |
| enum: |
| - RollingUpdate |
| - OnDelete |
| type: string |
| type: object |
| template: |
| description: Template is a local struct containing a collection |
| of templates for creation of MachineDeployment objects |
| representing a set of worker nodes. |
| properties: |
| bootstrap: |
| description: Bootstrap contains the bootstrap template |
| reference to be used for the creation of worker Machines. |
| properties: |
| ref: |
| description: Ref is a required reference to a custom |
| resource offered by a provider. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: |
| https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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: |
| - ref |
| type: object |
| infrastructure: |
| description: Infrastructure contains the infrastructure |
| template reference to be used for the creation of |
| worker Machines. |
| properties: |
| ref: |
| description: Ref is a required reference to a custom |
| resource offered by a provider. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: |
| https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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: |
| - ref |
| type: object |
| metadata: |
| description: Metadata is the metadata applied to the |
| machines of the MachineDeployment. At runtime this |
| metadata is merged with the corresponding metadata |
| from the topology. |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: 'Annotations is an unstructured key |
| value map stored with a resource that may be set |
| by external tools to store and retrieve arbitrary |
| metadata. They are not queryable and should be |
| preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' |
| type: object |
| labels: |
| additionalProperties: |
| type: string |
| description: 'Map of string keys and values that |
| can be used to organize and categorize (scope |
| and select) objects. May match selectors of replication |
| controllers and services. More info: http://kubernetes.io/docs/user-guide/labels' |
| type: object |
| type: object |
| required: |
| - bootstrap |
| - infrastructure |
| type: object |
| required: |
| - class |
| - template |
| type: object |
| type: array |
| type: object |
| type: object |
| status: |
| description: ClusterClassStatus defines the observed state of the ClusterClass. |
| properties: |
| conditions: |
| description: Conditions defines current observed state of the ClusterClass. |
| items: |
| description: Condition defines an observation of a Cluster API resource |
| 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. |
| format: date-time |
| type: string |
| message: |
| 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. |
| 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. |
| 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. |
| type: string |
| required: |
| - lastTransitionTime |
| - status |
| - type |
| type: object |
| type: array |
| type: object |
| type: object |
| served: true |
| storage: true |
| subresources: |
| status: {} |
| status: |
| acceptedNames: |
| kind: "" |
| plural: "" |
| conditions: null |
| storedVersions: null |
| --- |
| apiVersion: apiextensions.k8s.io/v1 |
| kind: CustomResourceDefinition |
| metadata: |
| annotations: |
| cert-manager.io/inject-ca-from: capi-system/capi-serving-cert |
| controller-gen.kubebuilder.io/version: v0.10.0 |
| creationTimestamp: null |
| labels: |
| cluster.x-k8s.io/provider: cluster-api |
| clusterctl.cluster.x-k8s.io: "" |
| name: clusterresourcesetbindings.addons.cluster.x-k8s.io |
| spec: |
| conversion: |
| strategy: Webhook |
| webhook: |
| clientConfig: |
| caBundle: Cg== |
| service: |
| name: capi-webhook-service |
| namespace: capi-system |
| path: /convert |
| conversionReviewVersions: |
| - v1 |
| - v1beta1 |
| group: addons.cluster.x-k8s.io |
| names: |
| categories: |
| - cluster-api |
| kind: ClusterResourceSetBinding |
| listKind: ClusterResourceSetBindingList |
| plural: clusterresourcesetbindings |
| singular: clusterresourcesetbinding |
| scope: Namespaced |
| versions: |
| - name: v1alpha3 |
| schema: |
| openAPIV3Schema: |
| description: ClusterResourceSetBinding lists all matching ClusterResourceSets |
| with the cluster it belongs to. |
| properties: |
| apiVersion: |
| description: 'APIVersion defines the versioned schema of this representation |
| of an object. Servers should convert recognized schemas to the latest |
| internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' |
| type: string |
| kind: |
| description: 'Kind is a string value representing the REST resource this |
| object represents. Servers may infer this from the endpoint the client |
| submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| metadata: |
| type: object |
| spec: |
| description: ClusterResourceSetBindingSpec defines the desired state of |
| ClusterResourceSetBinding. |
| properties: |
| bindings: |
| description: Bindings is a list of ClusterResourceSets and their resources. |
| items: |
| description: ResourceSetBinding keeps info on all of the resources |
| in a ClusterResourceSet. |
| properties: |
| clusterResourceSetName: |
| description: ClusterResourceSetName is the name of the ClusterResourceSet |
| that is applied to the owner cluster of the binding. |
| type: string |
| resources: |
| description: Resources is a list of resources that the ClusterResourceSet |
| has. |
| items: |
| description: ResourceBinding shows the status of a resource |
| that belongs to a ClusterResourceSet matched by the owner |
| cluster of the ClusterResourceSetBinding object. |
| properties: |
| applied: |
| description: Applied is to track if a resource is applied |
| to the cluster or not. |
| type: boolean |
| hash: |
| description: Hash is the hash of a resource's data. This |
| can be used to decide if a resource is changed. For |
| "ApplyOnce" ClusterResourceSet.spec.strategy, this is |
| no-op as that strategy does not act on change. |
| type: string |
| kind: |
| description: 'Kind of the resource. Supported kinds are: |
| Secrets and ConfigMaps.' |
| enum: |
| - Secret |
| - ConfigMap |
| type: string |
| lastAppliedTime: |
| description: LastAppliedTime identifies when this resource |
| was last applied to the cluster. |
| format: date-time |
| type: string |
| name: |
| description: Name of the resource that is in the same |
| namespace with ClusterResourceSet object. |
| minLength: 1 |
| type: string |
| required: |
| - applied |
| - kind |
| - name |
| type: object |
| type: array |
| required: |
| - clusterResourceSetName |
| type: object |
| type: array |
| type: object |
| type: object |
| served: true |
| storage: false |
| subresources: |
| status: {} |
| - additionalPrinterColumns: |
| - description: Time duration since creation of ClusterResourceSetBinding |
| jsonPath: .metadata.creationTimestamp |
| name: Age |
| type: date |
| name: v1alpha4 |
| schema: |
| openAPIV3Schema: |
| description: ClusterResourceSetBinding lists all matching ClusterResourceSets |
| with the cluster it belongs to. |
| properties: |
| apiVersion: |
| description: 'APIVersion defines the versioned schema of this representation |
| of an object. Servers should convert recognized schemas to the latest |
| internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' |
| type: string |
| kind: |
| description: 'Kind is a string value representing the REST resource this |
| object represents. Servers may infer this from the endpoint the client |
| submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| metadata: |
| type: object |
| spec: |
| description: ClusterResourceSetBindingSpec defines the desired state of |
| ClusterResourceSetBinding. |
| properties: |
| bindings: |
| description: Bindings is a list of ClusterResourceSets and their resources. |
| items: |
| description: ResourceSetBinding keeps info on all of the resources |
| in a ClusterResourceSet. |
| properties: |
| clusterResourceSetName: |
| description: ClusterResourceSetName is the name of the ClusterResourceSet |
| that is applied to the owner cluster of the binding. |
| type: string |
| resources: |
| description: Resources is a list of resources that the ClusterResourceSet |
| has. |
| items: |
| description: ResourceBinding shows the status of a resource |
| that belongs to a ClusterResourceSet matched by the owner |
| cluster of the ClusterResourceSetBinding object. |
| properties: |
| applied: |
| description: Applied is to track if a resource is applied |
| to the cluster or not. |
| type: boolean |
| hash: |
| description: Hash is the hash of a resource's data. This |
| can be used to decide if a resource is changed. For |
| "ApplyOnce" ClusterResourceSet.spec.strategy, this is |
| no-op as that strategy does not act on change. |
| type: string |
| kind: |
| description: 'Kind of the resource. Supported kinds are: |
| Secrets and ConfigMaps.' |
| enum: |
| - Secret |
| - ConfigMap |
| type: string |
| lastAppliedTime: |
| description: LastAppliedTime identifies when this resource |
| was last applied to the cluster. |
| format: date-time |
| type: string |
| name: |
| description: Name of the resource that is in the same |
| namespace with ClusterResourceSet object. |
| minLength: 1 |
| type: string |
| required: |
| - applied |
| - kind |
| - name |
| type: object |
| type: array |
| required: |
| - clusterResourceSetName |
| type: object |
| type: array |
| type: object |
| type: object |
| served: true |
| storage: false |
| subresources: |
| status: {} |
| - additionalPrinterColumns: |
| - description: Time duration since creation of ClusterResourceSetBinding |
| jsonPath: .metadata.creationTimestamp |
| name: Age |
| type: date |
| name: v1beta1 |
| schema: |
| openAPIV3Schema: |
| description: ClusterResourceSetBinding lists all matching ClusterResourceSets |
| with the cluster it belongs to. |
| properties: |
| apiVersion: |
| description: 'APIVersion defines the versioned schema of this representation |
| of an object. Servers should convert recognized schemas to the latest |
| internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' |
| type: string |
| kind: |
| description: 'Kind is a string value representing the REST resource this |
| object represents. Servers may infer this from the endpoint the client |
| submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| metadata: |
| type: object |
| spec: |
| description: ClusterResourceSetBindingSpec defines the desired state of |
| ClusterResourceSetBinding. |
| properties: |
| bindings: |
| description: Bindings is a list of ClusterResourceSets and their resources. |
| items: |
| description: ResourceSetBinding keeps info on all of the resources |
| in a ClusterResourceSet. |
| properties: |
| clusterResourceSetName: |
| description: ClusterResourceSetName is the name of the ClusterResourceSet |
| that is applied to the owner cluster of the binding. |
| type: string |
| resources: |
| description: Resources is a list of resources that the ClusterResourceSet |
| has. |
| items: |
| description: ResourceBinding shows the status of a resource |
| that belongs to a ClusterResourceSet matched by the owner |
| cluster of the ClusterResourceSetBinding object. |
| properties: |
| applied: |
| description: Applied is to track if a resource is applied |
| to the cluster or not. |
| type: boolean |
| hash: |
| description: Hash is the hash of a resource's data. This |
| can be used to decide if a resource is changed. For |
| "ApplyOnce" ClusterResourceSet.spec.strategy, this is |
| no-op as that strategy does not act on change. |
| type: string |
| kind: |
| description: 'Kind of the resource. Supported kinds are: |
| Secrets and ConfigMaps.' |
| enum: |
| - Secret |
| - ConfigMap |
| type: string |
| lastAppliedTime: |
| description: LastAppliedTime identifies when this resource |
| was last applied to the cluster. |
| format: date-time |
| type: string |
| name: |
| description: Name of the resource that is in the same |
| namespace with ClusterResourceSet object. |
| minLength: 1 |
| type: string |
| required: |
| - applied |
| - kind |
| - name |
| type: object |
| type: array |
| required: |
| - clusterResourceSetName |
| type: object |
| type: array |
| type: object |
| type: object |
| served: true |
| storage: true |
| subresources: |
| status: {} |
| status: |
| acceptedNames: |
| kind: "" |
| plural: "" |
| conditions: null |
| storedVersions: null |
| --- |
| apiVersion: apiextensions.k8s.io/v1 |
| kind: CustomResourceDefinition |
| metadata: |
| annotations: |
| cert-manager.io/inject-ca-from: capi-system/capi-serving-cert |
| controller-gen.kubebuilder.io/version: v0.10.0 |
| creationTimestamp: null |
| labels: |
| cluster.x-k8s.io/provider: cluster-api |
| clusterctl.cluster.x-k8s.io: "" |
| name: clusterresourcesets.addons.cluster.x-k8s.io |
| spec: |
| conversion: |
| strategy: Webhook |
| webhook: |
| clientConfig: |
| caBundle: Cg== |
| service: |
| name: capi-webhook-service |
| namespace: capi-system |
| path: /convert |
| conversionReviewVersions: |
| - v1 |
| - v1beta1 |
| group: addons.cluster.x-k8s.io |
| names: |
| categories: |
| - cluster-api |
| kind: ClusterResourceSet |
| listKind: ClusterResourceSetList |
| plural: clusterresourcesets |
| singular: clusterresourceset |
| scope: Namespaced |
| versions: |
| - name: v1alpha3 |
| schema: |
| openAPIV3Schema: |
| description: ClusterResourceSet is the Schema for the clusterresourcesets |
| 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' |
| type: string |
| kind: |
| description: 'Kind is a string value representing the REST resource this |
| object represents. Servers may infer this from the endpoint the client |
| submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| metadata: |
| type: object |
| spec: |
| description: ClusterResourceSetSpec defines the desired state of ClusterResourceSet. |
| properties: |
| clusterSelector: |
| description: Label selector for Clusters. The Clusters that are selected |
| by this will be the ones affected by this ClusterResourceSet. It |
| must match the Cluster labels. This field is immutable. |
| 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. |
| properties: |
| key: |
| description: key is the label key that the selector 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. |
| 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. |
| items: |
| type: string |
| type: array |
| required: |
| - key |
| - operator |
| type: object |
| type: array |
| 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. |
| type: object |
| type: object |
| resources: |
| description: Resources is a list of Secrets/ConfigMaps where each |
| contains 1 or more resources to be applied to remote clusters. |
| items: |
| description: ResourceRef specifies a resource. |
| properties: |
| kind: |
| description: 'Kind of the resource. Supported kinds are: Secrets |
| and ConfigMaps.' |
| enum: |
| - Secret |
| - ConfigMap |
| type: string |
| name: |
| description: Name of the resource that is in the same namespace |
| with ClusterResourceSet object. |
| minLength: 1 |
| type: string |
| required: |
| - kind |
| - name |
| type: object |
| type: array |
| strategy: |
| description: Strategy is the strategy to be used during applying resources. |
| Defaults to ApplyOnce. This field is immutable. |
| enum: |
| - ApplyOnce |
| type: string |
| required: |
| - clusterSelector |
| type: object |
| status: |
| description: ClusterResourceSetStatus defines the observed state of ClusterResourceSet. |
| properties: |
| conditions: |
| description: Conditions defines current state of the ClusterResourceSet. |
| items: |
| description: Condition defines an observation of a Cluster API resource |
| 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. |
| format: date-time |
| type: string |
| message: |
| 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. |
| 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. |
| 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. |
| type: string |
| required: |
| - status |
| - type |
| type: object |
| type: array |
| observedGeneration: |
| description: ObservedGeneration reflects the generation of the most |
| recently observed ClusterResourceSet. |
| format: int64 |
| type: integer |
| type: object |
| type: object |
| served: true |
| storage: false |
| subresources: |
| status: {} |
| - additionalPrinterColumns: |
| - description: Time duration since creation of ClusterResourceSet |
| jsonPath: .metadata.creationTimestamp |
| name: Age |
| type: date |
| name: v1alpha4 |
| schema: |
| openAPIV3Schema: |
| description: ClusterResourceSet is the Schema for the clusterresourcesets |
| 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' |
| type: string |
| kind: |
| description: 'Kind is a string value representing the REST resource this |
| object represents. Servers may infer this from the endpoint the client |
| submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| metadata: |
| type: object |
| spec: |
| description: ClusterResourceSetSpec defines the desired state of ClusterResourceSet. |
| properties: |
| clusterSelector: |
| description: Label selector for Clusters. The Clusters that are selected |
| by this will be the ones affected by this ClusterResourceSet. It |
| must match the Cluster labels. This field is immutable. Label selector |
| cannot be empty. |
| 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. |
| properties: |
| key: |
| description: key is the label key that the selector 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. |
| 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. |
| items: |
| type: string |
| type: array |
| required: |
| - key |
| - operator |
| type: object |
| type: array |
| 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. |
| type: object |
| type: object |
| resources: |
| description: Resources is a list of Secrets/ConfigMaps where each |
| contains 1 or more resources to be applied to remote clusters. |
| items: |
| description: ResourceRef specifies a resource. |
| properties: |
| kind: |
| description: 'Kind of the resource. Supported kinds are: Secrets |
| and ConfigMaps.' |
| enum: |
| - Secret |
| - ConfigMap |
| type: string |
| name: |
| description: Name of the resource that is in the same namespace |
| with ClusterResourceSet object. |
| minLength: 1 |
| type: string |
| required: |
| - kind |
| - name |
| type: object |
| type: array |
| strategy: |
| description: Strategy is the strategy to be used during applying resources. |
| Defaults to ApplyOnce. This field is immutable. |
| enum: |
| - ApplyOnce |
| type: string |
| required: |
| - clusterSelector |
| type: object |
| status: |
| description: ClusterResourceSetStatus defines the observed state of ClusterResourceSet. |
| properties: |
| conditions: |
| description: Conditions defines current state of the ClusterResourceSet. |
| items: |
| description: Condition defines an observation of a Cluster API resource |
| 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. |
| format: date-time |
| type: string |
| message: |
| 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. |
| 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. |
| 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. |
| type: string |
| required: |
| - status |
| - type |
| type: object |
| type: array |
| observedGeneration: |
| description: ObservedGeneration reflects the generation of the most |
| recently observed ClusterResourceSet. |
| format: int64 |
| type: integer |
| type: object |
| type: object |
| served: true |
| storage: false |
| subresources: |
| status: {} |
| - additionalPrinterColumns: |
| - description: Time duration since creation of ClusterResourceSet |
| jsonPath: .metadata.creationTimestamp |
| name: Age |
| type: date |
| name: v1beta1 |
| schema: |
| openAPIV3Schema: |
| description: ClusterResourceSet is the Schema for the clusterresourcesets |
| 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' |
| type: string |
| kind: |
| description: 'Kind is a string value representing the REST resource this |
| object represents. Servers may infer this from the endpoint the client |
| submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| metadata: |
| type: object |
| spec: |
| description: ClusterResourceSetSpec defines the desired state of ClusterResourceSet. |
| properties: |
| clusterSelector: |
| description: Label selector for Clusters. The Clusters that are selected |
| by this will be the ones affected by this ClusterResourceSet. It |
| must match the Cluster labels. This field is immutable. Label selector |
| cannot be empty. |
| 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. |
| properties: |
| key: |
| description: key is the label key that the selector 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. |
| 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. |
| items: |
| type: string |
| type: array |
| required: |
| - key |
| - operator |
| type: object |
| type: array |
| 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. |
| type: object |
| type: object |
| resources: |
| description: Resources is a list of Secrets/ConfigMaps where each |
| contains 1 or more resources to be applied to remote clusters. |
| items: |
| description: ResourceRef specifies a resource. |
| properties: |
| kind: |
| description: 'Kind of the resource. Supported kinds are: Secrets |
| and ConfigMaps.' |
| enum: |
| - Secret |
| - ConfigMap |
| type: string |
| name: |
| description: Name of the resource that is in the same namespace |
| with ClusterResourceSet object. |
| minLength: 1 |
| type: string |
| required: |
| - kind |
| - name |
| type: object |
| type: array |
| strategy: |
| description: Strategy is the strategy to be used during applying resources. |
| Defaults to ApplyOnce. This field is immutable. |
| enum: |
| - ApplyOnce |
| type: string |
| required: |
| - clusterSelector |
| type: object |
| status: |
| description: ClusterResourceSetStatus defines the observed state of ClusterResourceSet. |
| properties: |
| conditions: |
| description: Conditions defines current state of the ClusterResourceSet. |
| items: |
| description: Condition defines an observation of a Cluster API resource |
| 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. |
| format: date-time |
| type: string |
| message: |
| 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. |
| 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. |
| 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. |
| type: string |
| required: |
| - lastTransitionTime |
| - status |
| - type |
| type: object |
| type: array |
| observedGeneration: |
| description: ObservedGeneration reflects the generation of the most |
| recently observed ClusterResourceSet. |
| format: int64 |
| type: integer |
| type: object |
| type: object |
| served: true |
| storage: true |
| subresources: |
| status: {} |
| status: |
| acceptedNames: |
| kind: "" |
| plural: "" |
| conditions: null |
| storedVersions: null |
| --- |
| apiVersion: apiextensions.k8s.io/v1 |
| kind: CustomResourceDefinition |
| metadata: |
| annotations: |
| cert-manager.io/inject-ca-from: capi-system/capi-serving-cert |
| controller-gen.kubebuilder.io/version: v0.10.0 |
| creationTimestamp: null |
| labels: |
| cluster.x-k8s.io/provider: cluster-api |
| clusterctl.cluster.x-k8s.io: "" |
| name: clusters.cluster.x-k8s.io |
| spec: |
| conversion: |
| strategy: Webhook |
| webhook: |
| clientConfig: |
| caBundle: Cg== |
| service: |
| name: capi-webhook-service |
| namespace: capi-system |
| path: /convert |
| conversionReviewVersions: |
| - v1 |
| - v1beta1 |
| group: cluster.x-k8s.io |
| names: |
| categories: |
| - cluster-api |
| kind: Cluster |
| listKind: ClusterList |
| plural: clusters |
| shortNames: |
| - cl |
| singular: cluster |
| scope: Namespaced |
| versions: |
| - additionalPrinterColumns: |
| - description: Cluster status such as Pending/Provisioning/Provisioned/Deleting/Failed |
| jsonPath: .status.phase |
| name: Phase |
| type: string |
| name: v1alpha3 |
| schema: |
| openAPIV3Schema: |
| description: Cluster is the Schema for the clusters 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' |
| type: string |
| kind: |
| description: 'Kind is a string value representing the REST resource this |
| object represents. Servers may infer this from the endpoint the client |
| submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| metadata: |
| type: object |
| spec: |
| description: ClusterSpec defines the desired state of Cluster. |
| properties: |
| clusterNetwork: |
| description: Cluster network configuration. |
| properties: |
| apiServerPort: |
| description: APIServerPort specifies the port the API Server should |
| bind to. Defaults to 6443. |
| format: int32 |
| type: integer |
| pods: |
| description: The network ranges from which Pod networks are allocated. |
| properties: |
| cidrBlocks: |
| items: |
| type: string |
| type: array |
| required: |
| - cidrBlocks |
| type: object |
| serviceDomain: |
| description: Domain name for services. |
| type: string |
| services: |
| description: The network ranges from which service VIPs are allocated. |
| properties: |
| cidrBlocks: |
| items: |
| type: string |
| type: array |
| required: |
| - cidrBlocks |
| type: object |
| type: object |
| controlPlaneEndpoint: |
| description: ControlPlaneEndpoint represents the endpoint used to |
| communicate with the control plane. |
| properties: |
| host: |
| description: The hostname on which the API server is serving. |
| type: string |
| port: |
| description: The port on which the API server is serving. |
| format: int32 |
| type: integer |
| required: |
| - host |
| - port |
| type: object |
| controlPlaneRef: |
| description: ControlPlaneRef is an optional reference to a provider-specific |
| resource that holds the details for provisioning the Control Plane |
| for a Cluster. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| infrastructureRef: |
| description: InfrastructureRef is a reference to a provider-specific |
| resource that holds the details for provisioning infrastructure |
| for a cluster in said provider. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| paused: |
| description: Paused can be used to prevent controllers from processing |
| the Cluster and all its associated objects. |
| type: boolean |
| type: object |
| status: |
| description: ClusterStatus defines the observed state of Cluster. |
| properties: |
| conditions: |
| description: Conditions defines current service state of the cluster. |
| items: |
| description: Condition defines an observation of a Cluster API resource |
| 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. |
| format: date-time |
| type: string |
| message: |
| 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. |
| 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. |
| 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. |
| type: string |
| required: |
| - status |
| - type |
| type: object |
| type: array |
| controlPlaneInitialized: |
| description: ControlPlaneInitialized defines if the control plane |
| has been initialized. |
| type: boolean |
| controlPlaneReady: |
| description: ControlPlaneReady defines if the control plane is ready. |
| type: boolean |
| failureDomains: |
| additionalProperties: |
| description: FailureDomainSpec is the Schema for Cluster API failure |
| domains. It allows controllers to understand how many failure |
| domains a cluster can optionally span across. |
| properties: |
| attributes: |
| additionalProperties: |
| type: string |
| description: Attributes is a free form map of attributes an |
| infrastructure provider might use or require. |
| type: object |
| controlPlane: |
| description: ControlPlane determines if this failure domain |
| is suitable for use by control plane machines. |
| type: boolean |
| type: object |
| description: FailureDomains is a slice of failure domain objects synced |
| from the infrastructure provider. |
| type: object |
| failureMessage: |
| description: FailureMessage indicates that there is a fatal problem |
| reconciling the state, and will be set to a descriptive error message. |
| type: string |
| failureReason: |
| description: FailureReason indicates that there is a fatal problem |
| reconciling the state, and will be set to a token value suitable |
| for programmatic interpretation. |
| type: string |
| infrastructureReady: |
| description: InfrastructureReady is the state of the infrastructure |
| provider. |
| type: boolean |
| observedGeneration: |
| description: ObservedGeneration is the latest generation observed |
| by the controller. |
| format: int64 |
| type: integer |
| phase: |
| description: Phase represents the current phase of cluster actuation. |
| E.g. Pending, Running, Terminating, Failed etc. |
| type: string |
| type: object |
| type: object |
| served: true |
| storage: false |
| subresources: |
| status: {} |
| - additionalPrinterColumns: |
| - description: Time duration since creation of Cluster |
| jsonPath: .metadata.creationTimestamp |
| name: Age |
| type: date |
| - description: Cluster status such as Pending/Provisioning/Provisioned/Deleting/Failed |
| jsonPath: .status.phase |
| name: Phase |
| type: string |
| name: v1alpha4 |
| schema: |
| openAPIV3Schema: |
| description: Cluster is the Schema for the clusters 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' |
| type: string |
| kind: |
| description: 'Kind is a string value representing the REST resource this |
| object represents. Servers may infer this from the endpoint the client |
| submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| metadata: |
| type: object |
| spec: |
| description: ClusterSpec defines the desired state of Cluster. |
| properties: |
| clusterNetwork: |
| description: Cluster network configuration. |
| properties: |
| apiServerPort: |
| description: APIServerPort specifies the port the API Server should |
| bind to. Defaults to 6443. |
| format: int32 |
| type: integer |
| pods: |
| description: The network ranges from which Pod networks are allocated. |
| properties: |
| cidrBlocks: |
| items: |
| type: string |
| type: array |
| required: |
| - cidrBlocks |
| type: object |
| serviceDomain: |
| description: Domain name for services. |
| type: string |
| services: |
| description: The network ranges from which service VIPs are allocated. |
| properties: |
| cidrBlocks: |
| items: |
| type: string |
| type: array |
| required: |
| - cidrBlocks |
| type: object |
| type: object |
| controlPlaneEndpoint: |
| description: ControlPlaneEndpoint represents the endpoint used to |
| communicate with the control plane. |
| properties: |
| host: |
| description: The hostname on which the API server is serving. |
| type: string |
| port: |
| description: The port on which the API server is serving. |
| format: int32 |
| type: integer |
| required: |
| - host |
| - port |
| type: object |
| controlPlaneRef: |
| description: ControlPlaneRef is an optional reference to a provider-specific |
| resource that holds the details for provisioning the Control Plane |
| for a Cluster. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| infrastructureRef: |
| description: InfrastructureRef is a reference to a provider-specific |
| resource that holds the details for provisioning infrastructure |
| for a cluster in said provider. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| paused: |
| description: Paused can be used to prevent controllers from processing |
| the Cluster and all its associated objects. |
| type: boolean |
| topology: |
| description: 'This encapsulates the topology for the cluster. NOTE: |
| It is required to enable the ClusterTopology feature gate flag to |
| activate managed topologies support; this feature is highly experimental, |
| and parts of it might still be not implemented.' |
| properties: |
| class: |
| description: The name of the ClusterClass object to create the |
| topology. |
| type: string |
| controlPlane: |
| description: ControlPlane describes the cluster control plane. |
| properties: |
| metadata: |
| description: "Metadata is the metadata applied to the machines |
| of the ControlPlane. At runtime this metadata is merged |
| with the corresponding metadata from the ClusterClass. \n |
| This field is supported if and only if the control plane |
| provider template referenced in the ClusterClass is Machine |
| based." |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: 'Annotations is an unstructured key value |
| map stored with a resource that may be set by external |
| tools to store and retrieve arbitrary metadata. They |
| are not queryable and should be preserved when modifying |
| objects. More info: http://kubernetes.io/docs/user-guide/annotations' |
| type: object |
| labels: |
| additionalProperties: |
| type: string |
| description: 'Map of string keys and values that can be |
| used to organize and categorize (scope and select) objects. |
| May match selectors of replication controllers and services. |
| More info: http://kubernetes.io/docs/user-guide/labels' |
| type: object |
| type: object |
| replicas: |
| description: Replicas is the number of control plane nodes. |
| If the value is nil, the ControlPlane object is created |
| without the number of Replicas and it's assumed that the |
| control plane controller does not implement support for |
| this field. When specified against a control plane provider |
| that lacks support for this field, this value will be ignored. |
| format: int32 |
| type: integer |
| type: object |
| rolloutAfter: |
| description: RolloutAfter performs a rollout of the entire cluster |
| one component at a time, control plane first and then machine |
| deployments. |
| format: date-time |
| type: string |
| version: |
| description: The Kubernetes version of the cluster. |
| type: string |
| workers: |
| description: Workers encapsulates the different constructs that |
| form the worker nodes for the cluster. |
| properties: |
| machineDeployments: |
| description: MachineDeployments is a list of machine deployments |
| in the cluster. |
| items: |
| description: MachineDeploymentTopology specifies the different |
| parameters for a set of worker nodes in the topology. |
| This set of nodes is managed by a MachineDeployment object |
| whose lifecycle is managed by the Cluster controller. |
| properties: |
| class: |
| description: Class is the name of the MachineDeploymentClass |
| used to create the set of worker nodes. This should |
| match one of the deployment classes defined in the |
| ClusterClass object mentioned in the `Cluster.Spec.Class` |
| field. |
| type: string |
| metadata: |
| description: Metadata is the metadata applied to the |
| machines of the MachineDeployment. At runtime this |
| metadata is merged with the corresponding metadata |
| from the ClusterClass. |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: 'Annotations is an unstructured key |
| value map stored with a resource that may be set |
| by external tools to store and retrieve arbitrary |
| metadata. They are not queryable and should be |
| preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' |
| type: object |
| labels: |
| additionalProperties: |
| type: string |
| description: 'Map of string keys and values that |
| can be used to organize and categorize (scope |
| and select) objects. May match selectors of replication |
| controllers and services. More info: http://kubernetes.io/docs/user-guide/labels' |
| type: object |
| type: object |
| name: |
| description: Name is the unique identifier for this |
| MachineDeploymentTopology. The value is used with |
| other unique identifiers to create a MachineDeployment's |
| Name (e.g. cluster's name, etc). In case the name |
| is greater than the allowed maximum length, the values |
| are hashed together. |
| type: string |
| replicas: |
| description: Replicas is the number of worker nodes |
| belonging to this set. If the value is nil, the MachineDeployment |
| is created without the number of Replicas (defaulting |
| to zero) and it's assumed that an external entity |
| (like cluster autoscaler) is responsible for the management |
| of this value. |
| format: int32 |
| type: integer |
| required: |
| - class |
| - name |
| type: object |
| type: array |
| type: object |
| required: |
| - class |
| - version |
| type: object |
| type: object |
| status: |
| description: ClusterStatus defines the observed state of Cluster. |
| properties: |
| conditions: |
| description: Conditions defines current service state of the cluster. |
| items: |
| description: Condition defines an observation of a Cluster API resource |
| 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. |
| format: date-time |
| type: string |
| message: |
| 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. |
| 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. |
| 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. |
| type: string |
| required: |
| - status |
| - type |
| type: object |
| type: array |
| controlPlaneReady: |
| description: ControlPlaneReady defines if the control plane is ready. |
| type: boolean |
| failureDomains: |
| additionalProperties: |
| description: FailureDomainSpec is the Schema for Cluster API failure |
| domains. It allows controllers to understand how many failure |
| domains a cluster can optionally span across. |
| properties: |
| attributes: |
| additionalProperties: |
| type: string |
| description: Attributes is a free form map of attributes an |
| infrastructure provider might use or require. |
| type: object |
| controlPlane: |
| description: ControlPlane determines if this failure domain |
| is suitable for use by control plane machines. |
| type: boolean |
| type: object |
| description: FailureDomains is a slice of failure domain objects synced |
| from the infrastructure provider. |
| type: object |
| failureMessage: |
| description: FailureMessage indicates that there is a fatal problem |
| reconciling the state, and will be set to a descriptive error message. |
| type: string |
| failureReason: |
| description: FailureReason indicates that there is a fatal problem |
| reconciling the state, and will be set to a token value suitable |
| for programmatic interpretation. |
| type: string |
| infrastructureReady: |
| description: InfrastructureReady is the state of the infrastructure |
| provider. |
| type: boolean |
| observedGeneration: |
| description: ObservedGeneration is the latest generation observed |
| by the controller. |
| format: int64 |
| type: integer |
| phase: |
| description: Phase represents the current phase of cluster actuation. |
| E.g. Pending, Running, Terminating, Failed etc. |
| type: string |
| type: object |
| type: object |
| served: true |
| storage: false |
| subresources: |
| status: {} |
| - additionalPrinterColumns: |
| - description: Cluster status such as Pending/Provisioning/Provisioned/Deleting/Failed |
| jsonPath: .status.phase |
| name: Phase |
| type: string |
| - description: Time duration since creation of Cluster |
| jsonPath: .metadata.creationTimestamp |
| name: Age |
| type: date |
| - description: Kubernetes version associated with this Cluster |
| jsonPath: .spec.topology.version |
| name: Version |
| type: string |
| name: v1beta1 |
| schema: |
| openAPIV3Schema: |
| description: Cluster is the Schema for the clusters 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' |
| type: string |
| kind: |
| description: 'Kind is a string value representing the REST resource this |
| object represents. Servers may infer this from the endpoint the client |
| submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| metadata: |
| type: object |
| spec: |
| description: ClusterSpec defines the desired state of Cluster. |
| properties: |
| clusterNetwork: |
| description: Cluster network configuration. |
| properties: |
| apiServerPort: |
| description: APIServerPort specifies the port the API Server should |
| bind to. Defaults to 6443. |
| format: int32 |
| type: integer |
| pods: |
| description: The network ranges from which Pod networks are allocated. |
| properties: |
| cidrBlocks: |
| items: |
| type: string |
| type: array |
| required: |
| - cidrBlocks |
| type: object |
| serviceDomain: |
| description: Domain name for services. |
| type: string |
| services: |
| description: The network ranges from which service VIPs are allocated. |
| properties: |
| cidrBlocks: |
| items: |
| type: string |
| type: array |
| required: |
| - cidrBlocks |
| type: object |
| type: object |
| controlPlaneEndpoint: |
| description: ControlPlaneEndpoint represents the endpoint used to |
| communicate with the control plane. |
| properties: |
| host: |
| description: The hostname on which the API server is serving. |
| type: string |
| port: |
| description: The port on which the API server is serving. |
| format: int32 |
| type: integer |
| required: |
| - host |
| - port |
| type: object |
| controlPlaneRef: |
| description: ControlPlaneRef is an optional reference to a provider-specific |
| resource that holds the details for provisioning the Control Plane |
| for a Cluster. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| infrastructureRef: |
| description: InfrastructureRef is a reference to a provider-specific |
| resource that holds the details for provisioning infrastructure |
| for a cluster in said provider. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| paused: |
| description: Paused can be used to prevent controllers from processing |
| the Cluster and all its associated objects. |
| type: boolean |
| topology: |
| description: 'This encapsulates the topology for the cluster. NOTE: |
| It is required to enable the ClusterTopology feature gate flag to |
| activate managed topologies support; this feature is highly experimental, |
| and parts of it might still be not implemented.' |
| properties: |
| class: |
| description: The name of the ClusterClass object to create the |
| topology. |
| type: string |
| controlPlane: |
| description: ControlPlane describes the cluster control plane. |
| properties: |
| machineHealthCheck: |
| description: MachineHealthCheck allows to enable, disable |
| and override the MachineHealthCheck configuration in the |
| ClusterClass for this control plane. |
| properties: |
| enable: |
| description: "Enable controls if a MachineHealthCheck |
| should be created for the target machines. \n If false: |
| No MachineHealthCheck will be created. \n If not set(default): |
| A MachineHealthCheck will be created if it is defined |
| here or in the associated ClusterClass. If no MachineHealthCheck |
| is defined then none will be created. \n If true: A |
| MachineHealthCheck is guaranteed to be created. Cluster |
| validation will block if `enable` is true and no MachineHealthCheck |
| definition is available." |
| type: boolean |
| maxUnhealthy: |
| anyOf: |
| - type: integer |
| - type: string |
| description: Any further remediation is only allowed if |
| at most "MaxUnhealthy" machines selected by "selector" |
| are not healthy. |
| x-kubernetes-int-or-string: true |
| nodeStartupTimeout: |
| description: Machines older than this duration without |
| a node will be considered to have failed and will be |
| remediated. If you wish to disable this feature, set |
| the value explicitly to 0. |
| type: string |
| remediationTemplate: |
| description: "RemediationTemplate is a reference to a |
| remediation template provided by an infrastructure provider. |
| \n This field is completely optional, when filled, the |
| MachineHealthCheck controller creates a new object from |
| the template referenced and hands off remediation of |
| the machine to a controller that lives outside of Cluster |
| API." |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| unhealthyConditions: |
| description: UnhealthyConditions contains a list of the |
| conditions that determine whether a node is considered |
| unhealthy. The conditions are combined in a logical |
| OR, i.e. if any of the conditions is met, the node is |
| unhealthy. |
| items: |
| description: UnhealthyCondition represents a Node condition |
| type and value with a timeout specified as a duration. When |
| the named condition has been in the given status for |
| at least the timeout value, a node is considered unhealthy. |
| properties: |
| status: |
| minLength: 1 |
| type: string |
| timeout: |
| type: string |
| type: |
| minLength: 1 |
| type: string |
| required: |
| - status |
| - timeout |
| - type |
| type: object |
| type: array |
| unhealthyRange: |
| description: 'Any further remediation is only allowed |
| if the number of machines selected by "selector" as |
| not healthy is within the range of "UnhealthyRange". |
| Takes precedence over MaxUnhealthy. Eg. "[3-5]" - This |
| means that remediation will be allowed only when: (a) |
| there are at least 3 unhealthy machines (and) (b) there |
| are at most 5 unhealthy machines' |
| pattern: ^\[[0-9]+-[0-9]+\]$ |
| type: string |
| type: object |
| metadata: |
| description: "Metadata is the metadata applied to the machines |
| of the ControlPlane. At runtime this metadata is merged |
| with the corresponding metadata from the ClusterClass. \n |
| This field is supported if and only if the control plane |
| provider template referenced in the ClusterClass is Machine |
| based." |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: 'Annotations is an unstructured key value |
| map stored with a resource that may be set by external |
| tools to store and retrieve arbitrary metadata. They |
| are not queryable and should be preserved when modifying |
| objects. More info: http://kubernetes.io/docs/user-guide/annotations' |
| type: object |
| labels: |
| additionalProperties: |
| type: string |
| description: 'Map of string keys and values that can be |
| used to organize and categorize (scope and select) objects. |
| May match selectors of replication controllers and services. |
| More info: http://kubernetes.io/docs/user-guide/labels' |
| type: object |
| type: object |
| nodeDeletionTimeout: |
| description: NodeDeletionTimeout defines how long the controller |
| will attempt to delete the Node that the Machine hosts after |
| the Machine is marked for deletion. A duration of 0 will |
| retry deletion indefinitely. Defaults to 10 seconds. |
| type: string |
| nodeDrainTimeout: |
| description: 'NodeDrainTimeout is the total amount of time |
| that the controller will spend on draining a node. The default |
| value is 0, meaning that the node can be drained without |
| any time limitations. NOTE: NodeDrainTimeout is different |
| from `kubectl drain --timeout`' |
| type: string |
| nodeVolumeDetachTimeout: |
| description: NodeVolumeDetachTimeout is the total amount of |
| time that the controller will spend on waiting for all volumes |
| to be detached. The default value is 0, meaning that the |
| volumes can be detached without any time limitations. |
| type: string |
| replicas: |
| description: Replicas is the number of control plane nodes. |
| If the value is nil, the ControlPlane object is created |
| without the number of Replicas and it's assumed that the |
| control plane controller does not implement support for |
| this field. When specified against a control plane provider |
| that lacks support for this field, this value will be ignored. |
| format: int32 |
| type: integer |
| type: object |
| rolloutAfter: |
| description: RolloutAfter performs a rollout of the entire cluster |
| one component at a time, control plane first and then machine |
| deployments. |
| format: date-time |
| type: string |
| variables: |
| description: Variables can be used to customize the Cluster through |
| patches. They must comply to the corresponding VariableClasses |
| defined in the ClusterClass. |
| items: |
| description: ClusterVariable can be used to customize the Cluster |
| through patches. It must comply to the corresponding ClusterClassVariable |
| defined in the ClusterClass. |
| properties: |
| name: |
| description: Name of the variable. |
| type: string |
| value: |
| description: 'Value of the variable. Note: the value will |
| be validated against the schema of the corresponding ClusterClassVariable |
| from the ClusterClass. Note: We have to use apiextensionsv1.JSON |
| instead of a custom JSON type, because controller-tools |
| has a hard-coded schema for apiextensionsv1.JSON which |
| cannot be produced by another type via controller-tools, |
| i.e. it is not possible to have no type field. Ref: https://github.com/kubernetes-sigs/controller-tools/blob/d0e03a142d0ecdd5491593e941ee1d6b5d91dba6/pkg/crd/known_types.go#L106-L111' |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| version: |
| description: The Kubernetes version of the cluster. |
| type: string |
| workers: |
| description: Workers encapsulates the different constructs that |
| form the worker nodes for the cluster. |
| properties: |
| machineDeployments: |
| description: MachineDeployments is a list of machine deployments |
| in the cluster. |
| items: |
| description: MachineDeploymentTopology specifies the different |
| parameters for a set of worker nodes in the topology. |
| This set of nodes is managed by a MachineDeployment object |
| whose lifecycle is managed by the Cluster controller. |
| properties: |
| class: |
| description: Class is the name of the MachineDeploymentClass |
| used to create the set of worker nodes. This should |
| match one of the deployment classes defined in the |
| ClusterClass object mentioned in the `Cluster.Spec.Class` |
| field. |
| type: string |
| failureDomain: |
| description: FailureDomain is the failure domain the |
| machines will be created in. Must match a key in the |
| FailureDomains map stored on the cluster object. |
| type: string |
| machineHealthCheck: |
| description: MachineHealthCheck allows to enable, disable |
| and override the MachineHealthCheck configuration |
| in the ClusterClass for this MachineDeployment. |
| properties: |
| enable: |
| description: "Enable controls if a MachineHealthCheck |
| should be created for the target machines. \n |
| If false: No MachineHealthCheck will be created. |
| \n If not set(default): A MachineHealthCheck will |
| be created if it is defined here or in the associated |
| ClusterClass. If no MachineHealthCheck is defined |
| then none will be created. \n If true: A MachineHealthCheck |
| is guaranteed to be created. Cluster validation |
| will block if `enable` is true and no MachineHealthCheck |
| definition is available." |
| type: boolean |
| maxUnhealthy: |
| anyOf: |
| - type: integer |
| - type: string |
| description: Any further remediation is only allowed |
| if at most "MaxUnhealthy" machines selected by |
| "selector" are not healthy. |
| x-kubernetes-int-or-string: true |
| nodeStartupTimeout: |
| description: Machines older than this duration without |
| a node will be considered to have failed and will |
| be remediated. If you wish to disable this feature, |
| set the value explicitly to 0. |
| type: string |
| remediationTemplate: |
| description: "RemediationTemplate is a reference |
| to a remediation template provided by an infrastructure |
| provider. \n This field is completely optional, |
| when filled, the MachineHealthCheck controller |
| creates a new object from the template referenced |
| and hands off remediation of the machine to a |
| controller that lives outside of Cluster API." |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: |
| https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| unhealthyConditions: |
| description: UnhealthyConditions contains a list |
| of the conditions that determine whether a node |
| is considered unhealthy. The conditions are combined |
| in a logical OR, i.e. if any of the conditions |
| is met, the node is unhealthy. |
| items: |
| description: UnhealthyCondition represents a Node |
| condition type and value with a timeout specified |
| as a duration. When the named condition has |
| been in the given status for at least the timeout |
| value, a node is considered unhealthy. |
| properties: |
| status: |
| minLength: 1 |
| type: string |
| timeout: |
| type: string |
| type: |
| minLength: 1 |
| type: string |
| required: |
| - status |
| - timeout |
| - type |
| type: object |
| type: array |
| unhealthyRange: |
| description: 'Any further remediation is only allowed |
| if the number of machines selected by "selector" |
| as not healthy is within the range of "UnhealthyRange". |
| Takes precedence over MaxUnhealthy. Eg. "[3-5]" |
| - This means that remediation will be allowed |
| only when: (a) there are at least 3 unhealthy |
| machines (and) (b) there are at most 5 unhealthy |
| machines' |
| pattern: ^\[[0-9]+-[0-9]+\]$ |
| type: string |
| type: object |
| metadata: |
| description: Metadata is the metadata applied to the |
| machines of the MachineDeployment. At runtime this |
| metadata is merged with the corresponding metadata |
| from the ClusterClass. |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: 'Annotations is an unstructured key |
| value map stored with a resource that may be set |
| by external tools to store and retrieve arbitrary |
| metadata. They are not queryable and should be |
| preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' |
| type: object |
| labels: |
| additionalProperties: |
| type: string |
| description: 'Map of string keys and values that |
| can be used to organize and categorize (scope |
| and select) objects. May match selectors of replication |
| controllers and services. More info: http://kubernetes.io/docs/user-guide/labels' |
| type: object |
| type: object |
| minReadySeconds: |
| description: Minimum number of seconds for which a newly |
| created machine should be ready. Defaults to 0 (machine |
| will be considered available as soon as it is ready) |
| format: int32 |
| type: integer |
| name: |
| description: Name is the unique identifier for this |
| MachineDeploymentTopology. The value is used with |
| other unique identifiers to create a MachineDeployment's |
| Name (e.g. cluster's name, etc). In case the name |
| is greater than the allowed maximum length, the values |
| are hashed together. |
| type: string |
| nodeDeletionTimeout: |
| description: NodeDeletionTimeout defines how long the |
| controller will attempt to delete the Node that the |
| Machine hosts after the Machine is marked for deletion. |
| A duration of 0 will retry deletion indefinitely. |
| Defaults to 10 seconds. |
| type: string |
| nodeDrainTimeout: |
| description: 'NodeDrainTimeout is the total amount of |
| time that the controller will spend on draining a |
| node. The default value is 0, meaning that the node |
| can be drained without any time limitations. NOTE: |
| NodeDrainTimeout is different from `kubectl drain |
| --timeout`' |
| type: string |
| nodeVolumeDetachTimeout: |
| description: NodeVolumeDetachTimeout is the total amount |
| of time that the controller will spend on waiting |
| for all volumes to be detached. The default value |
| is 0, meaning that the volumes can be detached without |
| any time limitations. |
| type: string |
| replicas: |
| description: Replicas is the number of worker nodes |
| belonging to this set. If the value is nil, the MachineDeployment |
| is created without the number of Replicas (defaulting |
| to zero) and it's assumed that an external entity |
| (like cluster autoscaler) is responsible for the management |
| of this value. |
| format: int32 |
| type: integer |
| strategy: |
| description: The deployment strategy to use to replace |
| existing machines with new ones. |
| properties: |
| rollingUpdate: |
| description: Rolling update config params. Present |
| only if MachineDeploymentStrategyType = RollingUpdate. |
| properties: |
| deletePolicy: |
| description: DeletePolicy defines the policy |
| used by the MachineDeployment to identify |
| nodes to delete when downscaling. Valid values |
| are "Random, "Newest", "Oldest" When no value |
| is supplied, the default DeletePolicy of MachineSet |
| is used |
| enum: |
| - Random |
| - Newest |
| - Oldest |
| type: string |
| maxSurge: |
| anyOf: |
| - type: integer |
| - type: string |
| description: 'The maximum number of machines |
| that can be scheduled above the desired number |
| of machines. Value can be an absolute number |
| (ex: 5) or a percentage of desired machines |
| (ex: 10%). This can not be 0 if MaxUnavailable |
| is 0. Absolute number is calculated from percentage |
| by rounding up. Defaults to 1. Example: when |
| this is set to 30%, the new MachineSet can |
| be scaled up immediately when the rolling |
| update starts, such that the total number |
| of old and new machines do not exceed 130% |
| of desired machines. Once old machines have |
| been killed, new MachineSet can be scaled |
| up further, ensuring that total number of |
| machines running at any time during the update |
| is at most 130% of desired machines.' |
| x-kubernetes-int-or-string: true |
| maxUnavailable: |
| anyOf: |
| - type: integer |
| - type: string |
| description: 'The maximum number of machines |
| that can be unavailable during the update. |
| Value can be an absolute number (ex: 5) or |
| a percentage of desired machines (ex: 10%). |
| Absolute number is calculated from percentage |
| by rounding down. This can not be 0 if MaxSurge |
| is 0. Defaults to 0. Example: when this is |
| set to 30%, the old MachineSet can be scaled |
| down to 70% of desired machines immediately |
| when the rolling update starts. Once new machines |
| are ready, old MachineSet can be scaled down |
| further, followed by scaling up the new MachineSet, |
| ensuring that the total number of machines |
| available at all times during the update is |
| at least 70% of desired machines.' |
| x-kubernetes-int-or-string: true |
| type: object |
| type: |
| description: Type of deployment. Default is RollingUpdate. |
| enum: |
| - RollingUpdate |
| - OnDelete |
| type: string |
| type: object |
| variables: |
| description: Variables can be used to customize the |
| MachineDeployment through patches. |
| properties: |
| overrides: |
| description: Overrides can be used to override Cluster |
| level variables. |
| items: |
| description: ClusterVariable can be used to customize |
| the Cluster through patches. It must comply |
| to the corresponding ClusterClassVariable defined |
| in the ClusterClass. |
| properties: |
| name: |
| description: Name of the variable. |
| type: string |
| value: |
| description: 'Value of the variable. Note: |
| the value will be validated against the |
| schema of the corresponding ClusterClassVariable |
| from the ClusterClass. Note: We have to |
| use apiextensionsv1.JSON instead of a custom |
| JSON type, because controller-tools has |
| a hard-coded schema for apiextensionsv1.JSON |
| which cannot be produced by another type |
| via controller-tools, i.e. it is not possible |
| to have no type field. Ref: https://github.com/kubernetes-sigs/controller-tools/blob/d0e03a142d0ecdd5491593e941ee1d6b5d91dba6/pkg/crd/known_types.go#L106-L111' |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - name |
| - value |
| type: object |
| type: array |
| type: object |
| required: |
| - class |
| - name |
| type: object |
| type: array |
| type: object |
| required: |
| - class |
| - version |
| type: object |
| type: object |
| status: |
| description: ClusterStatus defines the observed state of Cluster. |
| properties: |
| conditions: |
| description: Conditions defines current service state of the cluster. |
| items: |
| description: Condition defines an observation of a Cluster API resource |
| 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. |
| format: date-time |
| type: string |
| message: |
| 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. |
| 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. |
| 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. |
| type: string |
| required: |
| - lastTransitionTime |
| - status |
| - type |
| type: object |
| type: array |
| controlPlaneReady: |
| description: ControlPlaneReady defines if the control plane is ready. |
| type: boolean |
| failureDomains: |
| additionalProperties: |
| description: FailureDomainSpec is the Schema for Cluster API failure |
| domains. It allows controllers to understand how many failure |
| domains a cluster can optionally span across. |
| properties: |
| attributes: |
| additionalProperties: |
| type: string |
| description: Attributes is a free form map of attributes an |
| infrastructure provider might use or require. |
| type: object |
| controlPlane: |
| description: ControlPlane determines if this failure domain |
| is suitable for use by control plane machines. |
| type: boolean |
| type: object |
| description: FailureDomains is a slice of failure domain objects synced |
| from the infrastructure provider. |
| type: object |
| failureMessage: |
| description: FailureMessage indicates that there is a fatal problem |
| reconciling the state, and will be set to a descriptive error message. |
| type: string |
| failureReason: |
| description: FailureReason indicates that there is a fatal problem |
| reconciling the state, and will be set to a token value suitable |
| for programmatic interpretation. |
| type: string |
| infrastructureReady: |
| description: InfrastructureReady is the state of the infrastructure |
| provider. |
| type: boolean |
| observedGeneration: |
| description: ObservedGeneration is the latest generation observed |
| by the controller. |
| format: int64 |
| type: integer |
| phase: |
| description: Phase represents the current phase of cluster actuation. |
| E.g. Pending, Running, Terminating, Failed etc. |
| type: string |
| type: object |
| type: object |
| served: true |
| storage: true |
| subresources: |
| status: {} |
| status: |
| acceptedNames: |
| kind: "" |
| plural: "" |
| conditions: null |
| storedVersions: null |
| --- |
| apiVersion: apiextensions.k8s.io/v1 |
| kind: CustomResourceDefinition |
| metadata: |
| annotations: |
| controller-gen.kubebuilder.io/version: v0.10.0 |
| creationTimestamp: null |
| labels: |
| cluster.x-k8s.io/provider: cluster-api |
| clusterctl.cluster.x-k8s.io: "" |
| name: extensionconfigs.runtime.cluster.x-k8s.io |
| spec: |
| group: runtime.cluster.x-k8s.io |
| names: |
| categories: |
| - cluster-api |
| kind: ExtensionConfig |
| listKind: ExtensionConfigList |
| plural: extensionconfigs |
| shortNames: |
| - ext |
| singular: extensionconfig |
| scope: Cluster |
| versions: |
| - additionalPrinterColumns: |
| - description: Time duration since creation of ExtensionConfig |
| jsonPath: .metadata.creationTimestamp |
| name: Age |
| type: date |
| name: v1alpha1 |
| schema: |
| openAPIV3Schema: |
| description: ExtensionConfig is the Schema for the ExtensionConfig 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' |
| type: string |
| kind: |
| description: 'Kind is a string value representing the REST resource this |
| object represents. Servers may infer this from the endpoint the client |
| submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| metadata: |
| type: object |
| spec: |
| description: ExtensionConfigSpec is the desired state of the ExtensionConfig |
| properties: |
| clientConfig: |
| description: ClientConfig defines how to communicate with the Extension |
| server. |
| properties: |
| caBundle: |
| description: CABundle is a PEM encoded CA bundle which will be |
| used to validate the Extension server's server certificate. |
| format: byte |
| type: string |
| service: |
| description: "Service is a reference to the Kubernetes service |
| for the Extension server. Note: Exactly one of `url` or `service` |
| must be specified. \n If the Extension server is running within |
| a cluster, then you should use `service`." |
| properties: |
| name: |
| description: Name is the name of the service. |
| type: string |
| namespace: |
| description: Namespace is the namespace of the service. |
| type: string |
| path: |
| description: Path is an optional URL path and if present may |
| be any string permissible in a URL. If a path is set it |
| will be used as prefix to the hook-specific path. |
| type: string |
| port: |
| description: Port is the port on the service that's hosting |
| the Extension server. Defaults to 443. Port should be a |
| valid port number (1-65535, inclusive). |
| format: int32 |
| type: integer |
| required: |
| - name |
| - namespace |
| type: object |
| url: |
| description: "URL gives the location of the Extension server, |
| in standard URL form (`scheme://host:port/path`). Note: Exactly |
| one of `url` or `service` must be specified. \n The scheme must |
| be \"https\". \n The `host` should not refer to a service running |
| in the cluster; use the `service` field instead. \n A path is |
| optional, and if present may be any string permissible in a |
| URL. If a path is set it will be used as prefix to the hook-specific |
| path. \n Attempting to use a user or basic auth e.g. \"user:password@\" |
| is not allowed. Fragments (\"#...\") and query parameters (\"?...\") |
| are not allowed either." |
| type: string |
| type: object |
| namespaceSelector: |
| description: NamespaceSelector decides whether to call the hook for |
| an object based on whether the namespace for that object matches |
| the selector. Defaults to the empty LabelSelector, which matches |
| all 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 relates the key |
| and values. |
| properties: |
| key: |
| description: key is the label key that the selector 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. |
| 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. |
| items: |
| type: string |
| type: array |
| required: |
| - key |
| - operator |
| type: object |
| type: array |
| 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. |
| type: object |
| type: object |
| required: |
| - clientConfig |
| type: object |
| status: |
| description: ExtensionConfigStatus is the current state of the ExtensionConfig |
| properties: |
| conditions: |
| description: Conditions define the current service state of the ExtensionConfig. |
| items: |
| description: Condition defines an observation of a Cluster API resource |
| 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. |
| format: date-time |
| type: string |
| message: |
| 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. |
| 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. |
| 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. |
| type: string |
| required: |
| - lastTransitionTime |
| - status |
| - type |
| type: object |
| type: array |
| handlers: |
| description: Handlers defines the current ExtensionHandlers supported |
| by an Extension. |
| items: |
| description: ExtensionHandler specifies the details of a handler |
| for a particular runtime hook registered by an Extension server. |
| properties: |
| failurePolicy: |
| description: FailurePolicy defines how failures in calls to |
| the ExtensionHandler should be handled by a client. Defaults |
| to Fail if not set. |
| type: string |
| name: |
| description: Name is the unique name of the ExtensionHandler. |
| type: string |
| requestHook: |
| description: RequestHook defines the versioned runtime hook |
| which this ExtensionHandler serves. |
| properties: |
| apiVersion: |
| description: APIVersion is the group and version of the |
| Hook. |
| type: string |
| hook: |
| description: Hook is the name of the hook. |
| type: string |
| required: |
| - apiVersion |
| - hook |
| type: object |
| timeoutSeconds: |
| description: TimeoutSeconds defines the timeout duration for |
| client calls to the ExtensionHandler. Defaults to 10 is not |
| set. |
| format: int32 |
| type: integer |
| required: |
| - name |
| - requestHook |
| type: object |
| type: array |
| x-kubernetes-list-map-keys: |
| - name |
| x-kubernetes-list-type: map |
| type: object |
| type: object |
| served: true |
| storage: true |
| subresources: |
| status: {} |
| status: |
| acceptedNames: |
| kind: "" |
| plural: "" |
| conditions: null |
| storedVersions: null |
| --- |
| apiVersion: apiextensions.k8s.io/v1 |
| kind: CustomResourceDefinition |
| metadata: |
| annotations: |
| controller-gen.kubebuilder.io/version: v0.10.0 |
| creationTimestamp: null |
| labels: |
| cluster.x-k8s.io/provider: cluster-api |
| clusterctl.cluster.x-k8s.io: "" |
| name: ipaddressclaims.ipam.cluster.x-k8s.io |
| spec: |
| group: ipam.cluster.x-k8s.io |
| names: |
| categories: |
| - cluster-api |
| kind: IPAddressClaim |
| listKind: IPAddressClaimList |
| plural: ipaddressclaims |
| singular: ipaddressclaim |
| scope: Namespaced |
| versions: |
| - additionalPrinterColumns: |
| - description: Name of the pool to allocate an address from |
| jsonPath: .spec.poolRef.name |
| name: Pool Name |
| type: string |
| - description: Kind of the pool to allocate an address from |
| jsonPath: .spec.poolRef.kind |
| name: Pool Kind |
| type: string |
| name: v1alpha1 |
| schema: |
| openAPIV3Schema: |
| description: IPAddressClaim is the Schema for the ipaddressclaim 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' |
| type: string |
| kind: |
| description: 'Kind is a string value representing the REST resource this |
| object represents. Servers may infer this from the endpoint the client |
| submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| metadata: |
| type: object |
| spec: |
| description: IPAddressClaimSpec is the desired state of an IPAddressClaim. |
| properties: |
| poolRef: |
| description: PoolRef is a reference to the pool from which an IP address |
| should be created. |
| properties: |
| apiGroup: |
| description: APIGroup is the group for the resource being referenced. |
| If APIGroup is not specified, the specified Kind must be in |
| the core API group. For any other third-party types, APIGroup |
| is required. |
| type: string |
| kind: |
| description: Kind is the type of resource being referenced |
| type: string |
| name: |
| description: Name is the name of resource being referenced |
| type: string |
| required: |
| - apiGroup |
| - kind |
| - name |
| type: object |
| required: |
| - poolRef |
| type: object |
| status: |
| description: IPAddressClaimStatus is the observed status of a IPAddressClaim. |
| properties: |
| addressRef: |
| description: AddressRef is a reference to the address that was created |
| for this claim. |
| properties: |
| 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?' |
| type: string |
| type: object |
| conditions: |
| description: Conditions summarises the current state of the IPAddressClaim |
| items: |
| description: Condition defines an observation of a Cluster API resource |
| 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. |
| format: date-time |
| type: string |
| message: |
| 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. |
| 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. |
| 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. |
| type: string |
| required: |
| - lastTransitionTime |
| - status |
| - type |
| type: object |
| type: array |
| required: |
| - addressRef |
| type: object |
| type: object |
| served: true |
| storage: true |
| subresources: |
| status: {} |
| status: |
| acceptedNames: |
| kind: "" |
| plural: "" |
| conditions: null |
| storedVersions: null |
| --- |
| apiVersion: apiextensions.k8s.io/v1 |
| kind: CustomResourceDefinition |
| metadata: |
| annotations: |
| controller-gen.kubebuilder.io/version: v0.10.0 |
| creationTimestamp: null |
| labels: |
| cluster.x-k8s.io/provider: cluster-api |
| clusterctl.cluster.x-k8s.io: "" |
| name: ipaddresses.ipam.cluster.x-k8s.io |
| spec: |
| group: ipam.cluster.x-k8s.io |
| names: |
| categories: |
| - cluster-api |
| kind: IPAddress |
| listKind: IPAddressList |
| plural: ipaddresses |
| singular: ipaddress |
| scope: Namespaced |
| versions: |
| - additionalPrinterColumns: |
| - description: Address |
| jsonPath: .spec.address |
| name: Address |
| type: string |
| - description: Name of the pool the address is from |
| jsonPath: .spec.poolRef.name |
| name: Pool Name |
| type: string |
| - description: Kind of the pool the address is from |
| jsonPath: .spec.poolRef.kind |
| name: Pool Kind |
| type: string |
| name: v1alpha1 |
| schema: |
| openAPIV3Schema: |
| description: IPAddress is the Schema for the ipaddress 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' |
| type: string |
| kind: |
| description: 'Kind is a string value representing the REST resource this |
| object represents. Servers may infer this from the endpoint the client |
| submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| metadata: |
| type: object |
| spec: |
| description: IPAddressSpec is the desired state of an IPAddress. |
| properties: |
| address: |
| description: Address is the IP address. |
| type: string |
| claimRef: |
| description: ClaimRef is a reference to the claim this IPAddress was |
| created for. |
| properties: |
| 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?' |
| type: string |
| type: object |
| gateway: |
| description: Gateway is the network gateway of the network the address |
| is from. |
| type: string |
| poolRef: |
| description: PoolRef is a reference to the pool that this IPAddress |
| was created from. |
| properties: |
| apiGroup: |
| description: APIGroup is the group for the resource being referenced. |
| If APIGroup is not specified, the specified Kind must be in |
| the core API group. For any other third-party types, APIGroup |
| is required. |
| type: string |
| kind: |
| description: Kind is the type of resource being referenced |
| type: string |
| name: |
| description: Name is the name of resource being referenced |
| type: string |
| required: |
| - apiGroup |
| - kind |
| - name |
| type: object |
| prefix: |
| description: Prefix is the prefix of the address. |
| type: integer |
| required: |
| - address |
| - claimRef |
| - gateway |
| - poolRef |
| - prefix |
| type: object |
| type: object |
| served: true |
| storage: true |
| subresources: {} |
| status: |
| acceptedNames: |
| kind: "" |
| plural: "" |
| conditions: null |
| storedVersions: null |
| --- |
| apiVersion: apiextensions.k8s.io/v1 |
| kind: CustomResourceDefinition |
| metadata: |
| annotations: |
| cert-manager.io/inject-ca-from: capi-system/capi-serving-cert |
| controller-gen.kubebuilder.io/version: v0.10.0 |
| creationTimestamp: null |
| labels: |
| cluster.x-k8s.io/provider: cluster-api |
| clusterctl.cluster.x-k8s.io: "" |
| name: machinedeployments.cluster.x-k8s.io |
| spec: |
| conversion: |
| strategy: Webhook |
| webhook: |
| clientConfig: |
| caBundle: Cg== |
| service: |
| name: capi-webhook-service |
| namespace: capi-system |
| path: /convert |
| conversionReviewVersions: |
| - v1 |
| - v1beta1 |
| group: cluster.x-k8s.io |
| names: |
| categories: |
| - cluster-api |
| kind: MachineDeployment |
| listKind: MachineDeploymentList |
| plural: machinedeployments |
| shortNames: |
| - md |
| singular: machinedeployment |
| scope: Namespaced |
| versions: |
| - additionalPrinterColumns: |
| - description: MachineDeployment status such as ScalingUp/ScalingDown/Running/Failed/Unknown |
| jsonPath: .status.phase |
| name: Phase |
| type: string |
| - description: Total number of non-terminated machines targeted by this MachineDeployment |
| jsonPath: .status.replicas |
| name: Replicas |
| type: integer |
| - description: Total number of ready machines targeted by this MachineDeployment |
| jsonPath: .status.readyReplicas |
| name: Ready |
| type: integer |
| - description: Total number of non-terminated machines targeted by this deployment |
| that have the desired template spec |
| jsonPath: .status.updatedReplicas |
| name: Updated |
| type: integer |
| - description: Total number of unavailable machines targeted by this MachineDeployment |
| jsonPath: .status.unavailableReplicas |
| name: Unavailable |
| type: integer |
| name: v1alpha3 |
| schema: |
| openAPIV3Schema: |
| description: MachineDeployment is the Schema for the machinedeployments 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' |
| type: string |
| kind: |
| description: 'Kind is a string value representing the REST resource this |
| object represents. Servers may infer this from the endpoint the client |
| submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| metadata: |
| type: object |
| spec: |
| description: MachineDeploymentSpec defines the desired state of MachineDeployment. |
| properties: |
| clusterName: |
| description: ClusterName is the name of the Cluster this object belongs |
| to. |
| minLength: 1 |
| type: string |
| minReadySeconds: |
| description: Minimum number of seconds for which a newly created machine |
| should be ready. Defaults to 0 (machine will be considered available |
| as soon as it is ready) |
| format: int32 |
| type: integer |
| paused: |
| description: Indicates that the deployment is paused. |
| type: boolean |
| progressDeadlineSeconds: |
| description: The maximum time in seconds for a deployment to make |
| progress before it is considered to be failed. The deployment controller |
| will continue to process failed deployments and a condition with |
| a ProgressDeadlineExceeded reason will be surfaced in the deployment |
| status. Note that progress will not be estimated during the time |
| a deployment is paused. Defaults to 600s. |
| format: int32 |
| type: integer |
| replicas: |
| description: Number of desired machines. Defaults to 1. This is a |
| pointer to distinguish between explicit zero and not specified. |
| format: int32 |
| type: integer |
| revisionHistoryLimit: |
| description: The number of old MachineSets to retain to allow rollback. |
| This is a pointer to distinguish between explicit zero and not specified. |
| Defaults to 1. |
| format: int32 |
| type: integer |
| selector: |
| description: Label selector for machines. Existing MachineSets whose |
| machines are selected by this will be the ones affected by this |
| deployment. It must match the machine template's labels. |
| 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. |
| properties: |
| key: |
| description: key is the label key that the selector 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. |
| 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. |
| items: |
| type: string |
| type: array |
| required: |
| - key |
| - operator |
| type: object |
| type: array |
| 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. |
| type: object |
| type: object |
| x-kubernetes-map-type: atomic |
| strategy: |
| description: The deployment strategy to use to replace existing machines |
| with new ones. |
| properties: |
| rollingUpdate: |
| description: Rolling update config params. Present only if MachineDeploymentStrategyType |
| = RollingUpdate. |
| properties: |
| maxSurge: |
| anyOf: |
| - type: integer |
| - type: string |
| description: 'The maximum number of machines that can be scheduled |
| above the desired number of machines. Value can be an absolute |
| number (ex: 5) or a percentage of desired machines (ex: |
| 10%). This can not be 0 if MaxUnavailable is 0. Absolute |
| number is calculated from percentage by rounding up. Defaults |
| to 1. Example: when this is set to 30%, the new MachineSet |
| can be scaled up immediately when the rolling update starts, |
| such that the total number of old and new machines do not |
| exceed 130% of desired machines. Once old machines have |
| been killed, new MachineSet can be scaled up further, ensuring |
| that total number of machines running at any time during |
| the update is at most 130% of desired machines.' |
| x-kubernetes-int-or-string: true |
| maxUnavailable: |
| anyOf: |
| - type: integer |
| - type: string |
| description: 'The maximum number of machines that can be unavailable |
| during the update. Value can be an absolute number (ex: |
| 5) or a percentage of desired machines (ex: 10%). Absolute |
| number is calculated from percentage by rounding down. This |
| can not be 0 if MaxSurge is 0. Defaults to 0. Example: when |
| this is set to 30%, the old MachineSet can be scaled down |
| to 70% of desired machines immediately when the rolling |
| update starts. Once new machines are ready, old MachineSet |
| can be scaled down further, followed by scaling up the new |
| MachineSet, ensuring that the total number of machines available |
| at all times during the update is at least 70% of desired |
| machines.' |
| x-kubernetes-int-or-string: true |
| type: object |
| type: |
| description: Type of deployment. Currently the only supported |
| strategy is "RollingUpdate". Default is RollingUpdate. |
| type: string |
| type: object |
| template: |
| description: Template describes the machines that will be created. |
| properties: |
| metadata: |
| description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata' |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: 'Annotations is an unstructured key value map |
| stored with a resource that may be set by external tools |
| to store and retrieve arbitrary metadata. They are not queryable |
| and should be preserved when modifying objects. More info: |
| http://kubernetes.io/docs/user-guide/annotations' |
| type: object |
| generateName: |
| description: "GenerateName is an optional prefix, used by |
| the server, to generate a unique name ONLY IF the Name field |
| has not been provided. If this field is used, the name returned |
| to the client will be different than the name passed. This |
| value will also be combined with a unique suffix. The provided |
| value has the same validation rules as the Name field, and |
| may be truncated by the length of the suffix required to |
| make the value unique on the server. \n If this field is |
| specified and the generated name exists, the server will |
| NOT return a 409 - instead, it will either return 201 Created |
| or 500 with Reason ServerTimeout indicating a unique name |
| could not be found in the time allotted, and the client |
| should retry (optionally after the time indicated in the |
| Retry-After header). \n Applied only if Name is not specified. |
| More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency |
| \n Deprecated: This field has no function and is going to |
| be removed in a next release." |
| type: string |
| labels: |
| additionalProperties: |
| type: string |
| description: 'Map of string keys and values that can be used |
| to organize and categorize (scope and select) objects. May |
| match selectors of replication controllers and services. |
| More info: http://kubernetes.io/docs/user-guide/labels' |
| type: object |
| name: |
| description: "Name must be unique within a namespace. Is required |
| when creating resources, although some resources may allow |
| a client to request the generation of an appropriate name |
| automatically. Name is primarily intended for creation idempotence |
| and configuration definition. Cannot be updated. More info: |
| http://kubernetes.io/docs/user-guide/identifiers#names \n |
| Deprecated: This field has no function and is going to be |
| removed in a next release." |
| type: string |
| namespace: |
| description: "Namespace defines the space within each name |
| must be unique. An empty namespace is equivalent to the |
| \"default\" namespace, but \"default\" is the canonical |
| representation. Not all objects are required to be scoped |
| to a namespace - the value of this field for those objects |
| will be empty. \n Must be a DNS_LABEL. Cannot be updated. |
| More info: http://kubernetes.io/docs/user-guide/namespaces |
| \n Deprecated: This field has no function and is going to |
| be removed in a next release." |
| type: string |
| ownerReferences: |
| description: "List of objects depended by this object. If |
| ALL objects in the list have been deleted, this object will |
| be garbage collected. If this object is managed by a controller, |
| then an entry in this list will point to this controller, |
| with the controller field set to true. There cannot be more |
| than one managing controller. \n Deprecated: This field |
| has no function and is going to be removed in a next release." |
| items: |
| description: OwnerReference contains enough information |
| to let you identify an owning object. An owning object |
| must be in the same namespace as the dependent, or be |
| cluster-scoped, so there is no namespace field. |
| properties: |
| apiVersion: |
| description: API version of the referent. |
| type: string |
| blockOwnerDeletion: |
| description: If true, AND if the owner has the "foregroundDeletion" |
| finalizer, then the owner cannot be deleted from the |
| key-value store until this reference is removed. See |
| https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion |
| for how the garbage collector interacts with this |
| field and enforces the foreground deletion. Defaults |
| to false. To set this field, a user needs "delete" |
| permission of the owner, otherwise 422 (Unprocessable |
| Entity) will be returned. |
| type: boolean |
| controller: |
| description: If true, this reference points to the managing |
| controller. |
| type: boolean |
| kind: |
| 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: http://kubernetes.io/docs/user-guide/identifiers#names' |
| type: string |
| uid: |
| description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids' |
| type: string |
| required: |
| - apiVersion |
| - kind |
| - name |
| - uid |
| type: object |
| x-kubernetes-map-type: atomic |
| type: array |
| type: object |
| spec: |
| description: 'Specification of the desired behavior of the machine. |
| More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' |
| properties: |
| bootstrap: |
| description: Bootstrap is a reference to a local struct which |
| encapsulates fields to configure the Machine’s bootstrapping |
| mechanism. |
| properties: |
| configRef: |
| description: ConfigRef is a reference to a bootstrap provider-specific |
| resource that holds configuration details. The reference |
| is optional to allow users/operators to specify Bootstrap.Data |
| without the need of a controller. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| data: |
| description: "Data contains the bootstrap data, such as |
| cloud-init details scripts. If nil, the Machine should |
| remain in the Pending state. \n Deprecated: Switch to |
| DataSecretName." |
| type: string |
| dataSecretName: |
| description: DataSecretName is the name of the secret |
| that stores the bootstrap data script. If nil, the Machine |
| should remain in the Pending state. |
| type: string |
| type: object |
| clusterName: |
| description: ClusterName is the name of the Cluster this object |
| belongs to. |
| minLength: 1 |
| type: string |
| failureDomain: |
| description: FailureDomain is the failure domain the machine |
| will be created in. Must match a key in the FailureDomains |
| map stored on the cluster object. |
| type: string |
| infrastructureRef: |
| description: InfrastructureRef is a required reference to |
| a custom resource offered by an infrastructure provider. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| nodeDrainTimeout: |
| description: 'NodeDrainTimeout is the total amount of time |
| that the controller will spend on draining a node. The default |
| value is 0, meaning that the node can be drained without |
| any time limitations. NOTE: NodeDrainTimeout is different |
| from `kubectl drain --timeout`' |
| type: string |
| providerID: |
| description: ProviderID is the identification ID of the machine |
| provided by the provider. This field must match the provider |
| ID as seen on the node object corresponding to this machine. |
| This field is required by higher level consumers of cluster-api. |
| Example use case is cluster autoscaler with cluster-api |
| as provider. Clean-up logic in the autoscaler compares machines |
| to nodes to find out machines at provider which could not |
| get registered as Kubernetes nodes. With cluster-api as |
| a generic out-of-tree provider for autoscaler, this field |
| is required by autoscaler to be able to have a provider |
| view of the list of machines. Another list of nodes is queried |
| from the k8s apiserver and then a comparison is done to |
| find out unregistered machines and are marked for delete. |
| This field will be set by the actuators and consumed by |
| higher level entities like autoscaler that will be interfacing |
| with cluster-api as generic provider. |
| type: string |
| version: |
| description: Version defines the desired Kubernetes version. |
| This field is meant to be optionally used by bootstrap providers. |
| type: string |
| required: |
| - bootstrap |
| - clusterName |
| - infrastructureRef |
| type: object |
| type: object |
| required: |
| - clusterName |
| - selector |
| - template |
| type: object |
| status: |
| description: MachineDeploymentStatus defines the observed state of MachineDeployment. |
| properties: |
| availableReplicas: |
| description: Total number of available machines (ready for at least |
| minReadySeconds) targeted by this deployment. |
| format: int32 |
| type: integer |
| observedGeneration: |
| description: The generation observed by the deployment controller. |
| format: int64 |
| type: integer |
| phase: |
| description: Phase represents the current phase of a MachineDeployment |
| (ScalingUp, ScalingDown, Running, Failed, or Unknown). |
| type: string |
| readyReplicas: |
| description: Total number of ready machines targeted by this deployment. |
| format: int32 |
| type: integer |
| replicas: |
| description: Total number of non-terminated machines targeted by this |
| deployment (their labels match the selector). |
| format: int32 |
| type: integer |
| selector: |
| description: 'Selector is the same as the label selector but in the |
| string format to avoid introspection by clients. The string will |
| be in the same format as the query-param syntax. More info about |
| label selectors: http://kubernetes.io/docs/user-guide/labels#label-selectors' |
| type: string |
| unavailableReplicas: |
| description: Total number of unavailable machines targeted by this |
| deployment. This is the total number of machines that are still |
| required for the deployment to have 100% available capacity. They |
| may either be machines that are running but not yet available or |
| machines that still have not been created. |
| format: int32 |
| type: integer |
| updatedReplicas: |
| description: Total number of non-terminated machines targeted by this |
| deployment that have the desired template spec. |
| format: int32 |
| type: integer |
| type: object |
| type: object |
| served: true |
| storage: false |
| subresources: |
| scale: |
| labelSelectorPath: .status.selector |
| specReplicasPath: .spec.replicas |
| statusReplicasPath: .status.replicas |
| status: {} |
| - additionalPrinterColumns: |
| - description: Cluster |
| jsonPath: .spec.clusterName |
| name: Cluster |
| type: string |
| - description: Time duration since creation of MachineDeployment |
| jsonPath: .metadata.creationTimestamp |
| name: Age |
| type: date |
| - description: MachineDeployment status such as ScalingUp/ScalingDown/Running/Failed/Unknown |
| jsonPath: .status.phase |
| name: Phase |
| type: string |
| - description: Total number of non-terminated machines targeted by this MachineDeployment |
| jsonPath: .status.replicas |
| name: Replicas |
| type: integer |
| - description: Total number of ready machines targeted by this MachineDeployment |
| jsonPath: .status.readyReplicas |
| name: Ready |
| type: integer |
| - description: Total number of non-terminated machines targeted by this deployment |
| that have the desired template spec |
| jsonPath: .status.updatedReplicas |
| name: Updated |
| type: integer |
| - description: Total number of unavailable machines targeted by this MachineDeployment |
| jsonPath: .status.unavailableReplicas |
| name: Unavailable |
| type: integer |
| name: v1alpha4 |
| schema: |
| openAPIV3Schema: |
| description: MachineDeployment is the Schema for the machinedeployments 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' |
| type: string |
| kind: |
| description: 'Kind is a string value representing the REST resource this |
| object represents. Servers may infer this from the endpoint the client |
| submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| metadata: |
| type: object |
| spec: |
| description: MachineDeploymentSpec defines the desired state of MachineDeployment. |
| properties: |
| clusterName: |
| description: ClusterName is the name of the Cluster this object belongs |
| to. |
| minLength: 1 |
| type: string |
| minReadySeconds: |
| description: Minimum number of seconds for which a newly created machine |
| should be ready. Defaults to 0 (machine will be considered available |
| as soon as it is ready) |
| format: int32 |
| type: integer |
| paused: |
| description: Indicates that the deployment is paused. |
| type: boolean |
| progressDeadlineSeconds: |
| description: The maximum time in seconds for a deployment to make |
| progress before it is considered to be failed. The deployment controller |
| will continue to process failed deployments and a condition with |
| a ProgressDeadlineExceeded reason will be surfaced in the deployment |
| status. Note that progress will not be estimated during the time |
| a deployment is paused. Defaults to 600s. |
| format: int32 |
| type: integer |
| replicas: |
| default: 1 |
| description: Number of desired machines. Defaults to 1. This is a |
| pointer to distinguish between explicit zero and not specified. |
| format: int32 |
| type: integer |
| revisionHistoryLimit: |
| description: The number of old MachineSets to retain to allow rollback. |
| This is a pointer to distinguish between explicit zero and not specified. |
| Defaults to 1. |
| format: int32 |
| type: integer |
| selector: |
| description: Label selector for machines. Existing MachineSets whose |
| machines are selected by this will be the ones affected by this |
| deployment. It must match the machine template's labels. |
| 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. |
| properties: |
| key: |
| description: key is the label key that the selector 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. |
| 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. |
| items: |
| type: string |
| type: array |
| required: |
| - key |
| - operator |
| type: object |
| type: array |
| 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. |
| type: object |
| type: object |
| x-kubernetes-map-type: atomic |
| strategy: |
| description: The deployment strategy to use to replace existing machines |
| with new ones. |
| properties: |
| rollingUpdate: |
| description: Rolling update config params. Present only if MachineDeploymentStrategyType |
| = RollingUpdate. |
| properties: |
| deletePolicy: |
| description: DeletePolicy defines the policy used by the MachineDeployment |
| to identify nodes to delete when downscaling. Valid values |
| are "Random, "Newest", "Oldest" When no value is supplied, |
| the default DeletePolicy of MachineSet is used |
| enum: |
| - Random |
| - Newest |
| - Oldest |
| type: string |
| maxSurge: |
| anyOf: |
| - type: integer |
| - type: string |
| description: 'The maximum number of machines that can be scheduled |
| above the desired number of machines. Value can be an absolute |
| number (ex: 5) or a percentage of desired machines (ex: |
| 10%). This can not be 0 if MaxUnavailable is 0. Absolute |
| number is calculated from percentage by rounding up. Defaults |
| to 1. Example: when this is set to 30%, the new MachineSet |
| can be scaled up immediately when the rolling update starts, |
| such that the total number of old and new machines do not |
| exceed 130% of desired machines. Once old machines have |
| been killed, new MachineSet can be scaled up further, ensuring |
| that total number of machines running at any time during |
| the update is at most 130% of desired machines.' |
| x-kubernetes-int-or-string: true |
| maxUnavailable: |
| anyOf: |
| - type: integer |
| - type: string |
| description: 'The maximum number of machines that can be unavailable |
| during the update. Value can be an absolute number (ex: |
| 5) or a percentage of desired machines (ex: 10%). Absolute |
| number is calculated from percentage by rounding down. This |
| can not be 0 if MaxSurge is 0. Defaults to 0. Example: when |
| this is set to 30%, the old MachineSet can be scaled down |
| to 70% of desired machines immediately when the rolling |
| update starts. Once new machines are ready, old MachineSet |
| can be scaled down further, followed by scaling up the new |
| MachineSet, ensuring that the total number of machines available |
| at all times during the update is at least 70% of desired |
| machines.' |
| x-kubernetes-int-or-string: true |
| type: object |
| type: |
| description: Type of deployment. Default is RollingUpdate. |
| enum: |
| - RollingUpdate |
| - OnDelete |
| type: string |
| type: object |
| template: |
| description: Template describes the machines that will be created. |
| properties: |
| metadata: |
| description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata' |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: 'Annotations is an unstructured key value map |
| stored with a resource that may be set by external tools |
| to store and retrieve arbitrary metadata. They are not queryable |
| and should be preserved when modifying objects. More info: |
| http://kubernetes.io/docs/user-guide/annotations' |
| type: object |
| labels: |
| additionalProperties: |
| type: string |
| description: 'Map of string keys and values that can be used |
| to organize and categorize (scope and select) objects. May |
| match selectors of replication controllers and services. |
| More info: http://kubernetes.io/docs/user-guide/labels' |
| type: object |
| type: object |
| spec: |
| description: 'Specification of the desired behavior of the machine. |
| More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' |
| properties: |
| bootstrap: |
| description: Bootstrap is a reference to a local struct which |
| encapsulates fields to configure the Machine’s bootstrapping |
| mechanism. |
| properties: |
| configRef: |
| description: ConfigRef is a reference to a bootstrap provider-specific |
| resource that holds configuration details. The reference |
| is optional to allow users/operators to specify Bootstrap.DataSecretName |
| without the need of a controller. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| dataSecretName: |
| description: DataSecretName is the name of the secret |
| that stores the bootstrap data script. If nil, the Machine |
| should remain in the Pending state. |
| type: string |
| type: object |
| clusterName: |
| description: ClusterName is the name of the Cluster this object |
| belongs to. |
| minLength: 1 |
| type: string |
| failureDomain: |
| description: FailureDomain is the failure domain the machine |
| will be created in. Must match a key in the FailureDomains |
| map stored on the cluster object. |
| type: string |
| infrastructureRef: |
| description: InfrastructureRef is a required reference to |
| a custom resource offered by an infrastructure provider. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| nodeDrainTimeout: |
| description: 'NodeDrainTimeout is the total amount of time |
| that the controller will spend on draining a node. The default |
| value is 0, meaning that the node can be drained without |
| any time limitations. NOTE: NodeDrainTimeout is different |
| from `kubectl drain --timeout`' |
| type: string |
| providerID: |
| description: ProviderID is the identification ID of the machine |
| provided by the provider. This field must match the provider |
| ID as seen on the node object corresponding to this machine. |
| This field is required by higher level consumers of cluster-api. |
| Example use case is cluster autoscaler with cluster-api |
| as provider. Clean-up logic in the autoscaler compares machines |
| to nodes to find out machines at provider which could not |
| get registered as Kubernetes nodes. With cluster-api as |
| a generic out-of-tree provider for autoscaler, this field |
| is required by autoscaler to be able to have a provider |
| view of the list of machines. Another list of nodes is queried |
| from the k8s apiserver and then a comparison is done to |
| find out unregistered machines and are marked for delete. |
| This field will be set by the actuators and consumed by |
| higher level entities like autoscaler that will be interfacing |
| with cluster-api as generic provider. |
| type: string |
| version: |
| description: Version defines the desired Kubernetes version. |
| This field is meant to be optionally used by bootstrap providers. |
| type: string |
| required: |
| - bootstrap |
| - clusterName |
| - infrastructureRef |
| type: object |
| type: object |
| required: |
| - clusterName |
| - selector |
| - template |
| type: object |
| status: |
| description: MachineDeploymentStatus defines the observed state of MachineDeployment. |
| properties: |
| availableReplicas: |
| description: Total number of available machines (ready for at least |
| minReadySeconds) targeted by this deployment. |
| format: int32 |
| type: integer |
| conditions: |
| description: Conditions defines current service state of the MachineDeployment. |
| items: |
| description: Condition defines an observation of a Cluster API resource |
| 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. |
| format: date-time |
| type: string |
| message: |
| 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. |
| 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. |
| 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. |
| type: string |
| required: |
| - status |
| - type |
| type: object |
| type: array |
| observedGeneration: |
| description: The generation observed by the deployment controller. |
| format: int64 |
| type: integer |
| phase: |
| description: Phase represents the current phase of a MachineDeployment |
| (ScalingUp, ScalingDown, Running, Failed, or Unknown). |
| type: string |
| readyReplicas: |
| description: Total number of ready machines targeted by this deployment. |
| format: int32 |
| type: integer |
| replicas: |
| description: Total number of non-terminated machines targeted by this |
| deployment (their labels match the selector). |
| format: int32 |
| type: integer |
| selector: |
| description: 'Selector is the same as the label selector but in the |
| string format to avoid introspection by clients. The string will |
| be in the same format as the query-param syntax. More info about |
| label selectors: http://kubernetes.io/docs/user-guide/labels#label-selectors' |
| type: string |
| unavailableReplicas: |
| description: Total number of unavailable machines targeted by this |
| deployment. This is the total number of machines that are still |
| required for the deployment to have 100% available capacity. They |
| may either be machines that are running but not yet available or |
| machines that still have not been created. |
| format: int32 |
| type: integer |
| updatedReplicas: |
| description: Total number of non-terminated machines targeted by this |
| deployment that have the desired template spec. |
| format: int32 |
| type: integer |
| type: object |
| type: object |
| served: true |
| storage: false |
| subresources: |
| scale: |
| labelSelectorPath: .status.selector |
| specReplicasPath: .spec.replicas |
| statusReplicasPath: .status.replicas |
| status: {} |
| - additionalPrinterColumns: |
| - description: Cluster |
| jsonPath: .spec.clusterName |
| name: Cluster |
| type: string |
| - description: Total number of machines desired by this MachineDeployment |
| jsonPath: .spec.replicas |
| name: Desired |
| priority: 10 |
| type: integer |
| - description: Total number of non-terminated machines targeted by this MachineDeployment |
| jsonPath: .status.replicas |
| name: Replicas |
| type: integer |
| - description: Total number of ready machines targeted by this MachineDeployment |
| jsonPath: .status.readyReplicas |
| name: Ready |
| type: integer |
| - description: Total number of non-terminated machines targeted by this deployment |
| that have the desired template spec |
| jsonPath: .status.updatedReplicas |
| name: Updated |
| type: integer |
| - description: Total number of unavailable machines targeted by this MachineDeployment |
| jsonPath: .status.unavailableReplicas |
| name: Unavailable |
| type: integer |
| - description: MachineDeployment status such as ScalingUp/ScalingDown/Running/Failed/Unknown |
| jsonPath: .status.phase |
| name: Phase |
| type: string |
| - description: Time duration since creation of MachineDeployment |
| jsonPath: .metadata.creationTimestamp |
| name: Age |
| type: date |
| - description: Kubernetes version associated with this MachineDeployment |
| jsonPath: .spec.template.spec.version |
| name: Version |
| type: string |
| name: v1beta1 |
| schema: |
| openAPIV3Schema: |
| description: MachineDeployment is the Schema for the machinedeployments 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' |
| type: string |
| kind: |
| description: 'Kind is a string value representing the REST resource this |
| object represents. Servers may infer this from the endpoint the client |
| submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| metadata: |
| type: object |
| spec: |
| description: MachineDeploymentSpec defines the desired state of MachineDeployment. |
| properties: |
| clusterName: |
| description: ClusterName is the name of the Cluster this object belongs |
| to. |
| minLength: 1 |
| type: string |
| minReadySeconds: |
| description: Minimum number of seconds for which a newly created machine |
| should be ready. Defaults to 0 (machine will be considered available |
| as soon as it is ready) |
| format: int32 |
| type: integer |
| paused: |
| description: Indicates that the deployment is paused. |
| type: boolean |
| progressDeadlineSeconds: |
| description: The maximum time in seconds for a deployment to make |
| progress before it is considered to be failed. The deployment controller |
| will continue to process failed deployments and a condition with |
| a ProgressDeadlineExceeded reason will be surfaced in the deployment |
| status. Note that progress will not be estimated during the time |
| a deployment is paused. Defaults to 600s. |
| format: int32 |
| type: integer |
| replicas: |
| default: 1 |
| description: Number of desired machines. Defaults to 1. This is a |
| pointer to distinguish between explicit zero and not specified. |
| format: int32 |
| type: integer |
| revisionHistoryLimit: |
| description: The number of old MachineSets to retain to allow rollback. |
| This is a pointer to distinguish between explicit zero and not specified. |
| Defaults to 1. |
| format: int32 |
| type: integer |
| selector: |
| description: Label selector for machines. Existing MachineSets whose |
| machines are selected by this will be the ones affected by this |
| deployment. It must match the machine template's labels. |
| 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. |
| properties: |
| key: |
| description: key is the label key that the selector 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. |
| 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. |
| items: |
| type: string |
| type: array |
| required: |
| - key |
| - operator |
| type: object |
| type: array |
| 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. |
| type: object |
| type: object |
| x-kubernetes-map-type: atomic |
| strategy: |
| description: The deployment strategy to use to replace existing machines |
| with new ones. |
| properties: |
| rollingUpdate: |
| description: Rolling update config params. Present only if MachineDeploymentStrategyType |
| = RollingUpdate. |
| properties: |
| deletePolicy: |
| description: DeletePolicy defines the policy used by the MachineDeployment |
| to identify nodes to delete when downscaling. Valid values |
| are "Random, "Newest", "Oldest" When no value is supplied, |
| the default DeletePolicy of MachineSet is used |
| enum: |
| - Random |
| - Newest |
| - Oldest |
| type: string |
| maxSurge: |
| anyOf: |
| - type: integer |
| - type: string |
| description: 'The maximum number of machines that can be scheduled |
| above the desired number of machines. Value can be an absolute |
| number (ex: 5) or a percentage of desired machines (ex: |
| 10%). This can not be 0 if MaxUnavailable is 0. Absolute |
| number is calculated from percentage by rounding up. Defaults |
| to 1. Example: when this is set to 30%, the new MachineSet |
| can be scaled up immediately when the rolling update starts, |
| such that the total number of old and new machines do not |
| exceed 130% of desired machines. Once old machines have |
| been killed, new MachineSet can be scaled up further, ensuring |
| that total number of machines running at any time during |
| the update is at most 130% of desired machines.' |
| x-kubernetes-int-or-string: true |
| maxUnavailable: |
| anyOf: |
| - type: integer |
| - type: string |
| description: 'The maximum number of machines that can be unavailable |
| during the update. Value can be an absolute number (ex: |
| 5) or a percentage of desired machines (ex: 10%). Absolute |
| number is calculated from percentage by rounding down. This |
| can not be 0 if MaxSurge is 0. Defaults to 0. Example: when |
| this is set to 30%, the old MachineSet can be scaled down |
| to 70% of desired machines immediately when the rolling |
| update starts. Once new machines are ready, old MachineSet |
| can be scaled down further, followed by scaling up the new |
| MachineSet, ensuring that the total number of machines available |
| at all times during the update is at least 70% of desired |
| machines.' |
| x-kubernetes-int-or-string: true |
| type: object |
| type: |
| description: Type of deployment. Default is RollingUpdate. |
| enum: |
| - RollingUpdate |
| - OnDelete |
| type: string |
| type: object |
| template: |
| description: Template describes the machines that will be created. |
| properties: |
| metadata: |
| description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata' |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: 'Annotations is an unstructured key value map |
| stored with a resource that may be set by external tools |
| to store and retrieve arbitrary metadata. They are not queryable |
| and should be preserved when modifying objects. More info: |
| http://kubernetes.io/docs/user-guide/annotations' |
| type: object |
| labels: |
| additionalProperties: |
| type: string |
| description: 'Map of string keys and values that can be used |
| to organize and categorize (scope and select) objects. May |
| match selectors of replication controllers and services. |
| More info: http://kubernetes.io/docs/user-guide/labels' |
| type: object |
| type: object |
| spec: |
| description: 'Specification of the desired behavior of the machine. |
| More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' |
| properties: |
| bootstrap: |
| description: Bootstrap is a reference to a local struct which |
| encapsulates fields to configure the Machine’s bootstrapping |
| mechanism. |
| properties: |
| configRef: |
| description: ConfigRef is a reference to a bootstrap provider-specific |
| resource that holds configuration details. The reference |
| is optional to allow users/operators to specify Bootstrap.DataSecretName |
| without the need of a controller. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| dataSecretName: |
| description: DataSecretName is the name of the secret |
| that stores the bootstrap data script. If nil, the Machine |
| should remain in the Pending state. |
| type: string |
| type: object |
| clusterName: |
| description: ClusterName is the name of the Cluster this object |
| belongs to. |
| minLength: 1 |
| type: string |
| failureDomain: |
| description: FailureDomain is the failure domain the machine |
| will be created in. Must match a key in the FailureDomains |
| map stored on the cluster object. |
| type: string |
| infrastructureRef: |
| description: InfrastructureRef is a required reference to |
| a custom resource offered by an infrastructure provider. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| nodeDeletionTimeout: |
| description: NodeDeletionTimeout defines how long the controller |
| will attempt to delete the Node that the Machine hosts after |
| the Machine is marked for deletion. A duration of 0 will |
| retry deletion indefinitely. Defaults to 10 seconds. |
| type: string |
| nodeDrainTimeout: |
| description: 'NodeDrainTimeout is the total amount of time |
| that the controller will spend on draining a node. The default |
| value is 0, meaning that the node can be drained without |
| any time limitations. NOTE: NodeDrainTimeout is different |
| from `kubectl drain --timeout`' |
| type: string |
| nodeVolumeDetachTimeout: |
| description: NodeVolumeDetachTimeout is the total amount of |
| time that the controller will spend on waiting for all volumes |
| to be detached. The default value is 0, meaning that the |
| volumes can be detached without any time limitations. |
| type: string |
| providerID: |
| description: ProviderID is the identification ID of the machine |
| provided by the provider. This field must match the provider |
| ID as seen on the node object corresponding to this machine. |
| This field is required by higher level consumers of cluster-api. |
| Example use case is cluster autoscaler with cluster-api |
| as provider. Clean-up logic in the autoscaler compares machines |
| to nodes to find out machines at provider which could not |
| get registered as Kubernetes nodes. With cluster-api as |
| a generic out-of-tree provider for autoscaler, this field |
| is required by autoscaler to be able to have a provider |
| view of the list of machines. Another list of nodes is queried |
| from the k8s apiserver and then a comparison is done to |
| find out unregistered machines and are marked for delete. |
| This field will be set by the actuators and consumed by |
| higher level entities like autoscaler that will be interfacing |
| with cluster-api as generic provider. |
| type: string |
| version: |
| description: Version defines the desired Kubernetes version. |
| This field is meant to be optionally used by bootstrap providers. |
| type: string |
| required: |
| - bootstrap |
| - clusterName |
| - infrastructureRef |
| type: object |
| type: object |
| required: |
| - clusterName |
| - selector |
| - template |
| type: object |
| status: |
| description: MachineDeploymentStatus defines the observed state of MachineDeployment. |
| properties: |
| availableReplicas: |
| description: Total number of available machines (ready for at least |
| minReadySeconds) targeted by this deployment. |
| format: int32 |
| type: integer |
| conditions: |
| description: Conditions defines current service state of the MachineDeployment. |
| items: |
| description: Condition defines an observation of a Cluster API resource |
| 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. |
| format: date-time |
| type: string |
| message: |
| 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. |
| 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. |
| 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. |
| type: string |
| required: |
| - lastTransitionTime |
| - status |
| - type |
| type: object |
| type: array |
| observedGeneration: |
| description: The generation observed by the deployment controller. |
| format: int64 |
| type: integer |
| phase: |
| description: Phase represents the current phase of a MachineDeployment |
| (ScalingUp, ScalingDown, Running, Failed, or Unknown). |
| type: string |
| readyReplicas: |
| description: Total number of ready machines targeted by this deployment. |
| format: int32 |
| type: integer |
| replicas: |
| description: Total number of non-terminated machines targeted by this |
| deployment (their labels match the selector). |
| format: int32 |
| type: integer |
| selector: |
| description: 'Selector is the same as the label selector but in the |
| string format to avoid introspection by clients. The string will |
| be in the same format as the query-param syntax. More info about |
| label selectors: http://kubernetes.io/docs/user-guide/labels#label-selectors' |
| type: string |
| unavailableReplicas: |
| description: Total number of unavailable machines targeted by this |
| deployment. This is the total number of machines that are still |
| required for the deployment to have 100% available capacity. They |
| may either be machines that are running but not yet available or |
| machines that still have not been created. |
| format: int32 |
| type: integer |
| updatedReplicas: |
| description: Total number of non-terminated machines targeted by this |
| deployment that have the desired template spec. |
| format: int32 |
| type: integer |
| type: object |
| type: object |
| served: true |
| storage: true |
| subresources: |
| scale: |
| labelSelectorPath: .status.selector |
| specReplicasPath: .spec.replicas |
| statusReplicasPath: .status.replicas |
| status: {} |
| status: |
| acceptedNames: |
| kind: "" |
| plural: "" |
| conditions: null |
| storedVersions: null |
| --- |
| apiVersion: apiextensions.k8s.io/v1 |
| kind: CustomResourceDefinition |
| metadata: |
| annotations: |
| cert-manager.io/inject-ca-from: capi-system/capi-serving-cert |
| controller-gen.kubebuilder.io/version: v0.10.0 |
| creationTimestamp: null |
| labels: |
| cluster.x-k8s.io/provider: cluster-api |
| clusterctl.cluster.x-k8s.io: "" |
| name: machinehealthchecks.cluster.x-k8s.io |
| spec: |
| conversion: |
| strategy: Webhook |
| webhook: |
| clientConfig: |
| caBundle: Cg== |
| service: |
| name: capi-webhook-service |
| namespace: capi-system |
| path: /convert |
| conversionReviewVersions: |
| - v1 |
| - v1beta1 |
| group: cluster.x-k8s.io |
| names: |
| categories: |
| - cluster-api |
| kind: MachineHealthCheck |
| listKind: MachineHealthCheckList |
| plural: machinehealthchecks |
| shortNames: |
| - mhc |
| - mhcs |
| singular: machinehealthcheck |
| scope: Namespaced |
| versions: |
| - additionalPrinterColumns: |
| - description: Maximum number of unhealthy machines allowed |
| jsonPath: .spec.maxUnhealthy |
| name: MaxUnhealthy |
| type: string |
| - description: Number of machines currently monitored |
| jsonPath: .status.expectedMachines |
| name: ExpectedMachines |
| type: integer |
| - description: Current observed healthy machines |
| jsonPath: .status.currentHealthy |
| name: CurrentHealthy |
| type: integer |
| name: v1alpha3 |
| schema: |
| openAPIV3Schema: |
| description: MachineHealthCheck is the Schema for the machinehealthchecks |
| 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' |
| type: string |
| kind: |
| description: 'Kind is a string value representing the REST resource this |
| object represents. Servers may infer this from the endpoint the client |
| submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| metadata: |
| type: object |
| spec: |
| description: Specification of machine health check policy |
| properties: |
| clusterName: |
| description: ClusterName is the name of the Cluster this object belongs |
| to. |
| minLength: 1 |
| type: string |
| maxUnhealthy: |
| anyOf: |
| - type: integer |
| - type: string |
| description: Any further remediation is only allowed if at most "MaxUnhealthy" |
| machines selected by "selector" are not healthy. |
| x-kubernetes-int-or-string: true |
| nodeStartupTimeout: |
| description: Machines older than this duration without a node will |
| be considered to have failed and will be remediated. |
| type: string |
| remediationTemplate: |
| description: "RemediationTemplate is a reference to a remediation |
| template provided by an infrastructure provider. \n This field is |
| completely optional, when filled, the MachineHealthCheck controller |
| creates a new object from the template referenced and hands off |
| remediation of the machine to a controller that lives outside of |
| Cluster API." |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| selector: |
| description: Label selector to match machines whose health will be |
| exercised |
| 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. |
| properties: |
| key: |
| description: key is the label key that the selector 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. |
| 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. |
| items: |
| type: string |
| type: array |
| required: |
| - key |
| - operator |
| type: object |
| type: array |
| 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. |
| type: object |
| type: object |
| x-kubernetes-map-type: atomic |
| unhealthyConditions: |
| description: UnhealthyConditions contains a list of the conditions |
| that determine whether a node is considered unhealthy. The conditions |
| are combined in a logical OR, i.e. if any of the conditions is met, |
| the node is unhealthy. |
| items: |
| description: UnhealthyCondition represents a Node condition type |
| and value with a timeout specified as a duration. When the named |
| condition has been in the given status for at least the timeout |
| value, a node is considered unhealthy. |
| properties: |
| status: |
| minLength: 1 |
| type: string |
| timeout: |
| type: string |
| type: |
| minLength: 1 |
| type: string |
| required: |
| - status |
| - timeout |
| - type |
| type: object |
| minItems: 1 |
| type: array |
| required: |
| - clusterName |
| - selector |
| - unhealthyConditions |
| type: object |
| status: |
| description: Most recently observed status of MachineHealthCheck resource |
| properties: |
| conditions: |
| description: Conditions defines current service state of the MachineHealthCheck. |
| items: |
| description: Condition defines an observation of a Cluster API resource |
| 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. |
| format: date-time |
| type: string |
| message: |
| 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. |
| 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. |
| 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. |
| type: string |
| required: |
| - status |
| - type |
| type: object |
| type: array |
| currentHealthy: |
| description: total number of healthy machines counted by this machine |
| health check |
| format: int32 |
| minimum: 0 |
| type: integer |
| expectedMachines: |
| description: total number of machines counted by this machine health |
| check |
| format: int32 |
| minimum: 0 |
| type: integer |
| observedGeneration: |
| description: ObservedGeneration is the latest generation observed |
| by the controller. |
| format: int64 |
| type: integer |
| remediationsAllowed: |
| description: RemediationsAllowed is the number of further remediations |
| allowed by this machine health check before maxUnhealthy short circuiting |
| will be applied |
| format: int32 |
| minimum: 0 |
| type: integer |
| targets: |
| description: Targets shows the current list of machines the machine |
| health check is watching |
| items: |
| type: string |
| type: array |
| type: object |
| type: object |
| served: true |
| storage: false |
| subresources: |
| status: {} |
| - additionalPrinterColumns: |
| - description: Cluster |
| jsonPath: .spec.clusterName |
| name: Cluster |
| type: string |
| - description: Time duration since creation of MachineHealthCheck |
| jsonPath: .metadata.creationTimestamp |
| name: Age |
| type: date |
| - description: Maximum number of unhealthy machines allowed |
| jsonPath: .spec.maxUnhealthy |
| name: MaxUnhealthy |
| type: string |
| - description: Number of machines currently monitored |
| jsonPath: .status.expectedMachines |
| name: ExpectedMachines |
| type: integer |
| - description: Current observed healthy machines |
| jsonPath: .status.currentHealthy |
| name: CurrentHealthy |
| type: integer |
| name: v1alpha4 |
| schema: |
| openAPIV3Schema: |
| description: MachineHealthCheck is the Schema for the machinehealthchecks |
| 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' |
| type: string |
| kind: |
| description: 'Kind is a string value representing the REST resource this |
| object represents. Servers may infer this from the endpoint the client |
| submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| metadata: |
| type: object |
| spec: |
| description: Specification of machine health check policy |
| properties: |
| clusterName: |
| description: ClusterName is the name of the Cluster this object belongs |
| to. |
| minLength: 1 |
| type: string |
| maxUnhealthy: |
| anyOf: |
| - type: integer |
| - type: string |
| description: Any further remediation is only allowed if at most "MaxUnhealthy" |
| machines selected by "selector" are not healthy. |
| x-kubernetes-int-or-string: true |
| nodeStartupTimeout: |
| description: Machines older than this duration without a node will |
| be considered to have failed and will be remediated. If not set, |
| this value is defaulted to 10 minutes. If you wish to disable this |
| feature, set the value explicitly to 0. |
| type: string |
| remediationTemplate: |
| description: "RemediationTemplate is a reference to a remediation |
| template provided by an infrastructure provider. \n This field is |
| completely optional, when filled, the MachineHealthCheck controller |
| creates a new object from the template referenced and hands off |
| remediation of the machine to a controller that lives outside of |
| Cluster API." |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| selector: |
| description: Label selector to match machines whose health will be |
| exercised |
| 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. |
| properties: |
| key: |
| description: key is the label key that the selector 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. |
| 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. |
| items: |
| type: string |
| type: array |
| required: |
| - key |
| - operator |
| type: object |
| type: array |
| 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. |
| type: object |
| type: object |
| x-kubernetes-map-type: atomic |
| unhealthyConditions: |
| description: UnhealthyConditions contains a list of the conditions |
| that determine whether a node is considered unhealthy. The conditions |
| are combined in a logical OR, i.e. if any of the conditions is met, |
| the node is unhealthy. |
| items: |
| description: UnhealthyCondition represents a Node condition type |
| and value with a timeout specified as a duration. When the named |
| condition has been in the given status for at least the timeout |
| value, a node is considered unhealthy. |
| properties: |
| status: |
| minLength: 1 |
| type: string |
| timeout: |
| type: string |
| type: |
| minLength: 1 |
| type: string |
| required: |
| - status |
| - timeout |
| - type |
| type: object |
| minItems: 1 |
| type: array |
| unhealthyRange: |
| description: 'Any further remediation is only allowed if the number |
| of machines selected by "selector" as not healthy is within the |
| range of "UnhealthyRange". Takes precedence over MaxUnhealthy. Eg. |
| "[3-5]" - This means that remediation will be allowed only when: |
| (a) there are at least 3 unhealthy machines (and) (b) there are |
| at most 5 unhealthy machines' |
| pattern: ^\[[0-9]+-[0-9]+\]$ |
| type: string |
| required: |
| - clusterName |
| - selector |
| - unhealthyConditions |
| type: object |
| status: |
| description: Most recently observed status of MachineHealthCheck resource |
| properties: |
| conditions: |
| description: Conditions defines current service state of the MachineHealthCheck. |
| items: |
| description: Condition defines an observation of a Cluster API resource |
| 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. |
| format: date-time |
| type: string |
| message: |
| 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. |
| 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. |
| 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. |
| type: string |
| required: |
| - status |
| - type |
| type: object |
| type: array |
| currentHealthy: |
| description: total number of healthy machines counted by this machine |
| health check |
| format: int32 |
| minimum: 0 |
| type: integer |
| expectedMachines: |
| description: total number of machines counted by this machine health |
| check |
| format: int32 |
| minimum: 0 |
| type: integer |
| observedGeneration: |
| description: ObservedGeneration is the latest generation observed |
| by the controller. |
| format: int64 |
| type: integer |
| remediationsAllowed: |
| description: RemediationsAllowed is the number of further remediations |
| allowed by this machine health check before maxUnhealthy short circuiting |
| will be applied |
| format: int32 |
| minimum: 0 |
| type: integer |
| targets: |
| description: Targets shows the current list of machines the machine |
| health check is watching |
| items: |
| type: string |
| type: array |
| type: object |
| type: object |
| served: true |
| storage: false |
| subresources: |
| status: {} |
| - additionalPrinterColumns: |
| - description: Cluster |
| jsonPath: .spec.clusterName |
| name: Cluster |
| type: string |
| - description: Number of machines currently monitored |
| jsonPath: .status.expectedMachines |
| name: ExpectedMachines |
| type: integer |
| - description: Maximum number of unhealthy machines allowed |
| jsonPath: .spec.maxUnhealthy |
| name: MaxUnhealthy |
| type: string |
| - description: Current observed healthy machines |
| jsonPath: .status.currentHealthy |
| name: CurrentHealthy |
| type: integer |
| - description: Time duration since creation of MachineHealthCheck |
| jsonPath: .metadata.creationTimestamp |
| name: Age |
| type: date |
| name: v1beta1 |
| schema: |
| openAPIV3Schema: |
| description: MachineHealthCheck is the Schema for the machinehealthchecks |
| 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' |
| type: string |
| kind: |
| description: 'Kind is a string value representing the REST resource this |
| object represents. Servers may infer this from the endpoint the client |
| submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| metadata: |
| type: object |
| spec: |
| description: Specification of machine health check policy |
| properties: |
| clusterName: |
| description: ClusterName is the name of the Cluster this object belongs |
| to. |
| minLength: 1 |
| type: string |
| maxUnhealthy: |
| anyOf: |
| - type: integer |
| - type: string |
| description: Any further remediation is only allowed if at most "MaxUnhealthy" |
| machines selected by "selector" are not healthy. |
| x-kubernetes-int-or-string: true |
| nodeStartupTimeout: |
| description: Machines older than this duration without a node will |
| be considered to have failed and will be remediated. If not set, |
| this value is defaulted to 10 minutes. If you wish to disable this |
| feature, set the value explicitly to 0. |
| type: string |
| remediationTemplate: |
| description: "RemediationTemplate is a reference to a remediation |
| template provided by an infrastructure provider. \n This field is |
| completely optional, when filled, the MachineHealthCheck controller |
| creates a new object from the template referenced and hands off |
| remediation of the machine to a controller that lives outside of |
| Cluster API." |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| selector: |
| description: Label selector to match machines whose health will be |
| exercised |
| 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. |
| properties: |
| key: |
| description: key is the label key that the selector 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. |
| 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. |
| items: |
| type: string |
| type: array |
| required: |
| - key |
| - operator |
| type: object |
| type: array |
| 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. |
| type: object |
| type: object |
| x-kubernetes-map-type: atomic |
| unhealthyConditions: |
| description: UnhealthyConditions contains a list of the conditions |
| that determine whether a node is considered unhealthy. The conditions |
| are combined in a logical OR, i.e. if any of the conditions is met, |
| the node is unhealthy. |
| items: |
| description: UnhealthyCondition represents a Node condition type |
| and value with a timeout specified as a duration. When the named |
| condition has been in the given status for at least the timeout |
| value, a node is considered unhealthy. |
| properties: |
| status: |
| minLength: 1 |
| type: string |
| timeout: |
| type: string |
| type: |
| minLength: 1 |
| type: string |
| required: |
| - status |
| - timeout |
| - type |
| type: object |
| minItems: 1 |
| type: array |
| unhealthyRange: |
| description: 'Any further remediation is only allowed if the number |
| of machines selected by "selector" as not healthy is within the |
| range of "UnhealthyRange". Takes precedence over MaxUnhealthy. Eg. |
| "[3-5]" - This means that remediation will be allowed only when: |
| (a) there are at least 3 unhealthy machines (and) (b) there are |
| at most 5 unhealthy machines' |
| pattern: ^\[[0-9]+-[0-9]+\]$ |
| type: string |
| required: |
| - clusterName |
| - selector |
| - unhealthyConditions |
| type: object |
| status: |
| description: Most recently observed status of MachineHealthCheck resource |
| properties: |
| conditions: |
| description: Conditions defines current service state of the MachineHealthCheck. |
| items: |
| description: Condition defines an observation of a Cluster API resource |
| 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. |
| format: date-time |
| type: string |
| message: |
| 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. |
| 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. |
| 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. |
| type: string |
| required: |
| - lastTransitionTime |
| - status |
| - type |
| type: object |
| type: array |
| currentHealthy: |
| description: total number of healthy machines counted by this machine |
| health check |
| format: int32 |
| minimum: 0 |
| type: integer |
| expectedMachines: |
| description: total number of machines counted by this machine health |
| check |
| format: int32 |
| minimum: 0 |
| type: integer |
| observedGeneration: |
| description: ObservedGeneration is the latest generation observed |
| by the controller. |
| format: int64 |
| type: integer |
| remediationsAllowed: |
| description: RemediationsAllowed is the number of further remediations |
| allowed by this machine health check before maxUnhealthy short circuiting |
| will be applied |
| format: int32 |
| minimum: 0 |
| type: integer |
| targets: |
| description: Targets shows the current list of machines the machine |
| health check is watching |
| items: |
| type: string |
| type: array |
| type: object |
| type: object |
| served: true |
| storage: true |
| subresources: |
| status: {} |
| status: |
| acceptedNames: |
| kind: "" |
| plural: "" |
| conditions: null |
| storedVersions: null |
| --- |
| apiVersion: apiextensions.k8s.io/v1 |
| kind: CustomResourceDefinition |
| metadata: |
| annotations: |
| cert-manager.io/inject-ca-from: capi-system/capi-serving-cert |
| controller-gen.kubebuilder.io/version: v0.10.0 |
| creationTimestamp: null |
| labels: |
| cluster.x-k8s.io/provider: cluster-api |
| clusterctl.cluster.x-k8s.io: "" |
| name: machinepools.cluster.x-k8s.io |
| spec: |
| conversion: |
| strategy: Webhook |
| webhook: |
| clientConfig: |
| caBundle: Cg== |
| service: |
| name: capi-webhook-service |
| namespace: capi-system |
| path: /convert |
| conversionReviewVersions: |
| - v1 |
| - v1beta1 |
| group: cluster.x-k8s.io |
| names: |
| categories: |
| - cluster-api |
| kind: MachinePool |
| listKind: MachinePoolList |
| plural: machinepools |
| shortNames: |
| - mp |
| singular: machinepool |
| scope: Namespaced |
| versions: |
| - additionalPrinterColumns: |
| - description: MachinePool replicas count |
| jsonPath: .status.replicas |
| name: Replicas |
| type: string |
| - description: MachinePool status such as Terminating/Pending/Provisioning/Running/Failed |
| etc |
| jsonPath: .status.phase |
| name: Phase |
| type: string |
| - description: Kubernetes version associated with this MachinePool |
| jsonPath: .spec.template.spec.version |
| name: Version |
| type: string |
| name: v1alpha3 |
| schema: |
| openAPIV3Schema: |
| description: MachinePool is the Schema for the machinepools 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' |
| type: string |
| kind: |
| description: 'Kind is a string value representing the REST resource this |
| object represents. Servers may infer this from the endpoint the client |
| submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| metadata: |
| type: object |
| spec: |
| description: MachinePoolSpec defines the desired state of MachinePool. |
| properties: |
| clusterName: |
| description: ClusterName is the name of the Cluster this object belongs |
| to. |
| minLength: 1 |
| type: string |
| failureDomains: |
| description: FailureDomains is the list of failure domains this MachinePool |
| should be attached to. |
| items: |
| type: string |
| type: array |
| minReadySeconds: |
| description: Minimum number of seconds for which a newly created machine |
| instances should be ready. Defaults to 0 (machine instance will |
| be considered available as soon as it is ready) |
| format: int32 |
| type: integer |
| providerIDList: |
| description: ProviderIDList are the identification IDs of machine |
| instances provided by the provider. This field must match the provider |
| IDs as seen on the node objects corresponding to a machine pool's |
| machine instances. |
| items: |
| type: string |
| type: array |
| replicas: |
| description: Number of desired machines. Defaults to 1. This is a |
| pointer to distinguish between explicit zero and not specified. |
| format: int32 |
| type: integer |
| strategy: |
| description: The deployment strategy to use to replace existing machine |
| instances with new ones. |
| properties: |
| rollingUpdate: |
| description: Rolling update config params. Present only if MachineDeploymentStrategyType |
| = RollingUpdate. |
| properties: |
| maxSurge: |
| anyOf: |
| - type: integer |
| - type: string |
| description: 'The maximum number of machines that can be scheduled |
| above the desired number of machines. Value can be an absolute |
| number (ex: 5) or a percentage of desired machines (ex: |
| 10%). This can not be 0 if MaxUnavailable is 0. Absolute |
| number is calculated from percentage by rounding up. Defaults |
| to 1. Example: when this is set to 30%, the new MachineSet |
| can be scaled up immediately when the rolling update starts, |
| such that the total number of old and new machines do not |
| exceed 130% of desired machines. Once old machines have |
| been killed, new MachineSet can be scaled up further, ensuring |
| that total number of machines running at any time during |
| the update is at most 130% of desired machines.' |
| x-kubernetes-int-or-string: true |
| maxUnavailable: |
| anyOf: |
| - type: integer |
| - type: string |
| description: 'The maximum number of machines that can be unavailable |
| during the update. Value can be an absolute number (ex: |
| 5) or a percentage of desired machines (ex: 10%). Absolute |
| number is calculated from percentage by rounding down. This |
| can not be 0 if MaxSurge is 0. Defaults to 0. Example: when |
| this is set to 30%, the old MachineSet can be scaled down |
| to 70% of desired machines immediately when the rolling |
| update starts. Once new machines are ready, old MachineSet |
| can be scaled down further, followed by scaling up the new |
| MachineSet, ensuring that the total number of machines available |
| at all times during the update is at least 70% of desired |
| machines.' |
| x-kubernetes-int-or-string: true |
| type: object |
| type: |
| description: Type of deployment. Currently the only supported |
| strategy is "RollingUpdate". Default is RollingUpdate. |
| type: string |
| type: object |
| template: |
| description: Template describes the machines that will be created. |
| properties: |
| metadata: |
| description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata' |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: 'Annotations is an unstructured key value map |
| stored with a resource that may be set by external tools |
| to store and retrieve arbitrary metadata. They are not queryable |
| and should be preserved when modifying objects. More info: |
| http://kubernetes.io/docs/user-guide/annotations' |
| type: object |
| generateName: |
| description: "GenerateName is an optional prefix, used by |
| the server, to generate a unique name ONLY IF the Name field |
| has not been provided. If this field is used, the name returned |
| to the client will be different than the name passed. This |
| value will also be combined with a unique suffix. The provided |
| value has the same validation rules as the Name field, and |
| may be truncated by the length of the suffix required to |
| make the value unique on the server. \n If this field is |
| specified and the generated name exists, the server will |
| NOT return a 409 - instead, it will either return 201 Created |
| or 500 with Reason ServerTimeout indicating a unique name |
| could not be found in the time allotted, and the client |
| should retry (optionally after the time indicated in the |
| Retry-After header). \n Applied only if Name is not specified. |
| More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency |
| \n Deprecated: This field has no function and is going to |
| be removed in a next release." |
| type: string |
| labels: |
| additionalProperties: |
| type: string |
| description: 'Map of string keys and values that can be used |
| to organize and categorize (scope and select) objects. May |
| match selectors of replication controllers and services. |
| More info: http://kubernetes.io/docs/user-guide/labels' |
| type: object |
| name: |
| description: "Name must be unique within a namespace. Is required |
| when creating resources, although some resources may allow |
| a client to request the generation of an appropriate name |
| automatically. Name is primarily intended for creation idempotence |
| and configuration definition. Cannot be updated. More info: |
| http://kubernetes.io/docs/user-guide/identifiers#names \n |
| Deprecated: This field has no function and is going to be |
| removed in a next release." |
| type: string |
| namespace: |
| description: "Namespace defines the space within each name |
| must be unique. An empty namespace is equivalent to the |
| \"default\" namespace, but \"default\" is the canonical |
| representation. Not all objects are required to be scoped |
| to a namespace - the value of this field for those objects |
| will be empty. \n Must be a DNS_LABEL. Cannot be updated. |
| More info: http://kubernetes.io/docs/user-guide/namespaces |
| \n Deprecated: This field has no function and is going to |
| be removed in a next release." |
| type: string |
| ownerReferences: |
| description: "List of objects depended by this object. If |
| ALL objects in the list have been deleted, this object will |
| be garbage collected. If this object is managed by a controller, |
| then an entry in this list will point to this controller, |
| with the controller field set to true. There cannot be more |
| than one managing controller. \n Deprecated: This field |
| has no function and is going to be removed in a next release." |
| items: |
| description: OwnerReference contains enough information |
| to let you identify an owning object. An owning object |
| must be in the same namespace as the dependent, or be |
| cluster-scoped, so there is no namespace field. |
| properties: |
| apiVersion: |
| description: API version of the referent. |
| type: string |
| blockOwnerDeletion: |
| description: If true, AND if the owner has the "foregroundDeletion" |
| finalizer, then the owner cannot be deleted from the |
| key-value store until this reference is removed. See |
| https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion |
| for how the garbage collector interacts with this |
| field and enforces the foreground deletion. Defaults |
| to false. To set this field, a user needs "delete" |
| permission of the owner, otherwise 422 (Unprocessable |
| Entity) will be returned. |
| type: boolean |
| controller: |
| description: If true, this reference points to the managing |
| controller. |
| type: boolean |
| kind: |
| 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: http://kubernetes.io/docs/user-guide/identifiers#names' |
| type: string |
| uid: |
| description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids' |
| type: string |
| required: |
| - apiVersion |
| - kind |
| - name |
| - uid |
| type: object |
| x-kubernetes-map-type: atomic |
| type: array |
| type: object |
| spec: |
| description: 'Specification of the desired behavior of the machine. |
| More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' |
| properties: |
| bootstrap: |
| description: Bootstrap is a reference to a local struct which |
| encapsulates fields to configure the Machine’s bootstrapping |
| mechanism. |
| properties: |
| configRef: |
| description: ConfigRef is a reference to a bootstrap provider-specific |
| resource that holds configuration details. The reference |
| is optional to allow users/operators to specify Bootstrap.Data |
| without the need of a controller. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| data: |
| description: "Data contains the bootstrap data, such as |
| cloud-init details scripts. If nil, the Machine should |
| remain in the Pending state. \n Deprecated: Switch to |
| DataSecretName." |
| type: string |
| dataSecretName: |
| description: DataSecretName is the name of the secret |
| that stores the bootstrap data script. If nil, the Machine |
| should remain in the Pending state. |
| type: string |
| type: object |
| clusterName: |
| description: ClusterName is the name of the Cluster this object |
| belongs to. |
| minLength: 1 |
| type: string |
| failureDomain: |
| description: FailureDomain is the failure domain the machine |
| will be created in. Must match a key in the FailureDomains |
| map stored on the cluster object. |
| type: string |
| infrastructureRef: |
| description: InfrastructureRef is a required reference to |
| a custom resource offered by an infrastructure provider. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| nodeDrainTimeout: |
| description: 'NodeDrainTimeout is the total amount of time |
| that the controller will spend on draining a node. The default |
| value is 0, meaning that the node can be drained without |
| any time limitations. NOTE: NodeDrainTimeout is different |
| from `kubectl drain --timeout`' |
| type: string |
| providerID: |
| description: ProviderID is the identification ID of the machine |
| provided by the provider. This field must match the provider |
| ID as seen on the node object corresponding to this machine. |
| This field is required by higher level consumers of cluster-api. |
| Example use case is cluster autoscaler with cluster-api |
| as provider. Clean-up logic in the autoscaler compares machines |
| to nodes to find out machines at provider which could not |
| get registered as Kubernetes nodes. With cluster-api as |
| a generic out-of-tree provider for autoscaler, this field |
| is required by autoscaler to be able to have a provider |
| view of the list of machines. Another list of nodes is queried |
| from the k8s apiserver and then a comparison is done to |
| find out unregistered machines and are marked for delete. |
| This field will be set by the actuators and consumed by |
| higher level entities like autoscaler that will be interfacing |
| with cluster-api as generic provider. |
| type: string |
| version: |
| description: Version defines the desired Kubernetes version. |
| This field is meant to be optionally used by bootstrap providers. |
| type: string |
| required: |
| - bootstrap |
| - clusterName |
| - infrastructureRef |
| type: object |
| type: object |
| required: |
| - clusterName |
| - template |
| type: object |
| status: |
| description: MachinePoolStatus defines the observed state of MachinePool. |
| properties: |
| availableReplicas: |
| description: The number of available replicas (ready for at least |
| minReadySeconds) for this MachinePool. |
| format: int32 |
| type: integer |
| bootstrapReady: |
| description: BootstrapReady is the state of the bootstrap provider. |
| type: boolean |
| conditions: |
| description: Conditions define the current service state of the MachinePool. |
| items: |
| description: Condition defines an observation of a Cluster API resource |
| 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. |
| format: date-time |
| type: string |
| message: |
| 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. |
| 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. |
| 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. |
| type: string |
| required: |
| - status |
| - type |
| type: object |
| type: array |
| failureMessage: |
| description: FailureMessage indicates that there is a problem reconciling |
| the state, and will be set to a descriptive error message. |
| type: string |
| failureReason: |
| description: FailureReason indicates that there is a problem reconciling |
| the state, and will be set to a token value suitable for programmatic |
| interpretation. |
| type: string |
| infrastructureReady: |
| description: InfrastructureReady is the state of the infrastructure |
| provider. |
| type: boolean |
| nodeRefs: |
| description: NodeRefs will point to the corresponding Nodes if it |
| they exist. |
| 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 |
| ." |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' |
| type: string |
| type: object |
| type: array |
| observedGeneration: |
| description: ObservedGeneration is the latest generation observed |
| by the controller. |
| format: int64 |
| type: integer |
| phase: |
| description: Phase represents the current phase of cluster actuation. |
| E.g. Pending, Running, Terminating, Failed etc. |
| type: string |
| readyReplicas: |
| description: The number of ready replicas for this MachinePool. A |
| machine is considered ready when the node has been created and is |
| "Ready". |
| format: int32 |
| type: integer |
| replicas: |
| description: Replicas is the most recently observed number of replicas. |
| format: int32 |
| type: integer |
| unavailableReplicas: |
| description: Total number of unavailable machine instances targeted |
| by this machine pool. This is the total number of machine instances |
| that are still required for the machine pool to have 100% available |
| capacity. They may either be machine instances that are running |
| but not yet available or machine instances that still have not been |
| created. |
| format: int32 |
| type: integer |
| type: object |
| type: object |
| served: true |
| storage: false |
| subresources: |
| scale: |
| specReplicasPath: .spec.replicas |
| statusReplicasPath: .status.replicas |
| status: {} |
| - additionalPrinterColumns: |
| - description: Time duration since creation of MachinePool |
| jsonPath: .metadata.creationTimestamp |
| name: Age |
| type: date |
| - description: MachinePool replicas count |
| jsonPath: .status.replicas |
| name: Replicas |
| type: string |
| - description: MachinePool status such as Terminating/Pending/Provisioning/Running/Failed |
| etc |
| jsonPath: .status.phase |
| name: Phase |
| type: string |
| - description: Kubernetes version associated with this MachinePool |
| jsonPath: .spec.template.spec.version |
| name: Version |
| type: string |
| name: v1alpha4 |
| schema: |
| openAPIV3Schema: |
| description: MachinePool is the Schema for the machinepools 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' |
| type: string |
| kind: |
| description: 'Kind is a string value representing the REST resource this |
| object represents. Servers may infer this from the endpoint the client |
| submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| metadata: |
| type: object |
| spec: |
| description: MachinePoolSpec defines the desired state of MachinePool. |
| properties: |
| clusterName: |
| description: ClusterName is the name of the Cluster this object belongs |
| to. |
| minLength: 1 |
| type: string |
| failureDomains: |
| description: FailureDomains is the list of failure domains this MachinePool |
| should be attached to. |
| items: |
| type: string |
| type: array |
| minReadySeconds: |
| description: Minimum number of seconds for which a newly created machine |
| instances should be ready. Defaults to 0 (machine instance will |
| be considered available as soon as it is ready) |
| format: int32 |
| type: integer |
| providerIDList: |
| description: ProviderIDList are the identification IDs of machine |
| instances provided by the provider. This field must match the provider |
| IDs as seen on the node objects corresponding to a machine pool's |
| machine instances. |
| items: |
| type: string |
| type: array |
| replicas: |
| description: Number of desired machines. Defaults to 1. This is a |
| pointer to distinguish between explicit zero and not specified. |
| format: int32 |
| type: integer |
| template: |
| description: Template describes the machines that will be created. |
| properties: |
| metadata: |
| description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata' |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: 'Annotations is an unstructured key value map |
| stored with a resource that may be set by external tools |
| to store and retrieve arbitrary metadata. They are not queryable |
| and should be preserved when modifying objects. More info: |
| http://kubernetes.io/docs/user-guide/annotations' |
| type: object |
| labels: |
| additionalProperties: |
| type: string |
| description: 'Map of string keys and values that can be used |
| to organize and categorize (scope and select) objects. May |
| match selectors of replication controllers and services. |
| More info: http://kubernetes.io/docs/user-guide/labels' |
| type: object |
| type: object |
| spec: |
| description: 'Specification of the desired behavior of the machine. |
| More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' |
| properties: |
| bootstrap: |
| description: Bootstrap is a reference to a local struct which |
| encapsulates fields to configure the Machine’s bootstrapping |
| mechanism. |
| properties: |
| configRef: |
| description: ConfigRef is a reference to a bootstrap provider-specific |
| resource that holds configuration details. The reference |
| is optional to allow users/operators to specify Bootstrap.DataSecretName |
| without the need of a controller. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| dataSecretName: |
| description: DataSecretName is the name of the secret |
| that stores the bootstrap data script. If nil, the Machine |
| should remain in the Pending state. |
| type: string |
| type: object |
| clusterName: |
| description: ClusterName is the name of the Cluster this object |
| belongs to. |
| minLength: 1 |
| type: string |
| failureDomain: |
| description: FailureDomain is the failure domain the machine |
| will be created in. Must match a key in the FailureDomains |
| map stored on the cluster object. |
| type: string |
| infrastructureRef: |
| description: InfrastructureRef is a required reference to |
| a custom resource offered by an infrastructure provider. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| nodeDrainTimeout: |
| description: 'NodeDrainTimeout is the total amount of time |
| that the controller will spend on draining a node. The default |
| value is 0, meaning that the node can be drained without |
| any time limitations. NOTE: NodeDrainTimeout is different |
| from `kubectl drain --timeout`' |
| type: string |
| providerID: |
| description: ProviderID is the identification ID of the machine |
| provided by the provider. This field must match the provider |
| ID as seen on the node object corresponding to this machine. |
| This field is required by higher level consumers of cluster-api. |
| Example use case is cluster autoscaler with cluster-api |
| as provider. Clean-up logic in the autoscaler compares machines |
| to nodes to find out machines at provider which could not |
| get registered as Kubernetes nodes. With cluster-api as |
| a generic out-of-tree provider for autoscaler, this field |
| is required by autoscaler to be able to have a provider |
| view of the list of machines. Another list of nodes is queried |
| from the k8s apiserver and then a comparison is done to |
| find out unregistered machines and are marked for delete. |
| This field will be set by the actuators and consumed by |
| higher level entities like autoscaler that will be interfacing |
| with cluster-api as generic provider. |
| type: string |
| version: |
| description: Version defines the desired Kubernetes version. |
| This field is meant to be optionally used by bootstrap providers. |
| type: string |
| required: |
| - bootstrap |
| - clusterName |
| - infrastructureRef |
| type: object |
| type: object |
| required: |
| - clusterName |
| - template |
| type: object |
| status: |
| description: MachinePoolStatus defines the observed state of MachinePool. |
| properties: |
| availableReplicas: |
| description: The number of available replicas (ready for at least |
| minReadySeconds) for this MachinePool. |
| format: int32 |
| type: integer |
| bootstrapReady: |
| description: BootstrapReady is the state of the bootstrap provider. |
| type: boolean |
| conditions: |
| description: Conditions define the current service state of the MachinePool. |
| items: |
| description: Condition defines an observation of a Cluster API resource |
| 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. |
| format: date-time |
| type: string |
| message: |
| 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. |
| 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. |
| 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. |
| type: string |
| required: |
| - status |
| - type |
| type: object |
| type: array |
| failureMessage: |
| description: FailureMessage indicates that there is a problem reconciling |
| the state, and will be set to a descriptive error message. |
| type: string |
| failureReason: |
| description: FailureReason indicates that there is a problem reconciling |
| the state, and will be set to a token value suitable for programmatic |
| interpretation. |
| type: string |
| infrastructureReady: |
| description: InfrastructureReady is the state of the infrastructure |
| provider. |
| type: boolean |
| nodeRefs: |
| description: NodeRefs will point to the corresponding Nodes if it |
| they exist. |
| 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 |
| ." |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' |
| type: string |
| type: object |
| type: array |
| observedGeneration: |
| description: ObservedGeneration is the latest generation observed |
| by the controller. |
| format: int64 |
| type: integer |
| phase: |
| description: Phase represents the current phase of cluster actuation. |
| E.g. Pending, Running, Terminating, Failed etc. |
| type: string |
| readyReplicas: |
| description: The number of ready replicas for this MachinePool. A |
| machine is considered ready when the node has been created and is |
| "Ready". |
| format: int32 |
| type: integer |
| replicas: |
| description: Replicas is the most recently observed number of replicas. |
| format: int32 |
| type: integer |
| unavailableReplicas: |
| description: Total number of unavailable machine instances targeted |
| by this machine pool. This is the total number of machine instances |
| that are still required for the machine pool to have 100% available |
| capacity. They may either be machine instances that are running |
| but not yet available or machine instances that still have not been |
| created. |
| format: int32 |
| type: integer |
| type: object |
| type: object |
| served: true |
| storage: false |
| subresources: |
| scale: |
| specReplicasPath: .spec.replicas |
| statusReplicasPath: .status.replicas |
| status: {} |
| - additionalPrinterColumns: |
| - description: Cluster |
| jsonPath: .spec.clusterName |
| name: Cluster |
| type: string |
| - description: Total number of machines desired by this MachinePool |
| jsonPath: .spec.replicas |
| name: Desired |
| priority: 10 |
| type: integer |
| - description: MachinePool replicas count |
| jsonPath: .status.replicas |
| name: Replicas |
| type: string |
| - description: MachinePool status such as Terminating/Pending/Provisioning/Running/Failed |
| etc |
| jsonPath: .status.phase |
| name: Phase |
| type: string |
| - description: Time duration since creation of MachinePool |
| jsonPath: .metadata.creationTimestamp |
| name: Age |
| type: date |
| - description: Kubernetes version associated with this MachinePool |
| jsonPath: .spec.template.spec.version |
| name: Version |
| type: string |
| name: v1beta1 |
| schema: |
| openAPIV3Schema: |
| description: MachinePool is the Schema for the machinepools 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' |
| type: string |
| kind: |
| description: 'Kind is a string value representing the REST resource this |
| object represents. Servers may infer this from the endpoint the client |
| submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| metadata: |
| type: object |
| spec: |
| description: MachinePoolSpec defines the desired state of MachinePool. |
| properties: |
| clusterName: |
| description: ClusterName is the name of the Cluster this object belongs |
| to. |
| minLength: 1 |
| type: string |
| failureDomains: |
| description: FailureDomains is the list of failure domains this MachinePool |
| should be attached to. |
| items: |
| type: string |
| type: array |
| minReadySeconds: |
| description: Minimum number of seconds for which a newly created machine |
| instances should be ready. Defaults to 0 (machine instance will |
| be considered available as soon as it is ready) |
| format: int32 |
| type: integer |
| providerIDList: |
| description: ProviderIDList are the identification IDs of machine |
| instances provided by the provider. This field must match the provider |
| IDs as seen on the node objects corresponding to a machine pool's |
| machine instances. |
| items: |
| type: string |
| type: array |
| replicas: |
| description: Number of desired machines. Defaults to 1. This is a |
| pointer to distinguish between explicit zero and not specified. |
| format: int32 |
| type: integer |
| template: |
| description: Template describes the machines that will be created. |
| properties: |
| metadata: |
| description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata' |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: 'Annotations is an unstructured key value map |
| stored with a resource that may be set by external tools |
| to store and retrieve arbitrary metadata. They are not queryable |
| and should be preserved when modifying objects. More info: |
| http://kubernetes.io/docs/user-guide/annotations' |
| type: object |
| labels: |
| additionalProperties: |
| type: string |
| description: 'Map of string keys and values that can be used |
| to organize and categorize (scope and select) objects. May |
| match selectors of replication controllers and services. |
| More info: http://kubernetes.io/docs/user-guide/labels' |
| type: object |
| type: object |
| spec: |
| description: 'Specification of the desired behavior of the machine. |
| More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' |
| properties: |
| bootstrap: |
| description: Bootstrap is a reference to a local struct which |
| encapsulates fields to configure the Machine’s bootstrapping |
| mechanism. |
| properties: |
| configRef: |
| description: ConfigRef is a reference to a bootstrap provider-specific |
| resource that holds configuration details. The reference |
| is optional to allow users/operators to specify Bootstrap.DataSecretName |
| without the need of a controller. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| dataSecretName: |
| description: DataSecretName is the name of the secret |
| that stores the bootstrap data script. If nil, the Machine |
| should remain in the Pending state. |
| type: string |
| type: object |
| clusterName: |
| description: ClusterName is the name of the Cluster this object |
| belongs to. |
| minLength: 1 |
| type: string |
| failureDomain: |
| description: FailureDomain is the failure domain the machine |
| will be created in. Must match a key in the FailureDomains |
| map stored on the cluster object. |
| type: string |
| infrastructureRef: |
| description: InfrastructureRef is a required reference to |
| a custom resource offered by an infrastructure provider. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| nodeDeletionTimeout: |
| description: NodeDeletionTimeout defines how long the controller |
| will attempt to delete the Node that the Machine hosts after |
| the Machine is marked for deletion. A duration of 0 will |
| retry deletion indefinitely. Defaults to 10 seconds. |
| type: string |
| nodeDrainTimeout: |
| description: 'NodeDrainTimeout is the total amount of time |
| that the controller will spend on draining a node. The default |
| value is 0, meaning that the node can be drained without |
| any time limitations. NOTE: NodeDrainTimeout is different |
| from `kubectl drain --timeout`' |
| type: string |
| nodeVolumeDetachTimeout: |
| description: NodeVolumeDetachTimeout is the total amount of |
| time that the controller will spend on waiting for all volumes |
| to be detached. The default value is 0, meaning that the |
| volumes can be detached without any time limitations. |
| type: string |
| providerID: |
| description: ProviderID is the identification ID of the machine |
| provided by the provider. This field must match the provider |
| ID as seen on the node object corresponding to this machine. |
| This field is required by higher level consumers of cluster-api. |
| Example use case is cluster autoscaler with cluster-api |
| as provider. Clean-up logic in the autoscaler compares machines |
| to nodes to find out machines at provider which could not |
| get registered as Kubernetes nodes. With cluster-api as |
| a generic out-of-tree provider for autoscaler, this field |
| is required by autoscaler to be able to have a provider |
| view of the list of machines. Another list of nodes is queried |
| from the k8s apiserver and then a comparison is done to |
| find out unregistered machines and are marked for delete. |
| This field will be set by the actuators and consumed by |
| higher level entities like autoscaler that will be interfacing |
| with cluster-api as generic provider. |
| type: string |
| version: |
| description: Version defines the desired Kubernetes version. |
| This field is meant to be optionally used by bootstrap providers. |
| type: string |
| required: |
| - bootstrap |
| - clusterName |
| - infrastructureRef |
| type: object |
| type: object |
| required: |
| - clusterName |
| - template |
| type: object |
| status: |
| description: MachinePoolStatus defines the observed state of MachinePool. |
| properties: |
| availableReplicas: |
| description: The number of available replicas (ready for at least |
| minReadySeconds) for this MachinePool. |
| format: int32 |
| type: integer |
| bootstrapReady: |
| description: BootstrapReady is the state of the bootstrap provider. |
| type: boolean |
| conditions: |
| description: Conditions define the current service state of the MachinePool. |
| items: |
| description: Condition defines an observation of a Cluster API resource |
| 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. |
| format: date-time |
| type: string |
| message: |
| 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. |
| 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. |
| 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. |
| type: string |
| required: |
| - lastTransitionTime |
| - status |
| - type |
| type: object |
| type: array |
| failureMessage: |
| description: FailureMessage indicates that there is a problem reconciling |
| the state, and will be set to a descriptive error message. |
| type: string |
| failureReason: |
| description: FailureReason indicates that there is a problem reconciling |
| the state, and will be set to a token value suitable for programmatic |
| interpretation. |
| type: string |
| infrastructureReady: |
| description: InfrastructureReady is the state of the infrastructure |
| provider. |
| type: boolean |
| nodeRefs: |
| description: NodeRefs will point to the corresponding Nodes if it |
| they exist. |
| 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 |
| ." |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' |
| type: string |
| type: object |
| type: array |
| observedGeneration: |
| description: ObservedGeneration is the latest generation observed |
| by the controller. |
| format: int64 |
| type: integer |
| phase: |
| description: Phase represents the current phase of cluster actuation. |
| E.g. Pending, Running, Terminating, Failed etc. |
| type: string |
| readyReplicas: |
| description: The number of ready replicas for this MachinePool. A |
| machine is considered ready when the node has been created and is |
| "Ready". |
| format: int32 |
| type: integer |
| replicas: |
| description: Replicas is the most recently observed number of replicas. |
| format: int32 |
| type: integer |
| unavailableReplicas: |
| description: Total number of unavailable machine instances targeted |
| by this machine pool. This is the total number of machine instances |
| that are still required for the machine pool to have 100% available |
| capacity. They may either be machine instances that are running |
| but not yet available or machine instances that still have not been |
| created. |
| format: int32 |
| type: integer |
| type: object |
| type: object |
| served: true |
| storage: true |
| subresources: |
| scale: |
| specReplicasPath: .spec.replicas |
| statusReplicasPath: .status.replicas |
| status: {} |
| status: |
| acceptedNames: |
| kind: "" |
| plural: "" |
| conditions: null |
| storedVersions: null |
| --- |
| apiVersion: apiextensions.k8s.io/v1 |
| kind: CustomResourceDefinition |
| metadata: |
| annotations: |
| cert-manager.io/inject-ca-from: capi-system/capi-serving-cert |
| controller-gen.kubebuilder.io/version: v0.10.0 |
| creationTimestamp: null |
| labels: |
| cluster.x-k8s.io/provider: cluster-api |
| clusterctl.cluster.x-k8s.io: "" |
| name: machines.cluster.x-k8s.io |
| spec: |
| conversion: |
| strategy: Webhook |
| webhook: |
| clientConfig: |
| caBundle: Cg== |
| service: |
| name: capi-webhook-service |
| namespace: capi-system |
| path: /convert |
| conversionReviewVersions: |
| - v1 |
| - v1beta1 |
| group: cluster.x-k8s.io |
| names: |
| categories: |
| - cluster-api |
| kind: Machine |
| listKind: MachineList |
| plural: machines |
| shortNames: |
| - ma |
| singular: machine |
| scope: Namespaced |
| versions: |
| - additionalPrinterColumns: |
| - description: Provider ID |
| jsonPath: .spec.providerID |
| name: ProviderID |
| type: string |
| - description: Machine status such as Terminating/Pending/Running/Failed etc |
| jsonPath: .status.phase |
| name: Phase |
| type: string |
| - description: Kubernetes version associated with this Machine |
| jsonPath: .spec.version |
| name: Version |
| type: string |
| - description: Node name associated with this machine |
| jsonPath: .status.nodeRef.name |
| name: NodeName |
| priority: 1 |
| type: string |
| name: v1alpha3 |
| schema: |
| openAPIV3Schema: |
| description: Machine is the Schema for the machines 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' |
| type: string |
| kind: |
| description: 'Kind is a string value representing the REST resource this |
| object represents. Servers may infer this from the endpoint the client |
| submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| metadata: |
| type: object |
| spec: |
| description: MachineSpec defines the desired state of Machine. |
| properties: |
| bootstrap: |
| description: Bootstrap is a reference to a local struct which encapsulates |
| fields to configure the Machine’s bootstrapping mechanism. |
| properties: |
| configRef: |
| description: ConfigRef is a reference to a bootstrap provider-specific |
| resource that holds configuration details. The reference is |
| optional to allow users/operators to specify Bootstrap.Data |
| without the need of a controller. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| data: |
| description: "Data contains the bootstrap data, such as cloud-init |
| details scripts. If nil, the Machine should remain in the Pending |
| state. \n Deprecated: Switch to DataSecretName." |
| type: string |
| dataSecretName: |
| description: DataSecretName is the name of the secret that stores |
| the bootstrap data script. If nil, the Machine should remain |
| in the Pending state. |
| type: string |
| type: object |
| clusterName: |
| description: ClusterName is the name of the Cluster this object belongs |
| to. |
| minLength: 1 |
| type: string |
| failureDomain: |
| description: FailureDomain is the failure domain the machine will |
| be created in. Must match a key in the FailureDomains map stored |
| on the cluster object. |
| type: string |
| infrastructureRef: |
| description: InfrastructureRef is a required reference to a custom |
| resource offered by an infrastructure provider. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| nodeDrainTimeout: |
| description: 'NodeDrainTimeout is the total amount of time that the |
| controller will spend on draining a node. The default value is 0, |
| meaning that the node can be drained without any time limitations. |
| NOTE: NodeDrainTimeout is different from `kubectl drain --timeout`' |
| type: string |
| providerID: |
| description: ProviderID is the identification ID of the machine provided |
| by the provider. This field must match the provider ID as seen on |
| the node object corresponding to this machine. This field is required |
| by higher level consumers of cluster-api. Example use case is cluster |
| autoscaler with cluster-api as provider. Clean-up logic in the autoscaler |
| compares machines to nodes to find out machines at provider which |
| could not get registered as Kubernetes nodes. With cluster-api as |
| a generic out-of-tree provider for autoscaler, this field is required |
| by autoscaler to be able to have a provider view of the list of |
| machines. Another list of nodes is queried from the k8s apiserver |
| and then a comparison is done to find out unregistered machines |
| and are marked for delete. This field will be set by the actuators |
| and consumed by higher level entities like autoscaler that will |
| be interfacing with cluster-api as generic provider. |
| type: string |
| version: |
| description: Version defines the desired Kubernetes version. This |
| field is meant to be optionally used by bootstrap providers. |
| type: string |
| required: |
| - bootstrap |
| - clusterName |
| - infrastructureRef |
| type: object |
| status: |
| description: MachineStatus defines the observed state of Machine. |
| properties: |
| addresses: |
| description: Addresses is a list of addresses assigned to the machine. |
| This field is copied from the infrastructure provider reference. |
| items: |
| description: MachineAddress contains information for the node's |
| address. |
| properties: |
| address: |
| description: The machine address. |
| type: string |
| type: |
| description: Machine address type, one of Hostname, ExternalIP |
| or InternalIP. |
| type: string |
| required: |
| - address |
| - type |
| type: object |
| type: array |
| bootstrapReady: |
| description: BootstrapReady is the state of the bootstrap provider. |
| type: boolean |
| conditions: |
| description: Conditions defines current service state of the Machine. |
| items: |
| description: Condition defines an observation of a Cluster API resource |
| 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. |
| format: date-time |
| type: string |
| message: |
| 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. |
| 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. |
| 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. |
| type: string |
| required: |
| - status |
| - type |
| type: object |
| type: array |
| failureMessage: |
| description: "FailureMessage will be set in the event that there is |
| a terminal problem reconciling the Machine and will contain a more |
| verbose string suitable for logging and human consumption. \n This |
| field should not be set for transitive errors that a controller |
| faces that are expected to be fixed automatically over time (like |
| service outages), but instead indicate that something is fundamentally |
| wrong with the Machine's spec or the configuration of the controller, |
| and that manual intervention is required. Examples of terminal errors |
| would be invalid combinations of settings in the spec, values that |
| are unsupported by the controller, or the responsible controller |
| itself being critically misconfigured. \n Any transient errors that |
| occur during the reconciliation of Machines can be added as events |
| to the Machine object and/or logged in the controller's output." |
| type: string |
| failureReason: |
| description: "FailureReason will be set in the event that there is |
| a terminal problem reconciling the Machine and will contain a succinct |
| value suitable for machine interpretation. \n This field should |
| not be set for transitive errors that a controller faces that are |
| expected to be fixed automatically over time (like service outages), |
| but instead indicate that something is fundamentally wrong with |
| the Machine's spec or the configuration of the controller, and that |
| manual intervention is required. Examples of terminal errors would |
| be invalid combinations of settings in the spec, values that are |
| unsupported by the controller, or the responsible controller itself |
| being critically misconfigured. \n Any transient errors that occur |
| during the reconciliation of Machines can be added as events to |
| the Machine object and/or logged in the controller's output." |
| type: string |
| infrastructureReady: |
| description: InfrastructureReady is the state of the infrastructure |
| provider. |
| type: boolean |
| lastUpdated: |
| description: LastUpdated identifies when the phase of the Machine |
| last transitioned. |
| format: date-time |
| type: string |
| nodeRef: |
| description: NodeRef will point to the corresponding Node if it exists. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| observedGeneration: |
| description: ObservedGeneration is the latest generation observed |
| by the controller. |
| format: int64 |
| type: integer |
| phase: |
| description: Phase represents the current phase of machine actuation. |
| E.g. Pending, Running, Terminating, Failed etc. |
| type: string |
| version: |
| description: Version specifies the current version of Kubernetes running |
| on the corresponding Node. This is meant to be a means of bubbling |
| up status from the Node to the Machine. It is entirely optional, |
| but useful for end-user UX if it’s present. |
| type: string |
| type: object |
| type: object |
| served: true |
| storage: false |
| subresources: |
| status: {} |
| - additionalPrinterColumns: |
| - description: Cluster |
| jsonPath: .spec.clusterName |
| name: Cluster |
| type: string |
| - description: Time duration since creation of Machine |
| jsonPath: .metadata.creationTimestamp |
| name: Age |
| type: date |
| - description: Provider ID |
| jsonPath: .spec.providerID |
| name: ProviderID |
| type: string |
| - description: Machine status such as Terminating/Pending/Running/Failed etc |
| jsonPath: .status.phase |
| name: Phase |
| type: string |
| - description: Kubernetes version associated with this Machine |
| jsonPath: .spec.version |
| name: Version |
| type: string |
| - description: Node name associated with this machine |
| jsonPath: .status.nodeRef.name |
| name: NodeName |
| priority: 1 |
| type: string |
| name: v1alpha4 |
| schema: |
| openAPIV3Schema: |
| description: Machine is the Schema for the machines 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' |
| type: string |
| kind: |
| description: 'Kind is a string value representing the REST resource this |
| object represents. Servers may infer this from the endpoint the client |
| submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| metadata: |
| type: object |
| spec: |
| description: MachineSpec defines the desired state of Machine. |
| properties: |
| bootstrap: |
| description: Bootstrap is a reference to a local struct which encapsulates |
| fields to configure the Machine’s bootstrapping mechanism. |
| properties: |
| configRef: |
| description: ConfigRef is a reference to a bootstrap provider-specific |
| resource that holds configuration details. The reference is |
| optional to allow users/operators to specify Bootstrap.DataSecretName |
| without the need of a controller. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| dataSecretName: |
| description: DataSecretName is the name of the secret that stores |
| the bootstrap data script. If nil, the Machine should remain |
| in the Pending state. |
| type: string |
| type: object |
| clusterName: |
| description: ClusterName is the name of the Cluster this object belongs |
| to. |
| minLength: 1 |
| type: string |
| failureDomain: |
| description: FailureDomain is the failure domain the machine will |
| be created in. Must match a key in the FailureDomains map stored |
| on the cluster object. |
| type: string |
| infrastructureRef: |
| description: InfrastructureRef is a required reference to a custom |
| resource offered by an infrastructure provider. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| nodeDrainTimeout: |
| description: 'NodeDrainTimeout is the total amount of time that the |
| controller will spend on draining a node. The default value is 0, |
| meaning that the node can be drained without any time limitations. |
| NOTE: NodeDrainTimeout is different from `kubectl drain --timeout`' |
| type: string |
| providerID: |
| description: ProviderID is the identification ID of the machine provided |
| by the provider. This field must match the provider ID as seen on |
| the node object corresponding to this machine. This field is required |
| by higher level consumers of cluster-api. Example use case is cluster |
| autoscaler with cluster-api as provider. Clean-up logic in the autoscaler |
| compares machines to nodes to find out machines at provider which |
| could not get registered as Kubernetes nodes. With cluster-api as |
| a generic out-of-tree provider for autoscaler, this field is required |
| by autoscaler to be able to have a provider view of the list of |
| machines. Another list of nodes is queried from the k8s apiserver |
| and then a comparison is done to find out unregistered machines |
| and are marked for delete. This field will be set by the actuators |
| and consumed by higher level entities like autoscaler that will |
| be interfacing with cluster-api as generic provider. |
| type: string |
| version: |
| description: Version defines the desired Kubernetes version. This |
| field is meant to be optionally used by bootstrap providers. |
| type: string |
| required: |
| - bootstrap |
| - clusterName |
| - infrastructureRef |
| type: object |
| status: |
| description: MachineStatus defines the observed state of Machine. |
| properties: |
| addresses: |
| description: Addresses is a list of addresses assigned to the machine. |
| This field is copied from the infrastructure provider reference. |
| items: |
| description: MachineAddress contains information for the node's |
| address. |
| properties: |
| address: |
| description: The machine address. |
| type: string |
| type: |
| description: Machine address type, one of Hostname, ExternalIP |
| or InternalIP. |
| type: string |
| required: |
| - address |
| - type |
| type: object |
| type: array |
| bootstrapReady: |
| description: BootstrapReady is the state of the bootstrap provider. |
| type: boolean |
| conditions: |
| description: Conditions defines current service state of the Machine. |
| items: |
| description: Condition defines an observation of a Cluster API resource |
| 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. |
| format: date-time |
| type: string |
| message: |
| 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. |
| 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. |
| 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. |
| type: string |
| required: |
| - status |
| - type |
| type: object |
| type: array |
| failureMessage: |
| description: "FailureMessage will be set in the event that there is |
| a terminal problem reconciling the Machine and will contain a more |
| verbose string suitable for logging and human consumption. \n This |
| field should not be set for transitive errors that a controller |
| faces that are expected to be fixed automatically over time (like |
| service outages), but instead indicate that something is fundamentally |
| wrong with the Machine's spec or the configuration of the controller, |
| and that manual intervention is required. Examples of terminal errors |
| would be invalid combinations of settings in the spec, values that |
| are unsupported by the controller, or the responsible controller |
| itself being critically misconfigured. \n Any transient errors that |
| occur during the reconciliation of Machines can be added as events |
| to the Machine object and/or logged in the controller's output." |
| type: string |
| failureReason: |
| description: "FailureReason will be set in the event that there is |
| a terminal problem reconciling the Machine and will contain a succinct |
| value suitable for machine interpretation. \n This field should |
| not be set for transitive errors that a controller faces that are |
| expected to be fixed automatically over time (like service outages), |
| but instead indicate that something is fundamentally wrong with |
| the Machine's spec or the configuration of the controller, and that |
| manual intervention is required. Examples of terminal errors would |
| be invalid combinations of settings in the spec, values that are |
| unsupported by the controller, or the responsible controller itself |
| being critically misconfigured. \n Any transient errors that occur |
| during the reconciliation of Machines can be added as events to |
| the Machine object and/or logged in the controller's output." |
| type: string |
| infrastructureReady: |
| description: InfrastructureReady is the state of the infrastructure |
| provider. |
| type: boolean |
| lastUpdated: |
| description: LastUpdated identifies when the phase of the Machine |
| last transitioned. |
| format: date-time |
| type: string |
| nodeInfo: |
| description: 'NodeInfo is a set of ids/uuids to uniquely identify |
| the node. More info: https://kubernetes.io/docs/concepts/nodes/node/#info' |
| properties: |
| architecture: |
| description: The Architecture reported by the node |
| type: string |
| bootID: |
| description: Boot ID reported by the node. |
| type: string |
| containerRuntimeVersion: |
| description: ContainerRuntime Version reported by the node through |
| runtime remote API (e.g. containerd://1.4.2). |
| type: string |
| kernelVersion: |
| description: Kernel Version reported by the node from 'uname -r' |
| (e.g. 3.16.0-0.bpo.4-amd64). |
| type: string |
| kubeProxyVersion: |
| description: KubeProxy Version reported by the node. |
| type: string |
| kubeletVersion: |
| description: Kubelet Version reported by the node. |
| type: string |
| machineID: |
| description: 'MachineID reported by the node. For unique machine |
| identification in the cluster this field is preferred. Learn |
| more from man(5) machine-id: http://man7.org/linux/man-pages/man5/machine-id.5.html' |
| type: string |
| operatingSystem: |
| description: The Operating System reported by the node |
| type: string |
| osImage: |
| description: OS Image reported by the node from /etc/os-release |
| (e.g. Debian GNU/Linux 7 (wheezy)). |
| type: string |
| systemUUID: |
| description: SystemUUID reported by the node. For unique machine |
| identification MachineID is preferred. This field is specific |
| to Red Hat hosts https://access.redhat.com/documentation/en-us/red_hat_subscription_management/1/html/rhsm/uuid |
| type: string |
| required: |
| - architecture |
| - bootID |
| - containerRuntimeVersion |
| - kernelVersion |
| - kubeProxyVersion |
| - kubeletVersion |
| - machineID |
| - operatingSystem |
| - osImage |
| - systemUUID |
| type: object |
| nodeRef: |
| description: NodeRef will point to the corresponding Node if it exists. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| observedGeneration: |
| description: ObservedGeneration is the latest generation observed |
| by the controller. |
| format: int64 |
| type: integer |
| phase: |
| description: Phase represents the current phase of machine actuation. |
| E.g. Pending, Running, Terminating, Failed etc. |
| type: string |
| version: |
| description: Version specifies the current version of Kubernetes running |
| on the corresponding Node. This is meant to be a means of bubbling |
| up status from the Node to the Machine. It is entirely optional, |
| but useful for end-user UX if it’s present. |
| type: string |
| type: object |
| type: object |
| served: true |
| storage: false |
| subresources: |
| status: {} |
| - additionalPrinterColumns: |
| - description: Cluster |
| jsonPath: .spec.clusterName |
| name: Cluster |
| type: string |
| - description: Node name associated with this machine |
| jsonPath: .status.nodeRef.name |
| name: NodeName |
| type: string |
| - description: Provider ID |
| jsonPath: .spec.providerID |
| name: ProviderID |
| type: string |
| - description: Machine status such as Terminating/Pending/Running/Failed etc |
| jsonPath: .status.phase |
| name: Phase |
| type: string |
| - description: Time duration since creation of Machine |
| jsonPath: .metadata.creationTimestamp |
| name: Age |
| type: date |
| - description: Kubernetes version associated with this Machine |
| jsonPath: .spec.version |
| name: Version |
| type: string |
| name: v1beta1 |
| schema: |
| openAPIV3Schema: |
| description: Machine is the Schema for the machines 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' |
| type: string |
| kind: |
| description: 'Kind is a string value representing the REST resource this |
| object represents. Servers may infer this from the endpoint the client |
| submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| metadata: |
| type: object |
| spec: |
| description: MachineSpec defines the desired state of Machine. |
| properties: |
| bootstrap: |
| description: Bootstrap is a reference to a local struct which encapsulates |
| fields to configure the Machine’s bootstrapping mechanism. |
| properties: |
| configRef: |
| description: ConfigRef is a reference to a bootstrap provider-specific |
| resource that holds configuration details. The reference is |
| optional to allow users/operators to specify Bootstrap.DataSecretName |
| without the need of a controller. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| dataSecretName: |
| description: DataSecretName is the name of the secret that stores |
| the bootstrap data script. If nil, the Machine should remain |
| in the Pending state. |
| type: string |
| type: object |
| clusterName: |
| description: ClusterName is the name of the Cluster this object belongs |
| to. |
| minLength: 1 |
| type: string |
| failureDomain: |
| description: FailureDomain is the failure domain the machine will |
| be created in. Must match a key in the FailureDomains map stored |
| on the cluster object. |
| type: string |
| infrastructureRef: |
| description: InfrastructureRef is a required reference to a custom |
| resource offered by an infrastructure provider. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| nodeDeletionTimeout: |
| description: NodeDeletionTimeout defines how long the controller will |
| attempt to delete the Node that the Machine hosts after the Machine |
| is marked for deletion. A duration of 0 will retry deletion indefinitely. |
| Defaults to 10 seconds. |
| type: string |
| nodeDrainTimeout: |
| description: 'NodeDrainTimeout is the total amount of time that the |
| controller will spend on draining a node. The default value is 0, |
| meaning that the node can be drained without any time limitations. |
| NOTE: NodeDrainTimeout is different from `kubectl drain --timeout`' |
| type: string |
| nodeVolumeDetachTimeout: |
| description: NodeVolumeDetachTimeout is the total amount of time that |
| the controller will spend on waiting for all volumes to be detached. |
| The default value is 0, meaning that the volumes can be detached |
| without any time limitations. |
| type: string |
| providerID: |
| description: ProviderID is the identification ID of the machine provided |
| by the provider. This field must match the provider ID as seen on |
| the node object corresponding to this machine. This field is required |
| by higher level consumers of cluster-api. Example use case is cluster |
| autoscaler with cluster-api as provider. Clean-up logic in the autoscaler |
| compares machines to nodes to find out machines at provider which |
| could not get registered as Kubernetes nodes. With cluster-api as |
| a generic out-of-tree provider for autoscaler, this field is required |
| by autoscaler to be able to have a provider view of the list of |
| machines. Another list of nodes is queried from the k8s apiserver |
| and then a comparison is done to find out unregistered machines |
| and are marked for delete. This field will be set by the actuators |
| and consumed by higher level entities like autoscaler that will |
| be interfacing with cluster-api as generic provider. |
| type: string |
| version: |
| description: Version defines the desired Kubernetes version. This |
| field is meant to be optionally used by bootstrap providers. |
| type: string |
| required: |
| - bootstrap |
| - clusterName |
| - infrastructureRef |
| type: object |
| status: |
| description: MachineStatus defines the observed state of Machine. |
| properties: |
| addresses: |
| description: Addresses is a list of addresses assigned to the machine. |
| This field is copied from the infrastructure provider reference. |
| items: |
| description: MachineAddress contains information for the node's |
| address. |
| properties: |
| address: |
| description: The machine address. |
| type: string |
| type: |
| description: Machine address type, one of Hostname, ExternalIP |
| or InternalIP. |
| type: string |
| required: |
| - address |
| - type |
| type: object |
| type: array |
| bootstrapReady: |
| description: BootstrapReady is the state of the bootstrap provider. |
| type: boolean |
| certificatesExpiryDate: |
| description: CertificatesExpiryDate is the expiry date of the machine |
| certificates. This value is only set for control plane machines. |
| format: date-time |
| type: string |
| conditions: |
| description: Conditions defines current service state of the Machine. |
| items: |
| description: Condition defines an observation of a Cluster API resource |
| 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. |
| format: date-time |
| type: string |
| message: |
| 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. |
| 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. |
| 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. |
| type: string |
| required: |
| - lastTransitionTime |
| - status |
| - type |
| type: object |
| type: array |
| failureMessage: |
| description: "FailureMessage will be set in the event that there is |
| a terminal problem reconciling the Machine and will contain a more |
| verbose string suitable for logging and human consumption. \n This |
| field should not be set for transitive errors that a controller |
| faces that are expected to be fixed automatically over time (like |
| service outages), but instead indicate that something is fundamentally |
| wrong with the Machine's spec or the configuration of the controller, |
| and that manual intervention is required. Examples of terminal errors |
| would be invalid combinations of settings in the spec, values that |
| are unsupported by the controller, or the responsible controller |
| itself being critically misconfigured. \n Any transient errors that |
| occur during the reconciliation of Machines can be added as events |
| to the Machine object and/or logged in the controller's output." |
| type: string |
| failureReason: |
| description: "FailureReason will be set in the event that there is |
| a terminal problem reconciling the Machine and will contain a succinct |
| value suitable for machine interpretation. \n This field should |
| not be set for transitive errors that a controller faces that are |
| expected to be fixed automatically over time (like service outages), |
| but instead indicate that something is fundamentally wrong with |
| the Machine's spec or the configuration of the controller, and that |
| manual intervention is required. Examples of terminal errors would |
| be invalid combinations of settings in the spec, values that are |
| unsupported by the controller, or the responsible controller itself |
| being critically misconfigured. \n Any transient errors that occur |
| during the reconciliation of Machines can be added as events to |
| the Machine object and/or logged in the controller's output." |
| type: string |
| infrastructureReady: |
| description: InfrastructureReady is the state of the infrastructure |
| provider. |
| type: boolean |
| lastUpdated: |
| description: LastUpdated identifies when the phase of the Machine |
| last transitioned. |
| format: date-time |
| type: string |
| nodeInfo: |
| description: 'NodeInfo is a set of ids/uuids to uniquely identify |
| the node. More info: https://kubernetes.io/docs/concepts/nodes/node/#info' |
| properties: |
| architecture: |
| description: The Architecture reported by the node |
| type: string |
| bootID: |
| description: Boot ID reported by the node. |
| type: string |
| containerRuntimeVersion: |
| description: ContainerRuntime Version reported by the node through |
| runtime remote API (e.g. containerd://1.4.2). |
| type: string |
| kernelVersion: |
| description: Kernel Version reported by the node from 'uname -r' |
| (e.g. 3.16.0-0.bpo.4-amd64). |
| type: string |
| kubeProxyVersion: |
| description: KubeProxy Version reported by the node. |
| type: string |
| kubeletVersion: |
| description: Kubelet Version reported by the node. |
| type: string |
| machineID: |
| description: 'MachineID reported by the node. For unique machine |
| identification in the cluster this field is preferred. Learn |
| more from man(5) machine-id: http://man7.org/linux/man-pages/man5/machine-id.5.html' |
| type: string |
| operatingSystem: |
| description: The Operating System reported by the node |
| type: string |
| osImage: |
| description: OS Image reported by the node from /etc/os-release |
| (e.g. Debian GNU/Linux 7 (wheezy)). |
| type: string |
| systemUUID: |
| description: SystemUUID reported by the node. For unique machine |
| identification MachineID is preferred. This field is specific |
| to Red Hat hosts https://access.redhat.com/documentation/en-us/red_hat_subscription_management/1/html/rhsm/uuid |
| type: string |
| required: |
| - architecture |
| - bootID |
| - containerRuntimeVersion |
| - kernelVersion |
| - kubeProxyVersion |
| - kubeletVersion |
| - machineID |
| - operatingSystem |
| - osImage |
| - systemUUID |
| type: object |
| nodeRef: |
| description: NodeRef will point to the corresponding Node if it exists. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| observedGeneration: |
| description: ObservedGeneration is the latest generation observed |
| by the controller. |
| format: int64 |
| type: integer |
| phase: |
| description: Phase represents the current phase of machine actuation. |
| E.g. Pending, Running, Terminating, Failed etc. |
| type: string |
| type: object |
| type: object |
| served: true |
| storage: true |
| subresources: |
| status: {} |
| status: |
| acceptedNames: |
| kind: "" |
| plural: "" |
| conditions: null |
| storedVersions: null |
| --- |
| apiVersion: apiextensions.k8s.io/v1 |
| kind: CustomResourceDefinition |
| metadata: |
| annotations: |
| cert-manager.io/inject-ca-from: capi-system/capi-serving-cert |
| controller-gen.kubebuilder.io/version: v0.10.0 |
| creationTimestamp: null |
| labels: |
| cluster.x-k8s.io/provider: cluster-api |
| clusterctl.cluster.x-k8s.io: "" |
| name: machinesets.cluster.x-k8s.io |
| spec: |
| conversion: |
| strategy: Webhook |
| webhook: |
| clientConfig: |
| caBundle: Cg== |
| service: |
| name: capi-webhook-service |
| namespace: capi-system |
| path: /convert |
| conversionReviewVersions: |
| - v1 |
| - v1beta1 |
| group: cluster.x-k8s.io |
| names: |
| categories: |
| - cluster-api |
| kind: MachineSet |
| listKind: MachineSetList |
| plural: machinesets |
| shortNames: |
| - ms |
| singular: machineset |
| scope: Namespaced |
| versions: |
| - additionalPrinterColumns: |
| - description: Total number of non-terminated machines targeted by this machineset |
| jsonPath: .status.replicas |
| name: Replicas |
| type: integer |
| - description: Total number of available machines (ready for at least minReadySeconds) |
| jsonPath: .status.availableReplicas |
| name: Available |
| type: integer |
| - description: Total number of ready machines targeted by this machineset. |
| jsonPath: .status.readyReplicas |
| name: Ready |
| type: integer |
| name: v1alpha3 |
| schema: |
| openAPIV3Schema: |
| description: MachineSet is the Schema for the machinesets 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' |
| type: string |
| kind: |
| description: 'Kind is a string value representing the REST resource this |
| object represents. Servers may infer this from the endpoint the client |
| submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| metadata: |
| type: object |
| spec: |
| description: MachineSetSpec defines the desired state of MachineSet. |
| properties: |
| clusterName: |
| description: ClusterName is the name of the Cluster this object belongs |
| to. |
| minLength: 1 |
| type: string |
| deletePolicy: |
| description: DeletePolicy defines the policy used to identify nodes |
| to delete when downscaling. Defaults to "Random". Valid values |
| are "Random, "Newest", "Oldest" |
| enum: |
| - Random |
| - Newest |
| - Oldest |
| type: string |
| minReadySeconds: |
| description: MinReadySeconds is the minimum number of seconds for |
| which a newly created machine should be ready. Defaults to 0 (machine |
| will be considered available as soon as it is ready) |
| format: int32 |
| type: integer |
| replicas: |
| description: Replicas is the number of desired replicas. This is a |
| pointer to distinguish between explicit zero and unspecified. Defaults |
| to 1. |
| format: int32 |
| type: integer |
| selector: |
| description: 'Selector is a label query over machines that should |
| match the replica count. Label keys and values that must match in |
| order to be controlled by this MachineSet. It must match the machine |
| template''s labels. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors' |
| 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. |
| properties: |
| key: |
| description: key is the label key that the selector 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. |
| 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. |
| items: |
| type: string |
| type: array |
| required: |
| - key |
| - operator |
| type: object |
| type: array |
| 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. |
| type: object |
| type: object |
| x-kubernetes-map-type: atomic |
| template: |
| description: Template is the object that describes the machine that |
| will be created if insufficient replicas are detected. Object references |
| to custom resources are treated as templates. |
| properties: |
| metadata: |
| description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata' |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: 'Annotations is an unstructured key value map |
| stored with a resource that may be set by external tools |
| to store and retrieve arbitrary metadata. They are not queryable |
| and should be preserved when modifying objects. More info: |
| http://kubernetes.io/docs/user-guide/annotations' |
| type: object |
| generateName: |
| description: "GenerateName is an optional prefix, used by |
| the server, to generate a unique name ONLY IF the Name field |
| has not been provided. If this field is used, the name returned |
| to the client will be different than the name passed. This |
| value will also be combined with a unique suffix. The provided |
| value has the same validation rules as the Name field, and |
| may be truncated by the length of the suffix required to |
| make the value unique on the server. \n If this field is |
| specified and the generated name exists, the server will |
| NOT return a 409 - instead, it will either return 201 Created |
| or 500 with Reason ServerTimeout indicating a unique name |
| could not be found in the time allotted, and the client |
| should retry (optionally after the time indicated in the |
| Retry-After header). \n Applied only if Name is not specified. |
| More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency |
| \n Deprecated: This field has no function and is going to |
| be removed in a next release." |
| type: string |
| labels: |
| additionalProperties: |
| type: string |
| description: 'Map of string keys and values that can be used |
| to organize and categorize (scope and select) objects. May |
| match selectors of replication controllers and services. |
| More info: http://kubernetes.io/docs/user-guide/labels' |
| type: object |
| name: |
| description: "Name must be unique within a namespace. Is required |
| when creating resources, although some resources may allow |
| a client to request the generation of an appropriate name |
| automatically. Name is primarily intended for creation idempotence |
| and configuration definition. Cannot be updated. More info: |
| http://kubernetes.io/docs/user-guide/identifiers#names \n |
| Deprecated: This field has no function and is going to be |
| removed in a next release." |
| type: string |
| namespace: |
| description: "Namespace defines the space within each name |
| must be unique. An empty namespace is equivalent to the |
| \"default\" namespace, but \"default\" is the canonical |
| representation. Not all objects are required to be scoped |
| to a namespace - the value of this field for those objects |
| will be empty. \n Must be a DNS_LABEL. Cannot be updated. |
| More info: http://kubernetes.io/docs/user-guide/namespaces |
| \n Deprecated: This field has no function and is going to |
| be removed in a next release." |
| type: string |
| ownerReferences: |
| description: "List of objects depended by this object. If |
| ALL objects in the list have been deleted, this object will |
| be garbage collected. If this object is managed by a controller, |
| then an entry in this list will point to this controller, |
| with the controller field set to true. There cannot be more |
| than one managing controller. \n Deprecated: This field |
| has no function and is going to be removed in a next release." |
| items: |
| description: OwnerReference contains enough information |
| to let you identify an owning object. An owning object |
| must be in the same namespace as the dependent, or be |
| cluster-scoped, so there is no namespace field. |
| properties: |
| apiVersion: |
| description: API version of the referent. |
| type: string |
| blockOwnerDeletion: |
| description: If true, AND if the owner has the "foregroundDeletion" |
| finalizer, then the owner cannot be deleted from the |
| key-value store until this reference is removed. See |
| https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion |
| for how the garbage collector interacts with this |
| field and enforces the foreground deletion. Defaults |
| to false. To set this field, a user needs "delete" |
| permission of the owner, otherwise 422 (Unprocessable |
| Entity) will be returned. |
| type: boolean |
| controller: |
| description: If true, this reference points to the managing |
| controller. |
| type: boolean |
| kind: |
| 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: http://kubernetes.io/docs/user-guide/identifiers#names' |
| type: string |
| uid: |
| description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids' |
| type: string |
| required: |
| - apiVersion |
| - kind |
| - name |
| - uid |
| type: object |
| x-kubernetes-map-type: atomic |
| type: array |
| type: object |
| spec: |
| description: 'Specification of the desired behavior of the machine. |
| More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' |
| properties: |
| bootstrap: |
| description: Bootstrap is a reference to a local struct which |
| encapsulates fields to configure the Machine’s bootstrapping |
| mechanism. |
| properties: |
| configRef: |
| description: ConfigRef is a reference to a bootstrap provider-specific |
| resource that holds configuration details. The reference |
| is optional to allow users/operators to specify Bootstrap.Data |
| without the need of a controller. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| data: |
| description: "Data contains the bootstrap data, such as |
| cloud-init details scripts. If nil, the Machine should |
| remain in the Pending state. \n Deprecated: Switch to |
| DataSecretName." |
| type: string |
| dataSecretName: |
| description: DataSecretName is the name of the secret |
| that stores the bootstrap data script. If nil, the Machine |
| should remain in the Pending state. |
| type: string |
| type: object |
| clusterName: |
| description: ClusterName is the name of the Cluster this object |
| belongs to. |
| minLength: 1 |
| type: string |
| failureDomain: |
| description: FailureDomain is the failure domain the machine |
| will be created in. Must match a key in the FailureDomains |
| map stored on the cluster object. |
| type: string |
| infrastructureRef: |
| description: InfrastructureRef is a required reference to |
| a custom resource offered by an infrastructure provider. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| nodeDrainTimeout: |
| description: 'NodeDrainTimeout is the total amount of time |
| that the controller will spend on draining a node. The default |
| value is 0, meaning that the node can be drained without |
| any time limitations. NOTE: NodeDrainTimeout is different |
| from `kubectl drain --timeout`' |
| type: string |
| providerID: |
| description: ProviderID is the identification ID of the machine |
| provided by the provider. This field must match the provider |
| ID as seen on the node object corresponding to this machine. |
| This field is required by higher level consumers of cluster-api. |
| Example use case is cluster autoscaler with cluster-api |
| as provider. Clean-up logic in the autoscaler compares machines |
| to nodes to find out machines at provider which could not |
| get registered as Kubernetes nodes. With cluster-api as |
| a generic out-of-tree provider for autoscaler, this field |
| is required by autoscaler to be able to have a provider |
| view of the list of machines. Another list of nodes is queried |
| from the k8s apiserver and then a comparison is done to |
| find out unregistered machines and are marked for delete. |
| This field will be set by the actuators and consumed by |
| higher level entities like autoscaler that will be interfacing |
| with cluster-api as generic provider. |
| type: string |
| version: |
| description: Version defines the desired Kubernetes version. |
| This field is meant to be optionally used by bootstrap providers. |
| type: string |
| required: |
| - bootstrap |
| - clusterName |
| - infrastructureRef |
| type: object |
| type: object |
| required: |
| - clusterName |
| - selector |
| type: object |
| status: |
| description: MachineSetStatus defines the observed state of MachineSet. |
| properties: |
| availableReplicas: |
| description: The number of available replicas (ready for at least |
| minReadySeconds) for this MachineSet. |
| format: int32 |
| type: integer |
| failureMessage: |
| type: string |
| failureReason: |
| description: "In the event that there is a terminal problem reconciling |
| the replicas, both FailureReason and FailureMessage will be set. |
| FailureReason will be populated with a succinct value suitable for |
| machine interpretation, while FailureMessage will contain a more |
| verbose string suitable for logging and human consumption. \n These |
| fields should not be set for transitive errors that a controller |
| faces that are expected to be fixed automatically over time (like |
| service outages), but instead indicate that something is fundamentally |
| wrong with the MachineTemplate's spec or the configuration of the |
| machine controller, and that manual intervention is required. Examples |
| of terminal errors would be invalid combinations of settings in |
| the spec, values that are unsupported by the machine controller, |
| or the responsible machine controller itself being critically misconfigured. |
| \n Any transient errors that occur during the reconciliation of |
| Machines can be added as events to the MachineSet object and/or |
| logged in the controller's output." |
| type: string |
| fullyLabeledReplicas: |
| description: The number of replicas that have labels matching the |
| labels of the machine template of the MachineSet. |
| format: int32 |
| type: integer |
| observedGeneration: |
| description: ObservedGeneration reflects the generation of the most |
| recently observed MachineSet. |
| format: int64 |
| type: integer |
| readyReplicas: |
| description: The number of ready replicas for this MachineSet. A machine |
| is considered ready when the node has been created and is "Ready". |
| format: int32 |
| type: integer |
| replicas: |
| description: Replicas is the most recently observed number of replicas. |
| format: int32 |
| type: integer |
| selector: |
| description: 'Selector is the same as the label selector but in the |
| string format to avoid introspection by clients. The string will |
| be in the same format as the query-param syntax. More info about |
| label selectors: http://kubernetes.io/docs/user-guide/labels#label-selectors' |
| type: string |
| type: object |
| type: object |
| served: true |
| storage: false |
| subresources: |
| scale: |
| labelSelectorPath: .status.selector |
| specReplicasPath: .spec.replicas |
| statusReplicasPath: .status.replicas |
| status: {} |
| - additionalPrinterColumns: |
| - description: Cluster |
| jsonPath: .spec.clusterName |
| name: Cluster |
| type: string |
| - description: Time duration since creation of MachineSet |
| jsonPath: .metadata.creationTimestamp |
| name: Age |
| type: date |
| - description: Total number of non-terminated machines targeted by this machineset |
| jsonPath: .status.replicas |
| name: Replicas |
| type: integer |
| - description: Total number of available machines (ready for at least minReadySeconds) |
| jsonPath: .status.availableReplicas |
| name: Available |
| type: integer |
| - description: Total number of ready machines targeted by this machineset. |
| jsonPath: .status.readyReplicas |
| name: Ready |
| type: integer |
| name: v1alpha4 |
| schema: |
| openAPIV3Schema: |
| description: MachineSet is the Schema for the machinesets 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' |
| type: string |
| kind: |
| description: 'Kind is a string value representing the REST resource this |
| object represents. Servers may infer this from the endpoint the client |
| submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| metadata: |
| type: object |
| spec: |
| description: MachineSetSpec defines the desired state of MachineSet. |
| properties: |
| clusterName: |
| description: ClusterName is the name of the Cluster this object belongs |
| to. |
| minLength: 1 |
| type: string |
| deletePolicy: |
| description: DeletePolicy defines the policy used to identify nodes |
| to delete when downscaling. Defaults to "Random". Valid values |
| are "Random, "Newest", "Oldest" |
| enum: |
| - Random |
| - Newest |
| - Oldest |
| type: string |
| minReadySeconds: |
| description: MinReadySeconds is the minimum number of seconds for |
| which a newly created machine should be ready. Defaults to 0 (machine |
| will be considered available as soon as it is ready) |
| format: int32 |
| type: integer |
| replicas: |
| default: 1 |
| description: Replicas is the number of desired replicas. This is a |
| pointer to distinguish between explicit zero and unspecified. Defaults |
| to 1. |
| format: int32 |
| type: integer |
| selector: |
| description: 'Selector is a label query over machines that should |
| match the replica count. Label keys and values that must match in |
| order to be controlled by this MachineSet. It must match the machine |
| template''s labels. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors' |
| 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. |
| properties: |
| key: |
| description: key is the label key that the selector 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. |
| 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. |
| items: |
| type: string |
| type: array |
| required: |
| - key |
| - operator |
| type: object |
| type: array |
| 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. |
| type: object |
| type: object |
| x-kubernetes-map-type: atomic |
| template: |
| description: Template is the object that describes the machine that |
| will be created if insufficient replicas are detected. Object references |
| to custom resources are treated as templates. |
| properties: |
| metadata: |
| description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata' |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: 'Annotations is an unstructured key value map |
| stored with a resource that may be set by external tools |
| to store and retrieve arbitrary metadata. They are not queryable |
| and should be preserved when modifying objects. More info: |
| http://kubernetes.io/docs/user-guide/annotations' |
| type: object |
| labels: |
| additionalProperties: |
| type: string |
| description: 'Map of string keys and values that can be used |
| to organize and categorize (scope and select) objects. May |
| match selectors of replication controllers and services. |
| More info: http://kubernetes.io/docs/user-guide/labels' |
| type: object |
| type: object |
| spec: |
| description: 'Specification of the desired behavior of the machine. |
| More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' |
| properties: |
| bootstrap: |
| description: Bootstrap is a reference to a local struct which |
| encapsulates fields to configure the Machine’s bootstrapping |
| mechanism. |
| properties: |
| configRef: |
| description: ConfigRef is a reference to a bootstrap provider-specific |
| resource that holds configuration details. The reference |
| is optional to allow users/operators to specify Bootstrap.DataSecretName |
| without the need of a controller. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| dataSecretName: |
| description: DataSecretName is the name of the secret |
| that stores the bootstrap data script. If nil, the Machine |
| should remain in the Pending state. |
| type: string |
| type: object |
| clusterName: |
| description: ClusterName is the name of the Cluster this object |
| belongs to. |
| minLength: 1 |
| type: string |
| failureDomain: |
| description: FailureDomain is the failure domain the machine |
| will be created in. Must match a key in the FailureDomains |
| map stored on the cluster object. |
| type: string |
| infrastructureRef: |
| description: InfrastructureRef is a required reference to |
| a custom resource offered by an infrastructure provider. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| nodeDrainTimeout: |
| description: 'NodeDrainTimeout is the total amount of time |
| that the controller will spend on draining a node. The default |
| value is 0, meaning that the node can be drained without |
| any time limitations. NOTE: NodeDrainTimeout is different |
| from `kubectl drain --timeout`' |
| type: string |
| providerID: |
| description: ProviderID is the identification ID of the machine |
| provided by the provider. This field must match the provider |
| ID as seen on the node object corresponding to this machine. |
| This field is required by higher level consumers of cluster-api. |
| Example use case is cluster autoscaler with cluster-api |
| as provider. Clean-up logic in the autoscaler compares machines |
| to nodes to find out machines at provider which could not |
| get registered as Kubernetes nodes. With cluster-api as |
| a generic out-of-tree provider for autoscaler, this field |
| is required by autoscaler to be able to have a provider |
| view of the list of machines. Another list of nodes is queried |
| from the k8s apiserver and then a comparison is done to |
| find out unregistered machines and are marked for delete. |
| This field will be set by the actuators and consumed by |
| higher level entities like autoscaler that will be interfacing |
| with cluster-api as generic provider. |
| type: string |
| version: |
| description: Version defines the desired Kubernetes version. |
| This field is meant to be optionally used by bootstrap providers. |
| type: string |
| required: |
| - bootstrap |
| - clusterName |
| - infrastructureRef |
| type: object |
| type: object |
| required: |
| - clusterName |
| - selector |
| type: object |
| status: |
| description: MachineSetStatus defines the observed state of MachineSet. |
| properties: |
| availableReplicas: |
| description: The number of available replicas (ready for at least |
| minReadySeconds) for this MachineSet. |
| format: int32 |
| type: integer |
| conditions: |
| description: Conditions defines current service state of the MachineSet. |
| items: |
| description: Condition defines an observation of a Cluster API resource |
| 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. |
| format: date-time |
| type: string |
| message: |
| 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. |
| 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. |
| 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. |
| type: string |
| required: |
| - status |
| - type |
| type: object |
| type: array |
| failureMessage: |
| type: string |
| failureReason: |
| description: "In the event that there is a terminal problem reconciling |
| the replicas, both FailureReason and FailureMessage will be set. |
| FailureReason will be populated with a succinct value suitable for |
| machine interpretation, while FailureMessage will contain a more |
| verbose string suitable for logging and human consumption. \n These |
| fields should not be set for transitive errors that a controller |
| faces that are expected to be fixed automatically over time (like |
| service outages), but instead indicate that something is fundamentally |
| wrong with the MachineTemplate's spec or the configuration of the |
| machine controller, and that manual intervention is required. Examples |
| of terminal errors would be invalid combinations of settings in |
| the spec, values that are unsupported by the machine controller, |
| or the responsible machine controller itself being critically misconfigured. |
| \n Any transient errors that occur during the reconciliation of |
| Machines can be added as events to the MachineSet object and/or |
| logged in the controller's output." |
| type: string |
| fullyLabeledReplicas: |
| description: The number of replicas that have labels matching the |
| labels of the machine template of the MachineSet. |
| format: int32 |
| type: integer |
| observedGeneration: |
| description: ObservedGeneration reflects the generation of the most |
| recently observed MachineSet. |
| format: int64 |
| type: integer |
| readyReplicas: |
| description: The number of ready replicas for this MachineSet. A machine |
| is considered ready when the node has been created and is "Ready". |
| format: int32 |
| type: integer |
| replicas: |
| description: Replicas is the most recently observed number of replicas. |
| format: int32 |
| type: integer |
| selector: |
| description: 'Selector is the same as the label selector but in the |
| string format to avoid introspection by clients. The string will |
| be in the same format as the query-param syntax. More info about |
| label selectors: http://kubernetes.io/docs/user-guide/labels#label-selectors' |
| type: string |
| type: object |
| type: object |
| served: true |
| storage: false |
| subresources: |
| scale: |
| labelSelectorPath: .status.selector |
| specReplicasPath: .spec.replicas |
| statusReplicasPath: .status.replicas |
| status: {} |
| - additionalPrinterColumns: |
| - description: Cluster |
| jsonPath: .spec.clusterName |
| name: Cluster |
| type: string |
| - description: Total number of machines desired by this machineset |
| jsonPath: .spec.replicas |
| name: Desired |
| priority: 10 |
| type: integer |
| - description: Total number of non-terminated machines targeted by this machineset |
| jsonPath: .status.replicas |
| name: Replicas |
| type: integer |
| - description: Total number of ready machines targeted by this machineset. |
| jsonPath: .status.readyReplicas |
| name: Ready |
| type: integer |
| - description: Total number of available machines (ready for at least minReadySeconds) |
| jsonPath: .status.availableReplicas |
| name: Available |
| type: integer |
| - description: Time duration since creation of MachineSet |
| jsonPath: .metadata.creationTimestamp |
| name: Age |
| type: date |
| - description: Kubernetes version associated with this MachineSet |
| jsonPath: .spec.template.spec.version |
| name: Version |
| type: string |
| name: v1beta1 |
| schema: |
| openAPIV3Schema: |
| description: MachineSet is the Schema for the machinesets 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' |
| type: string |
| kind: |
| description: 'Kind is a string value representing the REST resource this |
| object represents. Servers may infer this from the endpoint the client |
| submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| metadata: |
| type: object |
| spec: |
| description: MachineSetSpec defines the desired state of MachineSet. |
| properties: |
| clusterName: |
| description: ClusterName is the name of the Cluster this object belongs |
| to. |
| minLength: 1 |
| type: string |
| deletePolicy: |
| description: DeletePolicy defines the policy used to identify nodes |
| to delete when downscaling. Defaults to "Random". Valid values |
| are "Random, "Newest", "Oldest" |
| enum: |
| - Random |
| - Newest |
| - Oldest |
| type: string |
| minReadySeconds: |
| description: MinReadySeconds is the minimum number of seconds for |
| which a newly created machine should be ready. Defaults to 0 (machine |
| will be considered available as soon as it is ready) |
| format: int32 |
| type: integer |
| replicas: |
| default: 1 |
| description: Replicas is the number of desired replicas. This is a |
| pointer to distinguish between explicit zero and unspecified. Defaults |
| to 1. |
| format: int32 |
| type: integer |
| selector: |
| description: 'Selector is a label query over machines that should |
| match the replica count. Label keys and values that must match in |
| order to be controlled by this MachineSet. It must match the machine |
| template''s labels. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors' |
| 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. |
| properties: |
| key: |
| description: key is the label key that the selector 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. |
| 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. |
| items: |
| type: string |
| type: array |
| required: |
| - key |
| - operator |
| type: object |
| type: array |
| 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. |
| type: object |
| type: object |
| x-kubernetes-map-type: atomic |
| template: |
| description: Template is the object that describes the machine that |
| will be created if insufficient replicas are detected. Object references |
| to custom resources are treated as templates. |
| properties: |
| metadata: |
| description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata' |
| properties: |
| annotations: |
| additionalProperties: |
| type: string |
| description: 'Annotations is an unstructured key value map |
| stored with a resource that may be set by external tools |
| to store and retrieve arbitrary metadata. They are not queryable |
| and should be preserved when modifying objects. More info: |
| http://kubernetes.io/docs/user-guide/annotations' |
| type: object |
| labels: |
| additionalProperties: |
| type: string |
| description: 'Map of string keys and values that can be used |
| to organize and categorize (scope and select) objects. May |
| match selectors of replication controllers and services. |
| More info: http://kubernetes.io/docs/user-guide/labels' |
| type: object |
| type: object |
| spec: |
| description: 'Specification of the desired behavior of the machine. |
| More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' |
| properties: |
| bootstrap: |
| description: Bootstrap is a reference to a local struct which |
| encapsulates fields to configure the Machine’s bootstrapping |
| mechanism. |
| properties: |
| configRef: |
| description: ConfigRef is a reference to a bootstrap provider-specific |
| resource that holds configuration details. The reference |
| is optional to allow users/operators to specify Bootstrap.DataSecretName |
| without the need of a controller. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| dataSecretName: |
| description: DataSecretName is the name of the secret |
| that stores the bootstrap data script. If nil, the Machine |
| should remain in the Pending state. |
| type: string |
| type: object |
| clusterName: |
| description: ClusterName is the name of the Cluster this object |
| belongs to. |
| minLength: 1 |
| type: string |
| failureDomain: |
| description: FailureDomain is the failure domain the machine |
| will be created in. Must match a key in the FailureDomains |
| map stored on the cluster object. |
| type: string |
| infrastructureRef: |
| description: InfrastructureRef is a required reference to |
| a custom resource offered by an infrastructure provider. |
| 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.' |
| type: string |
| kind: |
| description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' |
| type: string |
| name: |
| 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/' |
| 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' |
| type: string |
| uid: |
| 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 |
| nodeDeletionTimeout: |
| description: NodeDeletionTimeout defines how long the controller |
| will attempt to delete the Node that the Machine hosts after |
| the Machine is marked for deletion. A duration of 0 will |
| retry deletion indefinitely. Defaults to 10 seconds. |
| type: string |
| nodeDrainTimeout: |
| description: 'NodeDrainTimeout is the total amount of time |
| that the controller will spend on draining a node. The default |
| value is 0, meaning that the node can be drained without |
| any time limitations. NOTE: NodeDrainTimeout is different |
| from `kubectl drain --timeout`' |
| type: string |
| nodeVolumeDetachTimeout: |
| description: NodeVolumeDetachTimeout is the total amount of |
| time that the controller will spend on waiting for all volumes |
| to be detached. The default value is 0, meaning that the |
| volumes can be detached without any time limitations. |
| type: string |
| providerID: |
| description: ProviderID is the identification ID of the machine |
| provided by the provider. This field must match the provider |
| ID as seen on the node object corresponding to this machine. |
| This field is required by higher level consumers of cluster-api. |
| Example use case is cluster autoscaler with cluster-api |
| as provider. Clean-up logic in the autoscaler compares machines |
| to nodes to find out machines at provider which could not |
| get registered as Kubernetes nodes. With cluster-api as |
| a generic out-of-tree provider for autoscaler, this field |
| is required by autoscaler to be able to have a provider |
| view of the list of machines. Another list of nodes is queried |
| from the k8s apiserver and then a comparison is done to |
| find out unregistered machines and are marked for delete. |
| This field will be set by the actuators and consumed by |
| higher level entities like autoscaler that will be interfacing |
| with cluster-api as generic provider. |
| type: string |
| version: |
| description: Version defines the desired Kubernetes version. |
| This field is meant to be optionally used by bootstrap providers. |
| type: string |
| required: |
| - bootstrap |
| - clusterName |
| - infrastructureRef |
| type: object |
| type: object |
| required: |
| - clusterName |
| - selector |
| type: object |
| status: |
| description: MachineSetStatus defines the observed state of MachineSet. |
| properties: |
| availableReplicas: |
| description: The number of available replicas (ready for at least |
| minReadySeconds) for this MachineSet. |
| format: int32 |
| type: integer |
| conditions: |
| description: Conditions defines current service state of the MachineSet. |
| items: |
| description: Condition defines an observation of a Cluster API resource |
| 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. |
| format: date-time |
| type: string |
| message: |
| 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. |
| 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. |
| 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. |
| type: string |
| required: |
| - lastTransitionTime |
| - status |
| - type |
| type: object |
| type: array |
| failureMessage: |
| type: string |
| failureReason: |
| description: "In the event that there is a terminal problem reconciling |
| the replicas, both FailureReason and FailureMessage will be set. |
| FailureReason will be populated with a succinct value suitable for |
| machine interpretation, while FailureMessage will contain a more |
| verbose string suitable for logging and human consumption. \n These |
| fields should not be set for transitive errors that a controller |
| faces that are expected to be fixed automatically over time (like |
| service outages), but instead indicate that something is fundamentally |
| wrong with the MachineTemplate's spec or the configuration of the |
| machine controller, and that manual intervention is required. Examples |
| of terminal errors would be invalid combinations of settings in |
| the spec, values that are unsupported by the machine controller, |
| or the responsible machine controller itself being critically misconfigured. |
| \n Any transient errors that occur during the reconciliation of |
| Machines can be added as events to the MachineSet object and/or |
| logged in the controller's output." |
| type: string |
| fullyLabeledReplicas: |
| description: The number of replicas that have labels matching the |
| labels of the machine template of the MachineSet. |
| format: int32 |
| type: integer |
| observedGeneration: |
| description: ObservedGeneration reflects the generation of the most |
| recently observed MachineSet. |
| format: int64 |
| type: integer |
| readyReplicas: |
| description: The number of ready replicas for this MachineSet. A machine |
| is considered ready when the node has been created and is "Ready". |
| format: int32 |
| type: integer |
| replicas: |
| description: Replicas is the most recently observed number of replicas. |
| format: int32 |
| type: integer |
| selector: |
| description: 'Selector is the same as the label selector but in the |
| string format to avoid introspection by clients. The string will |
| be in the same format as the query-param syntax. More info about |
| label selectors: http://kubernetes.io/docs/user-guide/labels#label-selectors' |
| type: string |
| type: object |
| type: object |
| served: true |
| storage: true |
| subresources: |
| scale: |
| labelSelectorPath: .status.selector |
| specReplicasPath: .spec.replicas |
| statusReplicasPath: .status.replicas |
| status: {} |
| status: |
| acceptedNames: |
| kind: "" |
| plural: "" |
| conditions: null |
| storedVersions: null |
| --- |
| apiVersion: v1 |
| kind: ServiceAccount |
| metadata: |
| labels: |
| cluster.x-k8s.io/provider: cluster-api |
| clusterctl.cluster.x-k8s.io: "" |
| name: capi-manager |
| namespace: capi-system |
| --- |
| apiVersion: rbac.authorization.k8s.io/v1 |
| kind: Role |
| metadata: |
| labels: |
| cluster.x-k8s.io/provider: cluster-api |
| clusterctl.cluster.x-k8s.io: "" |
| name: capi-leader-election-role |
| namespace: capi-system |
| rules: |
| - apiGroups: |
| - "" |
| resources: |
| - events |
| verbs: |
| - create |
| - apiGroups: |
| - coordination.k8s.io |
| resources: |
| - leases |
| verbs: |
| - get |
| - list |
| - watch |
| - create |
| - update |
| - patch |
| - delete |
| --- |
| aggregationRule: |
| clusterRoleSelectors: |
| - matchLabels: |
| cluster.x-k8s.io/aggregate-to-manager: "true" |
| apiVersion: rbac.authorization.k8s.io/v1 |
| kind: ClusterRole |
| metadata: |
| labels: |
| cluster.x-k8s.io/provider: cluster-api |
| clusterctl.cluster.x-k8s.io: "" |
| name: capi-system-capi-aggregated-manager-role |
| rules: [] |
| --- |
| apiVersion: rbac.authorization.k8s.io/v1 |
| kind: ClusterRole |
| metadata: |
| labels: |
| cluster.x-k8s.io/aggregate-to-manager: "true" |
| cluster.x-k8s.io/provider: cluster-api |
| clusterctl.cluster.x-k8s.io: "" |
| name: capi-system-capi-manager-role |
| rules: |
| - apiGroups: |
| - "" |
| resources: |
| - namespaces |
| verbs: |
| - get |
| - list |
| - watch |
| - apiGroups: |
| - addons.cluster.x-k8s.io |
| resources: |
| - '*' |
| verbs: |
| - create |
| - delete |
| - get |
| - list |
| - patch |
| - update |
| - watch |
| - apiGroups: |
| - addons.cluster.x-k8s.io |
| resources: |
| - clusterresourcesets/finalizers |
| - clusterresourcesets/status |
| verbs: |
| - get |
| - patch |
| - update |
| - apiGroups: |
| - apiextensions.k8s.io |
| resources: |
| - customresourcedefinitions |
| verbs: |
| - get |
| - list |
| - watch |
| - apiGroups: |
| - bootstrap.cluster.x-k8s.io |
| - controlplane.cluster.x-k8s.io |
| - infrastructure.cluster.x-k8s.io |
| resources: |
| - '*' |
| verbs: |
| - create |
| - delete |
| - get |
| - list |
| - patch |
| - update |
| - watch |
| - apiGroups: |
| - bootstrap.cluster.x-k8s.io |
| - infrastructure.cluster.x-k8s.io |
| resources: |
| - '*' |
| verbs: |
| - create |
| - delete |
| - get |
| - list |
| - patch |
| - update |
| - watch |
| - apiGroups: |
| - cluster.x-k8s.io |
| resources: |
| - clusterclasses |
| verbs: |
| - create |
| - delete |
| - get |
| - list |
| - patch |
| - update |
| - watch |
| - apiGroups: |
| - cluster.x-k8s.io |
| resources: |
| - clusterclasses |
| - clusterclasses/status |
| verbs: |
| - get |
| - list |
| - patch |
| - update |
| - watch |
| - apiGroups: |
| - cluster.x-k8s.io |
| resources: |
| - clusters |
| verbs: |
| - get |
| - list |
| - watch |
| - apiGroups: |
| - cluster.x-k8s.io |
| resources: |
| - clusters |
| - clusters/finalizers |
| - clusters/status |
| verbs: |
| - create |
| - delete |
| - get |
| - list |
| - patch |
| - update |
| - watch |
| - apiGroups: |
| - cluster.x-k8s.io |
| resources: |
| - clusters |
| - clusters/status |
| verbs: |
| - create |
| - delete |
| - get |
| - list |
| - patch |
| - update |
| - watch |
| - apiGroups: |
| - cluster.x-k8s.io |
| resources: |
| - machinedeployments |
| verbs: |
| - create |
| - delete |
| - get |
| - list |
| - patch |
| - update |
| - watch |
| - apiGroups: |
| - cluster.x-k8s.io |
| resources: |
| - machinedeployments |
| - machinedeployments/finalizers |
| verbs: |
| - get |
| - list |
| - patch |
| - update |
| - watch |
| - apiGroups: |
| - cluster.x-k8s.io |
| resources: |
| - machinedeployments |
| - machinedeployments/finalizers |
| - machinedeployments/status |
| verbs: |
| - create |
| - delete |
| - get |
| - list |
| - patch |
| - update |
| - watch |
| - apiGroups: |
| - cluster.x-k8s.io |
| resources: |
| - machinehealthchecks |
| verbs: |
| - create |
| - delete |
| - get |
| - list |
| - patch |
| - update |
| - watch |
| - apiGroups: |
| - cluster.x-k8s.io |
| resources: |
| - machinehealthchecks |
| - machinehealthchecks/finalizers |
| - machinehealthchecks/status |
| verbs: |
| - get |
| - list |
| - patch |
| - update |
| - watch |
| - apiGroups: |
| - cluster.x-k8s.io |
| resources: |
| - machinepools |
| - machinepools/finalizers |
| - machinepools/status |
| verbs: |
| - create |
| - delete |
| - get |
| - list |
| - patch |
| - update |
| - watch |
| - apiGroups: |
| - cluster.x-k8s.io |
| resources: |
| - machines |
| - machines/finalizers |
| - machines/status |
| verbs: |
| - create |
| - delete |
| - get |
| - list |
| - patch |
| - update |
| - watch |
| - apiGroups: |
| - cluster.x-k8s.io |
| resources: |
| - machines |
| - machines/status |
| verbs: |
| - delete |
| - get |
| - list |
| - watch |
| - apiGroups: |
| - cluster.x-k8s.io |
| resources: |
| - machinesets |
| verbs: |
| - get |
| - list |
| - watch |
| - apiGroups: |
| - cluster.x-k8s.io |
| resources: |
| - machinesets |
| - machinesets/finalizers |
| verbs: |
| - get |
| - list |
| - patch |
| - update |
| - watch |
| - apiGroups: |
| - cluster.x-k8s.io |
| resources: |
| - machinesets |
| - machinesets/finalizers |
| - machinesets/status |
| verbs: |
| - create |
| - delete |
| - get |
| - list |
| - patch |
| - update |
| - watch |
| - apiGroups: |
| - "" |
| resources: |
| - configmaps |
| verbs: |
| - get |
| - list |
| - patch |
| - watch |
| - apiGroups: |
| - "" |
| resources: |
| - events |
| verbs: |
| - create |
| - get |
| - list |
| - patch |
| - watch |
| - apiGroups: |
| - "" |
| resources: |
| - nodes |
| verbs: |
| - create |
| - delete |
| - get |
| - list |
| - patch |
| - update |
| - watch |
| - apiGroups: |
| - "" |
| resources: |
| - secrets |
| verbs: |
| - create |
| - delete |
| - get |
| - list |
| - patch |
| - watch |
| - apiGroups: |
| - ipam.cluster.x-k8s.io |
| resources: |
| - ipaddressclaims |
| verbs: |
| - get |
| - list |
| - watch |
| - apiGroups: |
| - runtime.cluster.x-k8s.io |
| resources: |
| - extensionconfigs |
| - extensionconfigs/status |
| verbs: |
| - get |
| - list |
| - patch |
| - update |
| - watch |
| --- |
| apiVersion: rbac.authorization.k8s.io/v1 |
| kind: RoleBinding |
| metadata: |
| creationTimestamp: null |
| labels: |
| cluster.x-k8s.io/provider: cluster-api |
| clusterctl.cluster.x-k8s.io: "" |
| name: capi-leader-election-rolebinding |
| namespace: capi-system |
| roleRef: |
| apiGroup: rbac.authorization.k8s.io |
| kind: Role |
| name: capi-leader-election-role |
| subjects: |
| - kind: ServiceAccount |
| name: capi-manager |
| namespace: capi-system |
| --- |
| apiVersion: rbac.authorization.k8s.io/v1 |
| kind: ClusterRoleBinding |
| metadata: |
| creationTimestamp: null |
| labels: |
| cluster.x-k8s.io/provider: cluster-api |
| clusterctl.cluster.x-k8s.io: "" |
| name: capi-system-capi-manager-rolebinding |
| roleRef: |
| apiGroup: rbac.authorization.k8s.io |
| kind: ClusterRole |
| name: capi-system-capi-aggregated-manager-role |
| subjects: |
| - kind: ServiceAccount |
| name: capi-manager |
| namespace: capi-system |
| --- |
| apiVersion: v1 |
| kind: Service |
| metadata: |
| labels: |
| cluster.x-k8s.io/provider: cluster-api |
| clusterctl.cluster.x-k8s.io: "" |
| name: capi-webhook-service |
| namespace: capi-system |
| spec: |
| ports: |
| - port: 443 |
| targetPort: webhook-server |
| selector: |
| cluster.x-k8s.io/provider: cluster-api |
| --- |
| apiVersion: apps/v1 |
| kind: Deployment |
| metadata: |
| creationTimestamp: null |
| labels: |
| cluster.x-k8s.io/provider: cluster-api |
| clusterctl.cluster.x-k8s.io: "" |
| control-plane: controller-manager |
| name: capi-controller-manager |
| namespace: capi-system |
| spec: |
| replicas: 1 |
| selector: |
| matchLabels: |
| cluster.x-k8s.io/provider: cluster-api |
| control-plane: controller-manager |
| strategy: {} |
| template: |
| metadata: |
| creationTimestamp: null |
| labels: |
| cluster.x-k8s.io/provider: cluster-api |
| control-plane: controller-manager |
| spec: |
| containers: |
| - args: |
| - --leader-elect |
| - --metrics-bind-addr=localhost:8080 |
| - --feature-gates=MachinePool=false,ClusterResourceSet=true,ClusterTopology=true,RuntimeSDK=false |
| command: |
| - /manager |
| env: |
| - name: POD_NAMESPACE |
| valueFrom: |
| fieldRef: |
| fieldPath: metadata.namespace |
| - name: POD_NAME |
| valueFrom: |
| fieldRef: |
| fieldPath: metadata.name |
| - name: POD_UID |
| valueFrom: |
| fieldRef: |
| fieldPath: metadata.uid |
| image: "{{ atmosphere_images['cluster_api_controller'] | vexxhost.atmosphere.docker_image('ref') }}" |
| imagePullPolicy: IfNotPresent |
| livenessProbe: |
| httpGet: |
| path: /healthz |
| port: healthz |
| name: manager |
| ports: |
| - containerPort: 9443 |
| name: webhook-server |
| protocol: TCP |
| - containerPort: 9440 |
| name: healthz |
| protocol: TCP |
| readinessProbe: |
| httpGet: |
| path: /readyz |
| port: healthz |
| resources: {} |
| volumeMounts: |
| - mountPath: /tmp/k8s-webhook-server/serving-certs |
| name: cert |
| readOnly: true |
| serviceAccountName: capi-manager |
| terminationGracePeriodSeconds: 10 |
| tolerations: |
| - effect: NoSchedule |
| key: node-role.kubernetes.io/master |
| - effect: NoSchedule |
| key: node-role.kubernetes.io/control-plane |
| volumes: |
| - name: cert |
| secret: |
| secretName: capi-webhook-service-cert |
| status: {} |
| --- |
| apiVersion: cert-manager.io/v1 |
| kind: Certificate |
| metadata: |
| labels: |
| cluster.x-k8s.io/provider: cluster-api |
| clusterctl.cluster.x-k8s.io: "" |
| name: capi-serving-cert |
| namespace: capi-system |
| spec: |
| dnsNames: |
| - capi-webhook-service.capi-system.svc |
| - capi-webhook-service.capi-system.svc.cluster.local |
| issuerRef: |
| kind: Issuer |
| name: capi-selfsigned-issuer |
| secretName: capi-webhook-service-cert |
| subject: |
| organizations: |
| - k8s-sig-cluster-lifecycle |
| --- |
| apiVersion: cert-manager.io/v1 |
| kind: Issuer |
| metadata: |
| labels: |
| cluster.x-k8s.io/provider: cluster-api |
| clusterctl.cluster.x-k8s.io: "" |
| name: capi-selfsigned-issuer |
| namespace: capi-system |
| spec: |
| selfSigned: {} |
| --- |
| apiVersion: admissionregistration.k8s.io/v1 |
| kind: MutatingWebhookConfiguration |
| metadata: |
| annotations: |
| cert-manager.io/inject-ca-from: capi-system/capi-serving-cert |
| creationTimestamp: null |
| labels: |
| cluster.x-k8s.io/provider: cluster-api |
| clusterctl.cluster.x-k8s.io: "" |
| name: capi-mutating-webhook-configuration |
| webhooks: |
| - admissionReviewVersions: |
| - v1 |
| - v1beta1 |
| clientConfig: |
| service: |
| name: capi-webhook-service |
| namespace: capi-system |
| path: /mutate-cluster-x-k8s-io-v1beta1-machine |
| failurePolicy: Fail |
| matchPolicy: Equivalent |
| name: default.machine.cluster.x-k8s.io |
| rules: |
| - apiGroups: |
| - cluster.x-k8s.io |
| apiVersions: |
| - v1beta1 |
| operations: |
| - CREATE |
| - UPDATE |
| resources: |
| - machines |
| sideEffects: None |
| - admissionReviewVersions: |
| - v1 |
| - v1beta1 |
| clientConfig: |
| service: |
| name: capi-webhook-service |
| namespace: capi-system |
| path: /mutate-cluster-x-k8s-io-v1beta1-machinedeployment |
| failurePolicy: Fail |
| matchPolicy: Equivalent |
| name: default.machinedeployment.cluster.x-k8s.io |
| rules: |
| - apiGroups: |
| - cluster.x-k8s.io |
| apiVersions: |
| - v1beta1 |
| operations: |
| - CREATE |
| - UPDATE |
| resources: |
| - machinedeployments |
| sideEffects: None |
| - admissionReviewVersions: |
| - v1 |
| - v1beta1 |
| clientConfig: |
| service: |
| name: capi-webhook-service |
| namespace: capi-system |
| path: /mutate-cluster-x-k8s-io-v1beta1-machinehealthcheck |
| failurePolicy: Fail |
| matchPolicy: Equivalent |
| name: default.machinehealthcheck.cluster.x-k8s.io |
| rules: |
| - apiGroups: |
| - cluster.x-k8s.io |
| apiVersions: |
| - v1beta1 |
| operations: |
| - CREATE |
| - UPDATE |
| resources: |
| - machinehealthchecks |
| sideEffects: None |
| - admissionReviewVersions: |
| - v1 |
| - v1beta1 |
| clientConfig: |
| service: |
| name: capi-webhook-service |
| namespace: capi-system |
| path: /mutate-cluster-x-k8s-io-v1beta1-machineset |
| failurePolicy: Fail |
| matchPolicy: Equivalent |
| name: default.machineset.cluster.x-k8s.io |
| rules: |
| - apiGroups: |
| - cluster.x-k8s.io |
| apiVersions: |
| - v1beta1 |
| operations: |
| - CREATE |
| - UPDATE |
| resources: |
| - machinesets |
| sideEffects: None |
| - admissionReviewVersions: |
| - v1 |
| - v1beta1 |
| clientConfig: |
| service: |
| name: capi-webhook-service |
| namespace: capi-system |
| path: /mutate-cluster-x-k8s-io-v1beta1-cluster |
| failurePolicy: Fail |
| matchPolicy: Equivalent |
| name: default.cluster.cluster.x-k8s.io |
| rules: |
| - apiGroups: |
| - cluster.x-k8s.io |
| apiVersions: |
| - v1beta1 |
| operations: |
| - CREATE |
| - UPDATE |
| resources: |
| - clusters |
| sideEffects: None |
| - admissionReviewVersions: |
| - v1 |
| - v1beta1 |
| clientConfig: |
| service: |
| name: capi-webhook-service |
| namespace: capi-system |
| path: /mutate-cluster-x-k8s-io-v1beta1-clusterclass |
| failurePolicy: Fail |
| matchPolicy: Equivalent |
| name: default.clusterclass.cluster.x-k8s.io |
| rules: |
| - apiGroups: |
| - cluster.x-k8s.io |
| apiVersions: |
| - v1beta1 |
| operations: |
| - CREATE |
| - UPDATE |
| resources: |
| - clusterclasses |
| sideEffects: None |
| - admissionReviewVersions: |
| - v1 |
| - v1beta1 |
| clientConfig: |
| service: |
| name: capi-webhook-service |
| namespace: capi-system |
| path: /mutate-runtime-cluster-x-k8s-io-v1alpha1-extensionconfig |
| failurePolicy: Fail |
| matchPolicy: Equivalent |
| name: default.extensionconfig.runtime.addons.cluster.x-k8s.io |
| rules: |
| - apiGroups: |
| - runtime.cluster.x-k8s.io |
| apiVersions: |
| - v1alpha1 |
| operations: |
| - CREATE |
| - UPDATE |
| resources: |
| - extensionconfigs |
| sideEffects: None |
| - admissionReviewVersions: |
| - v1 |
| - v1beta1 |
| clientConfig: |
| service: |
| name: capi-webhook-service |
| namespace: capi-system |
| path: /mutate-cluster-x-k8s-io-v1beta1-machinepool |
| failurePolicy: Fail |
| matchPolicy: Equivalent |
| name: default.machinepool.cluster.x-k8s.io |
| rules: |
| - apiGroups: |
| - cluster.x-k8s.io |
| apiVersions: |
| - v1beta1 |
| operations: |
| - CREATE |
| - UPDATE |
| resources: |
| - machinepools |
| sideEffects: None |
| - admissionReviewVersions: |
| - v1 |
| - v1beta1 |
| clientConfig: |
| service: |
| name: capi-webhook-service |
| namespace: capi-system |
| path: /mutate-addons-cluster-x-k8s-io-v1beta1-clusterresourceset |
| failurePolicy: Fail |
| matchPolicy: Equivalent |
| name: default.clusterresourceset.addons.cluster.x-k8s.io |
| rules: |
| - apiGroups: |
| - addons.cluster.x-k8s.io |
| apiVersions: |
| - v1beta1 |
| operations: |
| - CREATE |
| - UPDATE |
| resources: |
| - clusterresourcesets |
| sideEffects: None |
| --- |
| apiVersion: admissionregistration.k8s.io/v1 |
| kind: ValidatingWebhookConfiguration |
| metadata: |
| annotations: |
| cert-manager.io/inject-ca-from: capi-system/capi-serving-cert |
| creationTimestamp: null |
| labels: |
| cluster.x-k8s.io/provider: cluster-api |
| clusterctl.cluster.x-k8s.io: "" |
| name: capi-validating-webhook-configuration |
| webhooks: |
| - admissionReviewVersions: |
| - v1 |
| - v1beta1 |
| clientConfig: |
| service: |
| name: capi-webhook-service |
| namespace: capi-system |
| path: /validate-cluster-x-k8s-io-v1beta1-machine |
| failurePolicy: Fail |
| matchPolicy: Equivalent |
| name: validation.machine.cluster.x-k8s.io |
| rules: |
| - apiGroups: |
| - cluster.x-k8s.io |
| apiVersions: |
| - v1beta1 |
| operations: |
| - CREATE |
| - UPDATE |
| resources: |
| - machines |
| sideEffects: None |
| - admissionReviewVersions: |
| - v1 |
| - v1beta1 |
| clientConfig: |
| service: |
| name: capi-webhook-service |
| namespace: capi-system |
| path: /validate-cluster-x-k8s-io-v1beta1-machinedeployment |
| failurePolicy: Fail |
| matchPolicy: Equivalent |
| name: validation.machinedeployment.cluster.x-k8s.io |
| rules: |
| - apiGroups: |
| - cluster.x-k8s.io |
| apiVersions: |
| - v1beta1 |
| operations: |
| - CREATE |
| - UPDATE |
| resources: |
| - machinedeployments |
| sideEffects: None |
| - admissionReviewVersions: |
| - v1 |
| - v1beta1 |
| clientConfig: |
| service: |
| name: capi-webhook-service |
| namespace: capi-system |
| path: /validate-cluster-x-k8s-io-v1beta1-machinehealthcheck |
| failurePolicy: Fail |
| matchPolicy: Equivalent |
| name: validation.machinehealthcheck.cluster.x-k8s.io |
| rules: |
| - apiGroups: |
| - cluster.x-k8s.io |
| apiVersions: |
| - v1beta1 |
| operations: |
| - CREATE |
| - UPDATE |
| resources: |
| - machinehealthchecks |
| sideEffects: None |
| - admissionReviewVersions: |
| - v1 |
| - v1beta1 |
| clientConfig: |
| service: |
| name: capi-webhook-service |
| namespace: capi-system |
| path: /validate-cluster-x-k8s-io-v1beta1-machineset |
| failurePolicy: Fail |
| matchPolicy: Equivalent |
| name: validation.machineset.cluster.x-k8s.io |
| rules: |
| - apiGroups: |
| - cluster.x-k8s.io |
| apiVersions: |
| - v1beta1 |
| operations: |
| - CREATE |
| - UPDATE |
| resources: |
| - machinesets |
| sideEffects: None |
| - admissionReviewVersions: |
| - v1 |
| - v1beta1 |
| clientConfig: |
| service: |
| name: capi-webhook-service |
| namespace: capi-system |
| path: /validate-cluster-x-k8s-io-v1beta1-cluster |
| failurePolicy: Fail |
| matchPolicy: Equivalent |
| name: validation.cluster.cluster.x-k8s.io |
| rules: |
| - apiGroups: |
| - cluster.x-k8s.io |
| apiVersions: |
| - v1beta1 |
| operations: |
| - CREATE |
| - UPDATE |
| - DELETE |
| resources: |
| - clusters |
| sideEffects: None |
| - admissionReviewVersions: |
| - v1 |
| - v1beta1 |
| clientConfig: |
| service: |
| name: capi-webhook-service |
| namespace: capi-system |
| path: /validate-cluster-x-k8s-io-v1beta1-clusterclass |
| failurePolicy: Fail |
| matchPolicy: Equivalent |
| name: validation.clusterclass.cluster.x-k8s.io |
| rules: |
| - apiGroups: |
| - cluster.x-k8s.io |
| apiVersions: |
| - v1beta1 |
| operations: |
| - CREATE |
| - UPDATE |
| - DELETE |
| resources: |
| - clusterclasses |
| sideEffects: None |
| - admissionReviewVersions: |
| - v1 |
| - v1beta1 |
| clientConfig: |
| service: |
| name: capi-webhook-service |
| namespace: capi-system |
| path: /validate-runtime-cluster-x-k8s-io-v1alpha1-extensionconfig |
| failurePolicy: Fail |
| matchPolicy: Equivalent |
| name: validation.extensionconfig.runtime.cluster.x-k8s.io |
| rules: |
| - apiGroups: |
| - runtime.cluster.x-k8s.io |
| apiVersions: |
| - v1alpha1 |
| operations: |
| - CREATE |
| - UPDATE |
| resources: |
| - extensionconfigs |
| sideEffects: None |
| - admissionReviewVersions: |
| - v1 |
| - v1beta1 |
| clientConfig: |
| service: |
| name: capi-webhook-service |
| namespace: capi-system |
| path: /validate-cluster-x-k8s-io-v1beta1-machinepool |
| failurePolicy: Fail |
| matchPolicy: Equivalent |
| name: validation.machinepool.cluster.x-k8s.io |
| rules: |
| - apiGroups: |
| - cluster.x-k8s.io |
| apiVersions: |
| - v1beta1 |
| operations: |
| - CREATE |
| - UPDATE |
| resources: |
| - machinepools |
| sideEffects: None |
| - admissionReviewVersions: |
| - v1 |
| - v1beta1 |
| clientConfig: |
| service: |
| name: capi-webhook-service |
| namespace: capi-system |
| path: /validate-addons-cluster-x-k8s-io-v1beta1-clusterresourceset |
| failurePolicy: Fail |
| matchPolicy: Equivalent |
| name: validation.clusterresourceset.addons.cluster.x-k8s.io |
| rules: |
| - apiGroups: |
| - addons.cluster.x-k8s.io |
| apiVersions: |
| - v1beta1 |
| operations: |
| - CREATE |
| - UPDATE |
| resources: |
| - clusterresourcesets |
| sideEffects: None |
| - admissionReviewVersions: |
| - v1 |
| - v1beta1 |
| clientConfig: |
| service: |
| name: capi-webhook-service |
| namespace: capi-system |
| path: /validate-ipam-cluster-x-k8s-io-v1alpha1-ipaddress |
| failurePolicy: Fail |
| matchPolicy: Equivalent |
| name: validation.ipaddress.ipam.cluster.x-k8s.io |
| rules: |
| - apiGroups: |
| - ipam.cluster.x-k8s.io |
| apiVersions: |
| - v1alpha1 |
| operations: |
| - CREATE |
| - UPDATE |
| - DELETE |
| resources: |
| - ipaddresses |
| sideEffects: None |
| - admissionReviewVersions: |
| - v1 |
| - v1beta1 |
| clientConfig: |
| service: |
| name: capi-webhook-service |
| namespace: capi-system |
| path: /validate-ipam-cluster-x-k8s-io-v1alpha1-ipaddressclaim |
| failurePolicy: Fail |
| matchPolicy: Equivalent |
| name: validation.ipaddressclaim.ipam.cluster.x-k8s.io |
| rules: |
| - apiGroups: |
| - ipam.cluster.x-k8s.io |
| apiVersions: |
| - v1alpha1 |
| operations: |
| - CREATE |
| - UPDATE |
| - DELETE |
| resources: |
| - ipaddressclaims |
| sideEffects: None |