diff --git a/.github/workflows/yamllint.yaml b/.github/workflows/yamllint.yaml index 6acc4ae9..19235e4a 100644 --- a/.github/workflows/yamllint.yaml +++ b/.github/workflows/yamllint.yaml @@ -1,4 +1,3 @@ ---- name: yamllint on: pull_request: @@ -11,9 +10,9 @@ jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@dc323e67f16fb5f7663d20ff7941f27f5809e9b6 # v2.6.0 + - uses: actions/checkout@dc323e67f16fb5f7663d20ff7941f27f5809e9b6 # v2.6.0 - - name: yaml-lint - uses: ibiqlik/action-yamllint@2576378a8e339169678f9939646ee3ee325e845c # v3.1.1 - with: - config_file: .yamllint.yaml + - name: yaml-lint + uses: ibiqlik/action-yamllint@2576378a8e339169678f9939646ee3ee325e845c # v3.1.1 + with: + config_file: .yamllint.yaml diff --git a/.yamllint.yaml b/.yamllint.yaml index 85b5eedf..decb3310 100644 --- a/.yamllint.yaml +++ b/.yamllint.yaml @@ -1,7 +1,7 @@ yaml-files: - - '*.yaml' - - '*.yml' - - '.yamllint' +- '*.yaml' +- '*.yml' +- '.yamllint' rules: trailing-spaces: enable diff --git a/01_HAProxy-DS-separate-CM/hapxy-ok-ds.yaml b/01_HAProxy-DS-separate-CM/hapxy-ok-ds.yaml index cfdc9ad7..b91dc152 100644 --- a/01_HAProxy-DS-separate-CM/hapxy-ok-ds.yaml +++ b/01_HAProxy-DS-separate-CM/hapxy-ok-ds.yaml @@ -27,15 +27,15 @@ spec: - name: haproxy-container image: mikkos73/haproxy11:latest ports: - - name: http - containerPort: 7777 - - name: https - containerPort: 443 - - name: stat - containerPort: 1024 + - name: http + containerPort: 7777 + - name: https + containerPort: 443 + - name: stat + containerPort: 1024 volumeMounts: - - mountPath: /usr/local/etc/haproxy - name: shared-data + - mountPath: /usr/local/etc/haproxy + name: shared-data - name: sidecar-container image: alpine volumeMounts: @@ -65,4 +65,3 @@ spec: # None will allow the service to distribute to all masters sessionAffinity: None type: NodePort - diff --git a/Support/Multitenancy/Ironic_bmo-mult-instances/test1-manifests/bmh.yaml b/Support/Multitenancy/Ironic_bmo-mult-instances/test1-manifests/bmh.yaml index f74f84d8..a2362d9e 100644 --- a/Support/Multitenancy/Ironic_bmo-mult-instances/test1-manifests/bmh.yaml +++ b/Support/Multitenancy/Ironic_bmo-mult-instances/test1-manifests/bmh.yaml @@ -1,4 +1,3 @@ ---- apiVersion: v1 kind: Secret metadata: @@ -20,4 +19,3 @@ spec: bmc: address: ipmi://192.168.111.1:6230 credentialsName: node-1-bmc-secret - diff --git a/Support/Multitenancy/Ironic_bmo-mult-instances/test1-manifests/controlplane-template.yaml b/Support/Multitenancy/Ironic_bmo-mult-instances/test1-manifests/controlplane-template.yaml index 86dcc0d2..4f91ce78 100644 --- a/Support/Multitenancy/Ironic_bmo-mult-instances/test1-manifests/controlplane-template.yaml +++ b/Support/Multitenancy/Ironic_bmo-mult-instances/test1-manifests/controlplane-template.yaml @@ -156,8 +156,7 @@ spec: users: - name: metal3 sshAuthorizedKeys: - - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCWL9EOaqZjHE86+ORcwviHMCtrlMc8c28KSXoYa2H8w4R0+LVpMg6srMA0wvrUmhVk+qhvmGRV/AwjTORKFl6BD6XLrFzRwPc6RweVKEkexZvqa/eGJ9ri5NCvZwj0RHW7NuyE+xWP3/gmhikkx0hKNPnf2uXg6SnJgPayh4UYHxO2/vdx5GBUwYEqysvJi2a4M8Lq82XXoktlqfWkooep6W5XIg42i/kkMflai49T4ZRg5U4311FcKV6eiqznmgCpdm9IymeihHXgiE8g0q2N/3jfrqgOQDIAEG/ZwBeZ87iNOdokzg/suNGVVgyuMj7yC6MMXaOrYgAxAm9Gx5g16YYZqtMf3nWw4jKjvB+KnV9aVLia/8ZBVTDvz/Jeislk0xFn3f0PXbN+aTELGfk1w+45Tkj8Z+zL3syvBHh4hgS8f5rMNMHc8vmVapbo8Vt0/FgNNuZ2AcWxcrr/8OJOu3HELSQ4xTe7S10k9eeTpc5JSpnZOuec0LrqQb5+CqU= - centos@mohammed-gentemp.openstacklocal + - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCWL9EOaqZjHE86+ORcwviHMCtrlMc8c28KSXoYa2H8w4R0+LVpMg6srMA0wvrUmhVk+qhvmGRV/AwjTORKFl6BD6XLrFzRwPc6RweVKEkexZvqa/eGJ9ri5NCvZwj0RHW7NuyE+xWP3/gmhikkx0hKNPnf2uXg6SnJgPayh4UYHxO2/vdx5GBUwYEqysvJi2a4M8Lq82XXoktlqfWkooep6W5XIg42i/kkMflai49T4ZRg5U4311FcKV6eiqznmgCpdm9IymeihHXgiE8g0q2N/3jfrqgOQDIAEG/ZwBeZ87iNOdokzg/suNGVVgyuMj7yC6MMXaOrYgAxAm9Gx5g16YYZqtMf3nWw4jKjvB+KnV9aVLia/8ZBVTDvz/Jeislk0xFn3f0PXbN+aTELGfk1w+45Tkj8Z+zL3syvBHh4hgS8f5rMNMHc8vmVapbo8Vt0/FgNNuZ2AcWxcrr/8OJOu3HELSQ4xTe7S10k9eeTpc5JSpnZOuec0LrqQb5+CqU= centos@mohammed-gentemp.openstacklocal sudo: ALL=(ALL) NOPASSWD:ALL machineTemplate: infrastructureRef: diff --git a/Support/Multitenancy/Ironic_bmo-mult-instances/test1-manifests/role-binding.yaml b/Support/Multitenancy/Ironic_bmo-mult-instances/test1-manifests/role-binding.yaml index 66b0bde5..585a8178 100644 --- a/Support/Multitenancy/Ironic_bmo-mult-instances/test1-manifests/role-binding.yaml +++ b/Support/Multitenancy/Ironic_bmo-mult-instances/test1-manifests/role-binding.yaml @@ -1,4 +1,3 @@ ---- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: diff --git a/Support/Multitenancy/Ironic_bmo-mult-instances/test2-manifests/bmh.yaml b/Support/Multitenancy/Ironic_bmo-mult-instances/test2-manifests/bmh.yaml index 4a4ee3d1..81183a29 100644 --- a/Support/Multitenancy/Ironic_bmo-mult-instances/test2-manifests/bmh.yaml +++ b/Support/Multitenancy/Ironic_bmo-mult-instances/test2-manifests/bmh.yaml @@ -1,4 +1,3 @@ ---- apiVersion: v1 kind: Secret metadata: diff --git a/Support/Multitenancy/Ironic_bmo-mult-instances/test2-manifests/controlplane-template.yaml b/Support/Multitenancy/Ironic_bmo-mult-instances/test2-manifests/controlplane-template.yaml index 2d401076..a40e0548 100644 --- a/Support/Multitenancy/Ironic_bmo-mult-instances/test2-manifests/controlplane-template.yaml +++ b/Support/Multitenancy/Ironic_bmo-mult-instances/test2-manifests/controlplane-template.yaml @@ -156,8 +156,7 @@ spec: users: - name: metal3 sshAuthorizedKeys: - - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCWL9EOaqZjHE86+ORcwviHMCtrlMc8c28KSXoYa2H8w4R0+LVpMg6srMA0wvrUmhVk+qhvmGRV/AwjTORKFl6BD6XLrFzRwPc6RweVKEkexZvqa/eGJ9ri5NCvZwj0RHW7NuyE+xWP3/gmhikkx0hKNPnf2uXg6SnJgPayh4UYHxO2/vdx5GBUwYEqysvJi2a4M8Lq82XXoktlqfWkooep6W5XIg42i/kkMflai49T4ZRg5U4311FcKV6eiqznmgCpdm9IymeihHXgiE8g0q2N/3jfrqgOQDIAEG/ZwBeZ87iNOdokzg/suNGVVgyuMj7yC6MMXaOrYgAxAm9Gx5g16YYZqtMf3nWw4jKjvB+KnV9aVLia/8ZBVTDvz/Jeislk0xFn3f0PXbN+aTELGfk1w+45Tkj8Z+zL3syvBHh4hgS8f5rMNMHc8vmVapbo8Vt0/FgNNuZ2AcWxcrr/8OJOu3HELSQ4xTe7S10k9eeTpc5JSpnZOuec0LrqQb5+CqU= - centos@mohammed-gentemp.openstacklocal + - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCWL9EOaqZjHE86+ORcwviHMCtrlMc8c28KSXoYa2H8w4R0+LVpMg6srMA0wvrUmhVk+qhvmGRV/AwjTORKFl6BD6XLrFzRwPc6RweVKEkexZvqa/eGJ9ri5NCvZwj0RHW7NuyE+xWP3/gmhikkx0hKNPnf2uXg6SnJgPayh4UYHxO2/vdx5GBUwYEqysvJi2a4M8Lq82XXoktlqfWkooep6W5XIg42i/kkMflai49T4ZRg5U4311FcKV6eiqznmgCpdm9IymeihHXgiE8g0q2N/3jfrqgOQDIAEG/ZwBeZ87iNOdokzg/suNGVVgyuMj7yC6MMXaOrYgAxAm9Gx5g16YYZqtMf3nWw4jKjvB+KnV9aVLia/8ZBVTDvz/Jeislk0xFn3f0PXbN+aTELGfk1w+45Tkj8Z+zL3syvBHh4hgS8f5rMNMHc8vmVapbo8Vt0/FgNNuZ2AcWxcrr/8OJOu3HELSQ4xTe7S10k9eeTpc5JSpnZOuec0LrqQb5+CqU= centos@mohammed-gentemp.openstacklocal sudo: ALL=(ALL) NOPASSWD:ALL machineTemplate: infrastructureRef: diff --git a/Support/Multitenancy/Ironic_bmo-mult-instances/test2-manifests/role-binding.yaml b/Support/Multitenancy/Ironic_bmo-mult-instances/test2-manifests/role-binding.yaml index 501f025a..7daa4648 100644 --- a/Support/Multitenancy/Ironic_bmo-mult-instances/test2-manifests/role-binding.yaml +++ b/Support/Multitenancy/Ironic_bmo-mult-instances/test2-manifests/role-binding.yaml @@ -1,4 +1,3 @@ ---- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: diff --git a/Support/Multitenancy/capi_capm3-mult-instances/cluster-manifests/capi.yaml b/Support/Multitenancy/capi_capm3-mult-instances/cluster-manifests/capi.yaml index f8f84804..b58d5b5b 100644 --- a/Support/Multitenancy/capi_capm3-mult-instances/cluster-manifests/capi.yaml +++ b/Support/Multitenancy/capi_capm3-mult-instances/cluster-manifests/capi.yaml @@ -48,18 +48,13 @@ spec: name: v1alpha4 schema: openAPIV3Schema: - description: ClusterClass is a template which can be used to create managed - topologies. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -67,35 +62,19 @@ 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. + 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." + 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. + 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.' + 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' @@ -107,8 +86,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -119,49 +97,27 @@ spec: - 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." + 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' + 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' + 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. + 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.' + 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' @@ -173,8 +129,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -185,31 +140,16 @@ spec: - 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. + 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. + 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.' + 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' @@ -221,8 +161,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -233,77 +172,45 @@ spec: - 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. + 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. + 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`. + 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. + 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. + 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. + 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. + 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.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: - description: 'Kind of the referent. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which - this reference is made, if any. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: - description: 'UID of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object x-kubernetes-map-type: atomic @@ -311,54 +218,31 @@ spec: - ref type: object infrastructure: - description: Infrastructure contains the infrastructure - template reference to be used for the creation of - worker Machines. + 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. + 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.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: - description: 'Kind of the referent. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which - this reference is made, if any. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: - description: 'UID of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object x-kubernetes-map-type: atomic @@ -366,27 +250,17 @@ spec: - 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. + 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' + 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' + 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: @@ -412,18 +286,13 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: ClusterClass is a template which can be used to create managed - topologies. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -431,53 +300,28 @@ 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. + 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. + 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. + 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. + 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." + 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.' + 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' @@ -489,8 +333,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -498,15 +341,9 @@ spec: 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. + 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. + 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 @@ -523,41 +360,21 @@ spec: 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' + 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." + 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. + 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.' + 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' @@ -569,8 +386,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -581,49 +397,27 @@ spec: - 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." + 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' + 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' + 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. + 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.' + 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' @@ -635,8 +429,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -647,31 +440,16 @@ spec: - 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. + 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. + 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.' + 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' @@ -683,8 +461,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -695,71 +472,37 @@ spec: - 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.' + 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. + 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.' + 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. + 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.' + 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.' + 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' + 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' + 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.' + 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.' + 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. + 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: @@ -768,8 +511,7 @@ spec: type: object type: array selector: - description: Selector defines on which templates the patch - should be applied. + description: Selector defines on which templates the patch should be applied. properties: apiVersion: description: APIVersion filters templates by apiVersion. @@ -778,27 +520,19 @@ spec: description: Kind filters templates by kind. type: string matchResources: - description: MatchResources selects templates based - on where they are referenced. + 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).' + 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. + description: InfrastructureCluster selects templates referenced in .spec.infrastructure. type: boolean machineDeploymentClass: - description: MachineDeploymentClass selects templates - referenced in specific MachineDeploymentClasses - in .spec.workers.machineDeployments. + description: MachineDeploymentClass selects templates referenced in specific MachineDeploymentClasses in .spec.workers.machineDeployments. properties: names: - description: Names selects templates by class - names. + description: Names selects templates by class names. items: type: string type: array @@ -815,28 +549,19 @@ spec: type: object type: array description: - description: Description is a human-readable description of - this patch. + 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. + 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.' + 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. + 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. + description: ValidateExtension references an extension which is called to validate the topology. type: string type: object name: @@ -847,48 +572,33 @@ spec: type: object type: array variables: - description: Variables defines the variables which can be configured - in the Cluster topology and are then used in patches. + 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. + 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.' + 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. + 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.' + 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.' + 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. + 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.' + 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 @@ -896,94 +606,57 @@ spec: 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.' + 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.' + 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.' + 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.' + 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.' + 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.' + 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.' + 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.' + 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.' + 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.' + 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.' + 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.' + 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.' + 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.' + 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.' + description: 'UniqueItems specifies if items in an array must be unique. NOTE: Can only be set if type is array.' type: boolean required: - type @@ -998,69 +671,36 @@ spec: 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. + 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. + 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`. + 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. + 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 machineHealthCheck: - description: MachineHealthCheck defines a MachineHealthCheck - for this MachineDeploymentClass. + 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. + 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. + 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." + 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.' + 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' @@ -1069,12 +709,10 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which - this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -1082,17 +720,9 @@ spec: 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. + 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. + 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 @@ -1109,69 +739,39 @@ spec: 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' + 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 template: - description: Template is a local struct containing a collection - of templates for creation of MachineDeployment objects - representing a set of worker nodes. + 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. + 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. + 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.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: - description: 'Kind of the referent. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which - this reference is made, if any. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: - description: 'UID of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object x-kubernetes-map-type: atomic @@ -1179,54 +779,31 @@ spec: - ref type: object infrastructure: - description: Infrastructure contains the infrastructure - template reference to be used for the creation of - worker Machines. + 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. + 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.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: - description: 'Kind of the referent. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which - this reference is made, if any. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: - description: 'UID of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object x-kubernetes-map-type: atomic @@ -1234,27 +811,17 @@ spec: - 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. + 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' + 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' + 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: @@ -1308,68 +875,50 @@ spec: - name: v1alpha3 schema: openAPIV3Schema: - description: ClusterResourceSetBinding lists all matching ClusterResourceSets - with the cluster it belongs to. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: - description: ClusterResourceSetBindingSpec defines the desired state of - ClusterResourceSetBinding. + 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. + 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. + 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. + 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. + 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. + 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. + 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.' + 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. + 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. + description: Name of the resource that is in the same namespace with ClusterResourceSet object. minLength: 1 type: string required: @@ -1396,68 +945,50 @@ spec: name: v1alpha4 schema: openAPIV3Schema: - description: ClusterResourceSetBinding lists all matching ClusterResourceSets - with the cluster it belongs to. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: - description: ClusterResourceSetBindingSpec defines the desired state of - ClusterResourceSetBinding. + 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. + 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. + 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. + 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. + 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. + 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. + 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.' + 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. + 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. + description: Name of the resource that is in the same namespace with ClusterResourceSet object. minLength: 1 type: string required: @@ -1484,68 +1015,50 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: ClusterResourceSetBinding lists all matching ClusterResourceSets - with the cluster it belongs to. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: - description: ClusterResourceSetBindingSpec defines the desired state of - ClusterResourceSetBinding. + 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. + 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. + 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. + 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. + 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. + 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. + 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.' + 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. + 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. + description: Name of the resource that is in the same namespace with ClusterResourceSet object. minLength: 1 type: string required: @@ -1600,18 +1113,13 @@ spec: - name: v1alpha3 schema: openAPIV3Schema: - description: ClusterResourceSet is the Schema for the clusterresourcesets - API. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -1619,33 +1127,21 @@ 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. + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -1657,29 +1153,22 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object resources: - description: Resources is a list of Secrets/ConfigMaps where each - contains 1 or more resources to be applied to remote clusters. + 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.' + 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. + description: Name of the resource that is in the same namespace with ClusterResourceSet object. minLength: 1 type: string required: @@ -1688,8 +1177,7 @@ spec: type: object type: array strategy: - description: Strategy is the strategy to be used during applying resources. - Defaults to ApplyOnce. This field is immutable. + description: Strategy is the strategy to be used during applying resources. Defaults to ApplyOnce. This field is immutable. enum: - ApplyOnce type: string @@ -1702,41 +1190,26 @@ spec: conditions: description: Conditions defines current state of the ClusterResourceSet. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -1744,8 +1217,7 @@ spec: type: object type: array observedGeneration: - description: ObservedGeneration reflects the generation of the most - recently observed ClusterResourceSet. + description: ObservedGeneration reflects the generation of the most recently observed ClusterResourceSet. format: int64 type: integer type: object @@ -1762,18 +1234,13 @@ spec: name: v1alpha4 schema: openAPIV3Schema: - description: ClusterResourceSet is the Schema for the clusterresourcesets - API. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -1781,34 +1248,21 @@ 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. + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -1820,29 +1274,22 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object resources: - description: Resources is a list of Secrets/ConfigMaps where each - contains 1 or more resources to be applied to remote clusters. + 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.' + 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. + description: Name of the resource that is in the same namespace with ClusterResourceSet object. minLength: 1 type: string required: @@ -1851,8 +1298,7 @@ spec: type: object type: array strategy: - description: Strategy is the strategy to be used during applying resources. - Defaults to ApplyOnce. This field is immutable. + description: Strategy is the strategy to be used during applying resources. Defaults to ApplyOnce. This field is immutable. enum: - ApplyOnce type: string @@ -1865,41 +1311,26 @@ spec: conditions: description: Conditions defines current state of the ClusterResourceSet. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -1907,8 +1338,7 @@ spec: type: object type: array observedGeneration: - description: ObservedGeneration reflects the generation of the most - recently observed ClusterResourceSet. + description: ObservedGeneration reflects the generation of the most recently observed ClusterResourceSet. format: int64 type: integer type: object @@ -1925,18 +1355,13 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: ClusterResourceSet is the Schema for the clusterresourcesets - API. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -1944,34 +1369,21 @@ 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. + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -1983,29 +1395,22 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object resources: - description: Resources is a list of Secrets/ConfigMaps where each - contains 1 or more resources to be applied to remote clusters. + 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.' + 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. + description: Name of the resource that is in the same namespace with ClusterResourceSet object. minLength: 1 type: string required: @@ -2014,8 +1419,7 @@ spec: type: object type: array strategy: - description: Strategy is the strategy to be used during applying resources. - Defaults to ApplyOnce. This field is immutable. + description: Strategy is the strategy to be used during applying resources. Defaults to ApplyOnce. This field is immutable. enum: - ApplyOnce type: string @@ -2028,41 +1432,26 @@ spec: conditions: description: Conditions defines current state of the ClusterResourceSet. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -2071,8 +1460,7 @@ spec: type: object type: array observedGeneration: - description: ObservedGeneration reflects the generation of the most - recently observed ClusterResourceSet. + description: ObservedGeneration reflects the generation of the most recently observed ClusterResourceSet. format: int64 type: integer type: object @@ -2127,14 +1515,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -2145,8 +1529,7 @@ spec: description: Cluster network configuration. properties: apiServerPort: - description: APIServerPort specifies the port the API Server should - bind to. Defaults to 6443. + description: APIServerPort specifies the port the API Server should bind to. Defaults to 6443. format: int32 type: integer pods: @@ -2174,8 +1557,7 @@ spec: type: object type: object controlPlaneEndpoint: - description: ControlPlaneEndpoint represents the endpoint used to - communicate with the control plane. + description: ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. properties: host: description: The hostname on which the API server is serving. @@ -2189,25 +1571,13 @@ spec: - 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. + 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.' + 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' @@ -2219,8 +1589,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -2228,25 +1597,13 @@ spec: 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. + 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.' + 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' @@ -2258,8 +1615,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -2267,8 +1623,7 @@ spec: 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. + description: Paused can be used to prevent controllers from processing the Cluster and all its associated objects. type: boolean type: object status: @@ -2277,41 +1632,26 @@ spec: conditions: description: Conditions defines current service state of the cluster. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -2319,53 +1659,41 @@ spec: type: object type: array controlPlaneInitialized: - description: ControlPlaneInitialized defines if the control plane - has been initialized. + 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. + 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. + 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. + 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. + 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. + 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. + 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + 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. + description: Phase represents the current phase of cluster actuation. E.g. Pending, Running, Terminating, Failed etc. type: string type: object type: object @@ -2388,14 +1716,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -2406,8 +1730,7 @@ spec: description: Cluster network configuration. properties: apiServerPort: - description: APIServerPort specifies the port the API Server should - bind to. Defaults to 6443. + description: APIServerPort specifies the port the API Server should bind to. Defaults to 6443. format: int32 type: integer pods: @@ -2435,8 +1758,7 @@ spec: type: object type: object controlPlaneEndpoint: - description: ControlPlaneEndpoint represents the endpoint used to - communicate with the control plane. + description: ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. properties: host: description: The hostname on which the API server is serving. @@ -2450,25 +1772,13 @@ spec: - 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. + 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.' + 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' @@ -2480,8 +1790,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -2489,25 +1798,13 @@ spec: 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. + 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.' + 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' @@ -2519,8 +1816,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -2528,126 +1824,73 @@ spec: 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. + 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.' + 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. + 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." + 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' + 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' + 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. + 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. + 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. + 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. + 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. + 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. + 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. + 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' + 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' + 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. + 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. + 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: @@ -2667,41 +1910,26 @@ spec: conditions: description: Conditions defines current service state of the cluster. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -2713,45 +1941,34 @@ spec: 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. + 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. + 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. + 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. + 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. + 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. + 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + 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. + description: Phase represents the current phase of cluster actuation. E.g. Pending, Running, Terminating, Failed etc. type: string type: object type: object @@ -2778,14 +1995,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -2796,8 +2009,7 @@ spec: description: Cluster network configuration. properties: apiServerPort: - description: APIServerPort specifies the port the API Server should - bind to. Defaults to 6443. + description: APIServerPort specifies the port the API Server should bind to. Defaults to 6443. format: int32 type: integer pods: @@ -2825,8 +2037,7 @@ spec: type: object type: object controlPlaneEndpoint: - description: ControlPlaneEndpoint represents the endpoint used to - communicate with the control plane. + description: ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. properties: host: description: The hostname on which the API server is serving. @@ -2840,25 +2051,13 @@ spec: - 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. + 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.' + 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' @@ -2870,8 +2069,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -2879,25 +2077,13 @@ spec: 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. + 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.' + 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' @@ -2909,8 +2095,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -2918,97 +2103,56 @@ spec: 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. + 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.' + 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. + 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." + 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' + 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' + 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. + 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`' + 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 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. + 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. + 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. + 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. + 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' + 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 @@ -3019,113 +2163,59 @@ spec: description: The Kubernetes version of the cluster. type: string workers: - description: Workers encapsulates the different constructs that - form the worker nodes for the cluster. + 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. + 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. + 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. + 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. + 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 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. + 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' + 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' + 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. + 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. + 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`' + 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 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. + 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 variables: - description: Variables can be used to customize the - MachineDeployment through patches. + description: Variables can be used to customize the MachineDeployment through patches. properties: overrides: - description: Overrides can be used to override Cluster - level variables. + 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. + 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' + 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 @@ -3150,41 +2240,26 @@ spec: conditions: description: Conditions defines current service state of the cluster. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -3197,45 +2272,34 @@ spec: 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. + 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. + 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. + 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. + 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. + 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. + 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + 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. + description: Phase represents the current phase of cluster actuation. E.g. Pending, Running, Terminating, Failed etc. type: string type: object type: object @@ -3277,14 +2341,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -3292,19 +2352,14 @@ spec: description: ExtensionConfigSpec is the desired state of the ExtensionConfig properties: clientConfig: - description: ClientConfig defines how to communicate with the Extension - server. + 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. + 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`." + 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. @@ -3313,14 +2368,10 @@ spec: 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. + 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). + 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: @@ -3328,47 +2379,25 @@ spec: - 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." + 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. + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -3380,11 +2409,7 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object required: @@ -3396,41 +2421,26 @@ spec: conditions: description: Conditions define the current service state of the ExtensionConfig. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -3439,27 +2449,21 @@ spec: type: object type: array handlers: - description: Handlers defines the current ExtensionHandlers supported - by an Extension. + 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. + 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. + 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. + description: RequestHook defines the versioned runtime hook which this ExtensionHandler serves. properties: apiVersion: - description: APIVersion is the group and version of the - Hook. + description: APIVersion is the group and version of the Hook. type: string hook: description: Hook is the name of the hook. @@ -3469,9 +2473,7 @@ spec: - hook type: object timeoutSeconds: - description: TimeoutSeconds defines the timeout duration for - client calls to the ExtensionHandler. Defaults to 10 is not - set. + description: TimeoutSeconds defines the timeout duration for client calls to the ExtensionHandler. Defaults to 10 is not set. format: int32 type: integer required: @@ -3524,14 +2526,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -3539,14 +2537,10 @@ 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. + 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. + 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 @@ -3566,52 +2560,35 @@ spec: 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. + 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?' + 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. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -3667,14 +2644,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -3685,27 +2658,20 @@ spec: description: Address is the IP address. type: string claimRef: - description: ClaimRef is a reference to the claim this IPAddress was - created for. + 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?' + 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. + 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. + 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. + 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 @@ -3780,8 +2746,7 @@ spec: jsonPath: .status.readyReplicas name: Ready type: integer - - description: Total number of non-terminated machines targeted by this deployment - that have the desired template spec + - description: Total number of non-terminated machines targeted by this deployment that have the desired template spec jsonPath: .status.updatedReplicas name: Updated type: integer @@ -3795,14 +2760,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -3810,67 +2771,44 @@ spec: description: MachineDeploymentSpec defines the desired state of MachineDeployment. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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) + 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. + 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. + 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. + 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. + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -3882,60 +2820,31 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic strategy: - description: The deployment strategy to use to replace existing machines - with new ones. + 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. + 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.' + 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.' + 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. + description: Type of deployment. Currently the only supported strategy is "RollingUpdate". Default is RollingUpdate. type: string type: object template: @@ -3947,91 +2856,35 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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." + 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' + 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." + 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." + 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." + 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. + 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. + 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. + 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' @@ -4052,37 +2905,19 @@ spec: 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' + 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. + 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. + 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.' + 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' @@ -4091,12 +2926,10 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -4104,47 +2937,27 @@ spec: 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." + 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. + 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. + 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. + 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. + 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.' + 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' @@ -4156,8 +2969,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -4165,33 +2977,13 @@ spec: 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -4208,8 +3000,7 @@ spec: 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. + description: Total number of available machines (ready for at least minReadySeconds) targeted by this deployment. format: int32 type: integer observedGeneration: @@ -4217,35 +3008,25 @@ spec: format: int64 type: integer phase: - description: Phase represents the current phase of a MachineDeployment - (ScalingUp, ScalingDown, Running, Failed, or Unknown). + 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). + 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' + 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. + 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. + description: Total number of non-terminated machines targeted by this deployment that have the desired template spec. format: int32 type: integer type: object @@ -4279,8 +3060,7 @@ spec: jsonPath: .status.readyReplicas name: Ready type: integer - - description: Total number of non-terminated machines targeted by this deployment - that have the desired template spec + - description: Total number of non-terminated machines targeted by this deployment that have the desired template spec jsonPath: .status.updatedReplicas name: Updated type: integer @@ -4294,14 +3074,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -4309,68 +3085,45 @@ spec: description: MachineDeploymentSpec defines the desired state of MachineDeployment. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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) + 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. + 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. + 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. + 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. + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -4382,27 +3135,18 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic strategy: - description: The deployment strategy to use to replace existing machines - with new ones. + 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. + 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 + 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 @@ -4412,35 +3156,13 @@ spec: 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.' + 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.' + 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: @@ -4459,53 +3181,28 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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' + 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' + 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. + 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. + 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.' + 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' @@ -4514,12 +3211,10 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -4527,41 +3222,24 @@ spec: 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. + 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. + 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. + 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. + 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.' + 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' @@ -4573,8 +3251,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -4582,33 +3259,13 @@ spec: 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -4625,48 +3282,32 @@ spec: 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. + 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. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -4678,35 +3319,25 @@ spec: format: int64 type: integer phase: - description: Phase represents the current phase of a MachineDeployment - (ScalingUp, ScalingDown, Running, Failed, or Unknown). + 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). + 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' + 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. + 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. + description: Total number of non-terminated machines targeted by this deployment that have the desired template spec. format: int32 type: integer type: object @@ -4737,8 +3368,7 @@ spec: jsonPath: .status.readyReplicas name: Ready type: integer - - description: Total number of non-terminated machines targeted by this deployment - that have the desired template spec + - description: Total number of non-terminated machines targeted by this deployment that have the desired template spec jsonPath: .status.updatedReplicas name: Updated type: integer @@ -4764,14 +3394,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -4779,68 +3405,45 @@ spec: description: MachineDeploymentSpec defines the desired state of MachineDeployment. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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) + 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. + 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. + 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. + 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. + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -4852,27 +3455,18 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic strategy: - description: The deployment strategy to use to replace existing machines - with new ones. + 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. + 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 + 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 @@ -4882,35 +3476,13 @@ spec: 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.' + 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.' + 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: @@ -4929,53 +3501,28 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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' + 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' + 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. + 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. + 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.' + 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' @@ -4984,12 +3531,10 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -4997,41 +3542,24 @@ spec: 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. + 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. + 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. + 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. + 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.' + 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' @@ -5043,8 +3571,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -5052,39 +3579,16 @@ spec: 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. + 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -5101,48 +3605,32 @@ spec: 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. + 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. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -5155,35 +3643,25 @@ spec: format: int64 type: integer phase: - description: Phase represents the current phase of a MachineDeployment - (ScalingUp, ScalingDown, Running, Failed, or Unknown). + 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). + 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' + 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. + 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. + description: Total number of non-terminated machines targeted by this deployment that have the desired template spec. format: int32 type: integer type: object @@ -5248,18 +3726,13 @@ spec: name: v1alpha3 schema: openAPIV3Schema: - description: MachineHealthCheck is the Schema for the machinehealthchecks - API. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -5267,44 +3740,26 @@ spec: description: Specification of machine health check policy properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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. + 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. + 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." + 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.' + 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' @@ -5316,8 +3771,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -5325,32 +3779,21 @@ spec: type: object x-kubernetes-map-type: atomic selector: - description: Label selector to match machines whose health will be - exercised + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -5362,24 +3805,14 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic 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. + 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. + 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 @@ -5407,41 +3840,26 @@ spec: conditions: description: Conditions defines current service state of the MachineHealthCheck. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -5449,32 +3867,26 @@ spec: type: object type: array currentHealthy: - description: total number of healthy machines counted by this machine - health check + 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 + 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. + 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 + 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 + description: Targets shows the current list of machines the machine health check is watching items: type: string type: array @@ -5508,18 +3920,13 @@ spec: name: v1alpha4 schema: openAPIV3Schema: - description: MachineHealthCheck is the Schema for the machinehealthchecks - API. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -5527,46 +3934,26 @@ spec: description: Specification of machine health check policy properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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. + 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. + 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." + 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.' + 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' @@ -5578,8 +3965,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -5587,32 +3973,21 @@ spec: type: object x-kubernetes-map-type: atomic selector: - description: Label selector to match machines whose health will be - exercised + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -5624,24 +3999,14 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic 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. + 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. + 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 @@ -5659,12 +4024,7 @@ spec: 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' + 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: @@ -5678,41 +4038,26 @@ spec: conditions: description: Conditions defines current service state of the MachineHealthCheck. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -5720,32 +4065,26 @@ spec: type: object type: array currentHealthy: - description: total number of healthy machines counted by this machine - health check + 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 + 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. + 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 + 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 + description: Targets shows the current list of machines the machine health check is watching items: type: string type: array @@ -5779,18 +4118,13 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: MachineHealthCheck is the Schema for the machinehealthchecks - API. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -5798,46 +4132,26 @@ spec: description: Specification of machine health check policy properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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. + 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. + 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." + 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.' + 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' @@ -5849,8 +4163,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -5858,32 +4171,21 @@ spec: type: object x-kubernetes-map-type: atomic selector: - description: Label selector to match machines whose health will be - exercised + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -5895,24 +4197,14 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic 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. + 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. + 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 @@ -5930,12 +4222,7 @@ spec: 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' + 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: @@ -5949,41 +4236,26 @@ spec: conditions: description: Conditions defines current service state of the MachineHealthCheck. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -5992,32 +4264,26 @@ spec: type: object type: array currentHealthy: - description: total number of healthy machines counted by this machine - health check + 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 + 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. + 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 + 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 + description: Targets shows the current list of machines the machine health check is watching items: type: string type: array @@ -6067,8 +4333,7 @@ spec: jsonPath: .status.replicas name: Replicas type: string - - description: MachinePool status such as Terminating/Pending/Provisioning/Running/Failed - etc + - description: MachinePool status such as Terminating/Pending/Provisioning/Running/Failed etc jsonPath: .status.phase name: Phase type: string @@ -6082,14 +4347,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -6097,81 +4358,48 @@ spec: description: MachinePoolSpec defines the desired state of MachinePool. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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. + 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) + 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. + 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. + 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. + 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. + 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.' + 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.' + 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. + description: Type of deployment. Currently the only supported strategy is "RollingUpdate". Default is RollingUpdate. type: string type: object template: @@ -6183,91 +4411,35 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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." + 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' + 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." + 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." + 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." + 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. + 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. + 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. + 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' @@ -6288,37 +4460,19 @@ spec: 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' + 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. + 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. + 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.' + 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' @@ -6327,12 +4481,10 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -6340,47 +4492,27 @@ spec: 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." + 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. + 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. + 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. + 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. + 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.' + 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' @@ -6392,8 +4524,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -6401,33 +4532,13 @@ spec: 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -6443,8 +4554,7 @@ spec: description: MachinePoolStatus defines the observed state of MachinePool. properties: availableReplicas: - description: The number of available replicas (ready for at least - minReadySeconds) for this MachinePool. + description: The number of available replicas (ready for at least minReadySeconds) for this MachinePool. format: int32 type: integer bootstrapReady: @@ -6453,41 +4563,26 @@ spec: conditions: description: Conditions define the current service state of the MachinePool. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -6495,63 +4590,24 @@ spec: 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. + 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. + 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean nodeRefs: - description: NodeRefs will point to the corresponding Nodes if it - they exist. + 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. Instead of using this type, create - a locally provided and used type that is well-focused on your - reference. For example, ServiceReferences for admission registration: - https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 - .' + description: 'ObjectReference contains enough information to let you inspect or modify the referred object. --- New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". Those cannot be well described when embedded. 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple and the version of the actual struct is irrelevant. 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type will affect numerous schemas. Don''t make new APIs embed an underspecified API type they do not control. Instead of using this type, create a locally provided and used type that is well-focused on your reference. For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 .' properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -6563,8 +4619,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -6572,18 +4627,14 @@ spec: type: object type: array observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + 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. + 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". + 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: @@ -6591,12 +4642,7 @@ spec: 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. + 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 @@ -6617,8 +4663,7 @@ spec: jsonPath: .status.replicas name: Replicas type: string - - description: MachinePool status such as Terminating/Pending/Provisioning/Running/Failed - etc + - description: MachinePool status such as Terminating/Pending/Provisioning/Running/Failed etc jsonPath: .status.phase name: Phase type: string @@ -6632,14 +4677,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -6647,33 +4688,25 @@ spec: description: MachinePoolSpec defines the desired state of MachinePool. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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. + 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) + 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. + 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. + 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: @@ -6685,53 +4718,28 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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' + 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' + 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. + 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. + 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.' + 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' @@ -6740,12 +4748,10 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -6753,41 +4759,24 @@ spec: 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. + 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. + 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. + 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. + 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.' + 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' @@ -6799,8 +4788,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -6808,33 +4796,13 @@ spec: 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -6850,8 +4818,7 @@ spec: description: MachinePoolStatus defines the observed state of MachinePool. properties: availableReplicas: - description: The number of available replicas (ready for at least - minReadySeconds) for this MachinePool. + description: The number of available replicas (ready for at least minReadySeconds) for this MachinePool. format: int32 type: integer bootstrapReady: @@ -6860,41 +4827,26 @@ spec: conditions: description: Conditions define the current service state of the MachinePool. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -6902,63 +4854,24 @@ spec: 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. + 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. + 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean nodeRefs: - description: NodeRefs will point to the corresponding Nodes if it - they exist. + 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. Instead of using this type, create - a locally provided and used type that is well-focused on your - reference. For example, ServiceReferences for admission registration: - https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 - .' + description: 'ObjectReference contains enough information to let you inspect or modify the referred object. --- New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". Those cannot be well described when embedded. 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple and the version of the actual struct is irrelevant. 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type will affect numerous schemas. Don''t make new APIs embed an underspecified API type they do not control. Instead of using this type, create a locally provided and used type that is well-focused on your reference. For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 .' properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -6970,8 +4883,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -6979,18 +4891,14 @@ spec: type: object type: array observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + 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. + 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". + 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: @@ -6998,12 +4906,7 @@ spec: 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. + 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 @@ -7029,8 +4932,7 @@ spec: jsonPath: .status.replicas name: Replicas type: string - - description: MachinePool status such as Terminating/Pending/Provisioning/Running/Failed - etc + - description: MachinePool status such as Terminating/Pending/Provisioning/Running/Failed etc jsonPath: .status.phase name: Phase type: string @@ -7048,14 +4950,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -7063,33 +4961,25 @@ spec: description: MachinePoolSpec defines the desired state of MachinePool. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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. + 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) + 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. + 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. + 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: @@ -7101,53 +4991,28 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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' + 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' + 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. + 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. + 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.' + 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' @@ -7156,12 +5021,10 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -7169,41 +5032,24 @@ spec: 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. + 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. + 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. + 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. + 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.' + 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' @@ -7215,8 +5061,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -7224,39 +5069,16 @@ spec: 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. + 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -7272,8 +5094,7 @@ spec: description: MachinePoolStatus defines the observed state of MachinePool. properties: availableReplicas: - description: The number of available replicas (ready for at least - minReadySeconds) for this MachinePool. + description: The number of available replicas (ready for at least minReadySeconds) for this MachinePool. format: int32 type: integer bootstrapReady: @@ -7282,41 +5103,26 @@ spec: conditions: description: Conditions define the current service state of the MachinePool. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -7325,63 +5131,24 @@ spec: 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. + 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. + 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean nodeRefs: - description: NodeRefs will point to the corresponding Nodes if it - they exist. + 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. Instead of using this type, create - a locally provided and used type that is well-focused on your - reference. For example, ServiceReferences for admission registration: - https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 - .' + description: 'ObjectReference contains enough information to let you inspect or modify the referred object. --- New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". Those cannot be well described when embedded. 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple and the version of the actual struct is irrelevant. 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type will affect numerous schemas. Don''t make new APIs embed an underspecified API type they do not control. Instead of using this type, create a locally provided and used type that is well-focused on your reference. For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 .' properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -7393,8 +5160,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -7402,18 +5168,14 @@ spec: type: object type: array observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + 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. + 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". + 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: @@ -7421,12 +5183,7 @@ spec: 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. + 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 @@ -7497,14 +5254,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -7512,30 +5265,16 @@ 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. + 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. + 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.' + 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' @@ -7547,8 +5286,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -7556,45 +5294,27 @@ spec: 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." + 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. + 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. + 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. + 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. + 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.' + 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' @@ -7606,8 +5326,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -7615,30 +5334,13 @@ spec: 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -7649,18 +5351,15 @@ spec: 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. + 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. + 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. + description: Machine address type, one of Hostname, ExternalIP or InternalIP. type: string required: - address @@ -7673,41 +5372,26 @@ spec: conditions: description: Conditions defines current service state of the Machine. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -7715,42 +5399,16 @@ spec: 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." + 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." + 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean lastUpdated: - description: LastUpdated identifies when the phase of the Machine - last transitioned. + description: LastUpdated identifies when the phase of the Machine last transitioned. format: date-time type: string nodeRef: @@ -7760,17 +5418,7 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -7782,8 +5430,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -7791,19 +5438,14 @@ spec: type: object x-kubernetes-map-type: atomic observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + 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. + 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. + 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 @@ -7843,14 +5485,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -7858,30 +5496,16 @@ 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. + 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. + 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.' + 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' @@ -7893,8 +5517,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -7902,40 +5525,24 @@ spec: 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. + 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. + 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. + 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. + 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.' + 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' @@ -7947,8 +5554,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -7956,30 +5562,13 @@ spec: 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -7990,18 +5579,15 @@ spec: 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. + 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. + 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. + description: Machine address type, one of Hostname, ExternalIP or InternalIP. type: string required: - address @@ -8014,41 +5600,26 @@ spec: conditions: description: Conditions defines current service state of the Machine. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -8056,47 +5627,20 @@ spec: 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." + 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." + 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean lastUpdated: - description: LastUpdated identifies when the phase of the Machine - last transitioned. + 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' + 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 @@ -8105,12 +5649,10 @@ spec: 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). + 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). + 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. @@ -8119,21 +5661,16 @@ spec: 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' + 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)). + 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 + 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 @@ -8154,17 +5691,7 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -8176,8 +5703,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -8185,19 +5711,14 @@ spec: type: object x-kubernetes-map-type: atomic observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + 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. + 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. + 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 @@ -8236,14 +5757,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -8251,30 +5768,16 @@ 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. + 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. + 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.' + 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' @@ -8286,8 +5789,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -8295,40 +5797,24 @@ spec: 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. + 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. + 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. + 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. + 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.' + 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' @@ -8340,8 +5826,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -8349,36 +5834,16 @@ spec: 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. + 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -8389,18 +5854,15 @@ spec: 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. + 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. + 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. + description: Machine address type, one of Hostname, ExternalIP or InternalIP. type: string required: - address @@ -8413,41 +5875,26 @@ spec: conditions: description: Conditions defines current service state of the Machine. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -8456,47 +5903,20 @@ spec: 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." + 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." + 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean lastUpdated: - description: LastUpdated identifies when the phase of the Machine - last transitioned. + 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' + 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 @@ -8505,12 +5925,10 @@ spec: 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). + 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). + 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. @@ -8519,21 +5937,16 @@ spec: 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' + 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)). + 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 + 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 @@ -8554,17 +5967,7 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -8576,8 +5979,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -8585,13 +5987,11 @@ spec: type: object x-kubernetes-map-type: atomic observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + 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. + description: Phase represents the current phase of machine actuation. E.g. Pending, Running, Terminating, Failed etc. type: string type: object type: object @@ -8653,14 +6053,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -8668,60 +6064,40 @@ spec: description: MachineSetSpec defines the desired state of MachineSet. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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" + 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) + 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. + 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' + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -8733,18 +6109,12 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic template: - description: Template is the object that describes the machine that - will be created if insufficient replicas are detected. Object references - to custom resources resources are treated as templates. + description: Template is the object that describes the machine that will be created if insufficient replicas are detected. Object references to custom resources 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' @@ -8752,91 +6122,35 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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." + 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' + 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." + 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." + 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." + 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. + 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. + 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. + 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' @@ -8857,37 +6171,19 @@ spec: 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' + 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. + 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. + 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.' + 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' @@ -8896,12 +6192,10 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -8909,47 +6203,27 @@ spec: 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." + 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. + 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. + 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. + 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. + 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.' + 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' @@ -8961,8 +6235,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -8970,33 +6243,13 @@ spec: 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -9012,43 +6265,24 @@ spec: description: MachineSetStatus defines the observed state of MachineSet. properties: availableReplicas: - description: The number of available replicas (ready for at least - minReadySeconds) for this MachineSet. + 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." + 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. + 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. + 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". + 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: @@ -9056,10 +6290,7 @@ spec: 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' + 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 @@ -9098,14 +6329,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -9113,61 +6340,41 @@ spec: description: MachineSetSpec defines the desired state of MachineSet. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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" + 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) + 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. + 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' + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -9179,18 +6386,12 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic template: - description: Template is the object that describes the machine that - will be created if insufficient replicas are detected. Object references - to custom resources resources are treated as templates. + description: Template is the object that describes the machine that will be created if insufficient replicas are detected. Object references to custom resources 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' @@ -9198,53 +6399,28 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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' + 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' + 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. + 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. + 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.' + 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' @@ -9253,12 +6429,10 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -9266,41 +6440,24 @@ spec: 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. + 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. + 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. + 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. + 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.' + 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' @@ -9312,8 +6469,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -9321,33 +6477,13 @@ spec: 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -9363,48 +6499,32 @@ spec: description: MachineSetStatus defines the observed state of MachineSet. properties: availableReplicas: - description: The number of available replicas (ready for at least - minReadySeconds) for this MachineSet. + 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. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -9414,36 +6534,18 @@ spec: 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." + 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. + 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. + 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". + 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: @@ -9451,10 +6553,7 @@ spec: 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' + 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 @@ -9502,14 +6601,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -9517,61 +6612,41 @@ spec: description: MachineSetSpec defines the desired state of MachineSet. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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" + 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) + 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. + 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' + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -9583,18 +6658,12 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic template: - description: Template is the object that describes the machine that - will be created if insufficient replicas are detected. Object references - to custom resources resources are treated as templates. + description: Template is the object that describes the machine that will be created if insufficient replicas are detected. Object references to custom resources 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' @@ -9602,53 +6671,28 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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' + 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' + 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. + 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. + 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.' + 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' @@ -9657,12 +6701,10 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -9670,41 +6712,24 @@ spec: 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. + 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. + 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. + 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. + 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.' + 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' @@ -9716,8 +6741,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -9725,39 +6749,16 @@ spec: 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. + 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -9773,48 +6774,32 @@ spec: description: MachineSetStatus defines the observed state of MachineSet. properties: availableReplicas: - description: The number of available replicas (ready for at least - minReadySeconds) for this MachineSet. + 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. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -9825,36 +6810,18 @@ spec: 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." + 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. + 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. + 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". + 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: @@ -9862,10 +6829,7 @@ spec: 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' + 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 @@ -10307,7 +7271,7 @@ spec: - args: - --leader-elect - --metrics-bind-addr=localhost:8080 - #- --feature-gates=MachinePool=${EXP_MACHINE_POOL:=false},ClusterResourceSet=${EXP_CLUSTER_RESOURCE_SET:=false},ClusterTopology=${CLUSTER_TOPOLOGY:=false},RuntimeSDK=${EXP_RUNTIME_SDK:=false} + #- --feature-gates=MachinePool=${EXP_MACHINE_POOL:=false},ClusterResourceSet=${EXP_CLUSTER_RESOURCE_SET:=false},ClusterTopology=${CLUSTER_TOPOLOGY:=false},RuntimeSDK=${EXP_RUNTIME_SDK:=false} command: - /manager env: diff --git a/Support/Multitenancy/capi_capm3-mult-instances/cluster-manifests/capm3.yaml b/Support/Multitenancy/capi_capm3-mult-instances/cluster-manifests/capm3.yaml index 6221948c..9ff72ac2 100644 --- a/Support/Multitenancy/capi_capm3-mult-instances/cluster-manifests/capm3.yaml +++ b/Support/Multitenancy/capi_capm3-mult-instances/cluster-manifests/capm3.yaml @@ -29,158 +29,126 @@ spec: namespace: capm3-system path: /convert conversionReviewVersions: - - v1 - - v1beta1 + - v1 + - v1beta1 group: ipam.metal3.io names: categories: - - metal3 + - metal3 kind: IPAddress listKind: IPAddressList plural: ipaddresses shortNames: - - ipa - - ipaddress - - m3ipa - - m3ipaddress - - m3ipaddresses - - metal3ipa - - metal3ipaddress - - metal3ipaddresses + - ipa + - ipaddress + - m3ipa + - m3ipaddress + - m3ipaddresses + - metal3ipa + - metal3ipaddress + - metal3ipaddresses singular: ipaddress scope: Namespaced versions: - - additionalPrinterColumns: - - description: Time duration since creation of Metal3IPAddress - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha1 - schema: - openAPIV3Schema: - description: IPAddress is the Schema for the ipaddresses 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 defines the desired state of IPAddress. - properties: - address: - description: Address contains the IP address - pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) - type: string - claim: - description: Claim points to the object the IPClaim was created for. - 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 - dnsServers: - description: DNSServers is the list of dns servers - items: - description: IPAddress is used for validation of an IP address - pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) - type: string - type: array - gateway: - description: Gateway is the gateway ip address + - additionalPrinterColumns: + - description: Time duration since creation of Metal3IPAddress + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: IPAddress is the Schema for the ipaddresses 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 defines the desired state of IPAddress. + properties: + address: + description: Address contains the IP address + pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) + type: string + claim: + description: Claim points to the object the IPClaim was created for. + 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 + dnsServers: + description: DNSServers is the list of dns servers + items: + description: IPAddress is used for validation of an IP address pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) type: string - pool: - description: Pool is the IPPool this was generated from. - 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 - prefix: - description: Prefix is the mask of the network as integer (max 128) - maximum: 128 - type: integer - required: - - address - - claim - - pool - type: object - type: object - served: true - storage: true - subresources: {} + type: array + gateway: + description: Gateway is the gateway ip address + pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) + type: string + pool: + description: Pool is the IPPool this was generated from. + 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 + prefix: + description: Prefix is the mask of the network as integer (max 128) + maximum: 128 + type: integer + required: + - address + - claim + - pool + type: object + type: object + served: true + storage: true + subresources: {} status: acceptedNames: kind: "" @@ -212,147 +180,113 @@ spec: namespace: capm3-system path: /convert conversionReviewVersions: - - v1 - - v1beta1 + - v1 + - v1beta1 group: ipam.metal3.io names: categories: - - cluster-api + - cluster-api kind: IPClaim listKind: IPClaimList plural: ipclaims shortNames: - - ipc - - ipclaim - - m3ipc - - m3ipclaim - - m3ipclaims - - metal3ipc - - metal3ipclaim - - metal3ipclaims + - ipc + - ipclaim + - m3ipc + - m3ipclaim + - m3ipclaims + - metal3ipc + - metal3ipclaim + - metal3ipclaims singular: ipclaim scope: Namespaced versions: - - additionalPrinterColumns: - - description: Time duration since creation of Metal3IPClaim - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha1 - schema: - openAPIV3Schema: - description: IPClaim is the Schema for the ipclaims 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: IPClaimSpec defines the desired state of IPClaim. - properties: - pool: - description: Pool is the IPPool this was generated from. - 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 - required: - - pool - type: object - status: - description: IPClaimStatus defines the observed state of IPClaim. - properties: - address: - description: - Address is the IPAddress that was generated for this - claim. - 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 - errorMessage: - description: ErrorMessage contains the error message - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} + - additionalPrinterColumns: + - description: Time duration since creation of Metal3IPClaim + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: IPClaim is the Schema for the ipclaims 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: IPClaimSpec defines the desired state of IPClaim. + properties: + pool: + description: Pool is the IPPool this was generated from. + 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 + required: + - pool + type: object + status: + description: IPClaimStatus defines the observed state of IPClaim. + properties: + address: + description: Address is the IPAddress that was generated for this claim. + 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 + errorMessage: + description: ErrorMessage contains the error message + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} status: acceptedNames: kind: "" @@ -384,160 +318,138 @@ spec: namespace: capm3-system path: /convert conversionReviewVersions: - - v1 - - v1beta1 + - v1 + - v1beta1 group: ipam.metal3.io names: categories: - - cluster-api + - cluster-api kind: IPPool listKind: IPPoolList plural: ippools shortNames: - - ipp - - ippool - - m3ipp - - m3ippool - - m3ippools - - metal3ipp - - metal3ippool - - metal3ippools + - ipp + - ippool + - m3ipp + - m3ippool + - m3ippools + - metal3ipp + - metal3ippool + - metal3ippools singular: ippool scope: Namespaced versions: - - additionalPrinterColumns: - - description: Cluster to which this template belongs - jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name - name: Cluster - type: string - - description: Time duration since creation of Metal3IPPool - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha1 - schema: - openAPIV3Schema: - description: IPPool is the Schema for the ippools 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: IPPoolSpec defines the desired state of IPPool. - properties: - clusterName: - description: - ClusterName is the name of the Cluster this object belongs - to. - type: string - dnsServers: - description: DNSServers is the list of dns servers - items: - description: IPAddress is used for validation of an IP address - pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) - type: string - type: array - gateway: - description: Gateway is the gateway ip address + - additionalPrinterColumns: + - description: Cluster to which this template belongs + jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name + name: Cluster + type: string + - description: Time duration since creation of Metal3IPPool + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: IPPool is the Schema for the ippools 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: IPPoolSpec defines the desired state of IPPool. + properties: + clusterName: + description: ClusterName is the name of the Cluster this object belongs to. + type: string + dnsServers: + description: DNSServers is the list of dns servers + items: + description: IPAddress is used for validation of an IP address pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) type: string - namePrefix: - description: - namePrefix is the prefix used to generate the IPAddress - object names - minLength: 1 - type: string - pools: - description: Pools contains the list of IP addresses pools - items: - description: - MetaDataIPAddress contains the info to render th ip - address. It is IP-version agnostic - properties: - dnsServers: - description: DNSServers is the list of dns servers - items: - description: IPAddress is used for validation of an IP address - pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) - type: string - type: array - end: - description: - End is the last IP address that can be rendered. - It is used as a validation that the rendered IP is in bound. - pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) - type: string - gateway: - description: Gateway is the gateway ip address - pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) - type: string - prefix: - description: - Prefix is the mask of the network as integer (max - 128) - maximum: 128 - type: integer - start: - description: Start is the first ip address that can be rendered + type: array + gateway: + description: Gateway is the gateway ip address + pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) + type: string + namePrefix: + description: namePrefix is the prefix used to generate the IPAddress object names + minLength: 1 + type: string + pools: + description: Pools contains the list of IP addresses pools + items: + description: MetaDataIPAddress contains the info to render th ip address. It is IP-version agnostic + properties: + dnsServers: + description: DNSServers is the list of dns servers + items: + description: IPAddress is used for validation of an IP address pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) type: string - subnet: - description: - Subnet is used to validate that the rendered IP - is in bounds. In case the Start value is not given, it is - derived from the subnet ip incremented by 1 (`192.168.0.1` - for `192.168.0.0/24`) - pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))/([0-9]|[1-2][0-9]|3[0-2])$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8])$)) - type: string - type: object - type: array - preAllocations: - additionalProperties: - description: IPAddress is used for validation of an IP address - pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) - type: string - description: PreAllocations contains the preallocated IP addresses - type: object - prefix: - description: Prefix is the mask of the network as integer (max 128) - maximum: 128 - type: integer - required: - - namePrefix - type: object - status: - description: IPPoolStatus defines the observed state of IPPool. - properties: - indexes: - additionalProperties: - description: IPAddress is used for validation of an IP address - pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) - type: string - description: - Allocations contains the map of objects and IP addresses - they have + type: array + end: + description: End is the last IP address that can be rendered. It is used as a validation that the rendered IP is in bound. + pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) + type: string + gateway: + description: Gateway is the gateway ip address + pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) + type: string + prefix: + description: Prefix is the mask of the network as integer (max 128) + maximum: 128 + type: integer + start: + description: Start is the first ip address that can be rendered + pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) + type: string + subnet: + description: Subnet is used to validate that the rendered IP is in bounds. In case the Start value is not given, it is derived from the subnet ip incremented by 1 (`192.168.0.1` for `192.168.0.0/24`) + pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))/([0-9]|[1-2][0-9]|3[0-2])$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8])$)) + type: string type: object - lastUpdated: - description: LastUpdated identifies when this status was last observed. - format: date-time + type: array + preAllocations: + additionalProperties: + description: IPAddress is used for validation of an IP address + pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} + description: PreAllocations contains the preallocated IP addresses + type: object + prefix: + description: Prefix is the mask of the network as integer (max 128) + maximum: 128 + type: integer + required: + - namePrefix + type: object + status: + description: IPPoolStatus defines the observed state of IPPool. + properties: + indexes: + additionalProperties: + description: IPAddress is used for validation of an IP address + pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) + type: string + description: Allocations contains the map of objects and IP addresses they have + type: object + lastUpdated: + description: LastUpdated identifies when this status was last observed. + format: date-time + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} status: acceptedNames: kind: "" @@ -567,275 +479,210 @@ spec: namespace: capm3-system path: /convert conversionReviewVersions: - - v1 - - v1beta1 + - v1 + - v1beta1 group: infrastructure.cluster.x-k8s.io names: categories: - - cluster-api + - cluster-api kind: Metal3Cluster listKind: Metal3ClusterList plural: metal3clusters shortNames: - - m3c - - m3cluster - - m3clusters - - metal3c - - metal3cluster + - m3c + - m3cluster + - m3clusters + - metal3c + - metal3cluster singular: metal3cluster scope: Namespaced versions: - - additionalPrinterColumns: - - description: Time duration since creation of Metal3Cluster - jsonPath: .metadata.creationTimestamp - name: Age - type: date - - description: metal3Cluster is Ready - jsonPath: .status.ready - name: Ready - type: string - - description: Most recent error - jsonPath: .status.failureReason - name: Error - type: string - - description: Cluster to which this BMCluster belongs - jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name - name: Cluster - type: string - - description: Control plane endpoint - jsonPath: .spec.controlPlaneEndpoint - name: Endpoint - type: string - name: v1alpha5 - schema: - openAPIV3Schema: - description: Metal3Cluster is the Schema for the metal3clusters 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: Metal3ClusterSpec defines the desired state of Metal3Cluster. - properties: - controlPlaneEndpoint: - description: - ControlPlaneEndpoint represents the endpoint used to - communicate with the control plane. + - additionalPrinterColumns: + - description: Time duration since creation of Metal3Cluster + jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: metal3Cluster is Ready + jsonPath: .status.ready + name: Ready + type: string + - description: Most recent error + jsonPath: .status.failureReason + name: Error + type: string + - description: Cluster to which this BMCluster belongs + jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name + name: Cluster + type: string + - description: Control plane endpoint + jsonPath: .spec.controlPlaneEndpoint + name: Endpoint + type: string + name: v1alpha5 + schema: + openAPIV3Schema: + description: Metal3Cluster is the Schema for the metal3clusters 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: Metal3ClusterSpec defines the desired state of Metal3Cluster. + properties: + controlPlaneEndpoint: + description: ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. + properties: + host: + description: Host is the hostname on which the API server is serving. + type: string + port: + description: Port is the port on which the API server is serving. + type: integer + required: + - host + - port + type: object + noCloudProvider: + description: Determines if the cluster is not to be deployed with an external cloud provider. If set to true, CAPM3 will use node labels to set providerID on the kubernetes nodes. If set to false, providerID is set on nodes by other entities and CAPM3 uses the value of the providerID on the m3m resource. + type: boolean + required: + - controlPlaneEndpoint + type: object + status: + description: Metal3ClusterStatus defines the observed state of Metal3Cluster. + properties: + 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 + lastUpdated: + description: LastUpdated identifies when this status was last observed. + format: date-time + type: string + ready: + description: Ready denotes that the Metal3 cluster (infrastructure) is ready. In Baremetal case, it does not mean anything for now as no infrastructure steps need to be performed. Required by Cluster API. Set to True by the metal3Cluster controller after creation. + type: boolean + required: + - ready + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - description: Time duration since creation of Metal3Cluster + jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: metal3Cluster is Ready + jsonPath: .status.ready + name: Ready + type: string + - description: Most recent error + jsonPath: .status.failureReason + name: Error + type: string + - description: Cluster to which this BMCluster belongs + jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name + name: Cluster + type: string + - description: Control plane endpoint + jsonPath: .spec.controlPlaneEndpoint + name: Endpoint + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: Metal3Cluster is the Schema for the metal3clusters 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: Metal3ClusterSpec defines the desired state of Metal3Cluster. + properties: + controlPlaneEndpoint: + description: ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. + properties: + host: + description: Host is the hostname on which the API server is serving. + type: string + port: + description: Port is the port on which the API server is serving. + type: integer + required: + - host + - port + type: object + noCloudProvider: + description: Determines if the cluster is not to be deployed with an external cloud provider. If set to true, CAPM3 will use node labels to set providerID on the kubernetes nodes. If set to false, providerID is set on nodes by other entities and CAPM3 uses the value of the providerID on the m3m resource. + type: boolean + type: object + status: + description: Metal3ClusterStatus defines the observed state of Metal3Cluster. + properties: + conditions: + description: Conditions defines current service state of the Metal3Cluster. + items: + description: Condition defines an observation of a Cluster API resource operational state. properties: - host: - description: Host is the hostname on which the API server is serving. + 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 - port: - description: Port is the port on which the API server is serving. - type: integer - required: - - host - - port - type: object - noCloudProvider: - description: - Determines if the cluster is not to be deployed with - an external cloud provider. If set to true, CAPM3 will use node - labels to set providerID on the kubernetes nodes. If set to false, - providerID is set on nodes by other entities and CAPM3 uses the - value of the providerID on the m3m resource. - type: boolean - required: - - controlPlaneEndpoint - type: object - status: - description: Metal3ClusterStatus defines the observed state of Metal3Cluster. - properties: - 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 - lastUpdated: - description: LastUpdated identifies when this status was last observed. - format: date-time - type: string - ready: - description: - Ready denotes that the Metal3 cluster (infrastructure) - is ready. In Baremetal case, it does not mean anything for now as - no infrastructure steps need to be performed. Required by Cluster - API. Set to True by the metal3Cluster controller after creation. - type: boolean - required: - - ready - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - description: Time duration since creation of Metal3Cluster - jsonPath: .metadata.creationTimestamp - name: Age - type: date - - description: metal3Cluster is Ready - jsonPath: .status.ready - name: Ready - type: string - - description: Most recent error - jsonPath: .status.failureReason - name: Error - type: string - - description: Cluster to which this BMCluster belongs - jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name - name: Cluster - type: string - - description: Control plane endpoint - jsonPath: .spec.controlPlaneEndpoint - name: Endpoint - type: string - name: v1beta1 - schema: - openAPIV3Schema: - description: Metal3Cluster is the Schema for the metal3clusters 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: Metal3ClusterSpec defines the desired state of Metal3Cluster. - properties: - controlPlaneEndpoint: - description: - ControlPlaneEndpoint represents the endpoint used to - communicate with the control plane. - properties: - host: - description: Host is the hostname on which the API server is serving. + 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 - port: - description: Port is the port on which the API server is serving. - type: integer required: - - host - - port + - lastTransitionTime + - status + - type type: object - noCloudProvider: - description: - Determines if the cluster is not to be deployed with - an external cloud provider. If set to true, CAPM3 will use node - labels to set providerID on the kubernetes nodes. If set to false, - providerID is set on nodes by other entities and CAPM3 uses the - value of the providerID on the m3m resource. - type: boolean - type: object - status: - description: Metal3ClusterStatus defines the observed state of Metal3Cluster. - properties: - conditions: - description: Conditions defines current service state of the Metal3Cluster. - 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 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 - lastUpdated: - description: LastUpdated identifies when this status was last observed. - format: date-time - type: string - ready: - description: - Ready denotes that the Metal3 cluster (infrastructure) - is ready. In Baremetal case, it does not mean anything for now as - no infrastructure steps need to be performed. Required by Cluster - API. Set to True by the metal3Cluster controller after creation. - type: boolean - type: object - type: object - served: true - storage: true - subresources: - status: {} + type: array + 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 + lastUpdated: + description: LastUpdated identifies when this status was last observed. + format: date-time + type: string + ready: + description: Ready denotes that the Metal3 cluster (infrastructure) is ready. In Baremetal case, it does not mean anything for now as no infrastructure steps need to be performed. Required by Cluster API. Set to True by the metal3Cluster controller after creation. + type: boolean + type: object + type: object + served: true + storage: true + subresources: + status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -859,268 +706,200 @@ spec: namespace: capm3-system path: /convert conversionReviewVersions: - - v1 - - v1beta1 + - v1 + - v1beta1 group: infrastructure.cluster.x-k8s.io names: categories: - - cluster-api + - cluster-api kind: Metal3DataClaim listKind: Metal3DataClaimList plural: metal3dataclaims shortNames: - - m3dc - - m3dataclaim - - m3dataclaims - - metal3dc - - metal3dataclaim + - m3dc + - m3dataclaim + - m3dataclaims + - metal3dc + - metal3dataclaim singular: metal3dataclaim scope: Namespaced versions: - - additionalPrinterColumns: - - description: Time duration since creation of Metal3DataClaim - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha5 - schema: - openAPIV3Schema: - description: Metal3DataClaim is the Schema for the metal3datas 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: Metal3DataClaimSpec defines the desired state of Metal3DataClaim. - properties: - template: - description: - Template is the Metal3DataTemplate this was generated - for. - 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: - - template - type: object - status: - description: Metal3DataClaimStatus defines the observed state of Metal3DataClaim. - properties: - errorMessage: - description: ErrorMessage contains the error message - type: string - renderedData: - description: RenderedData references the Metal3Data when ready - 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 - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - description: Time duration since creation of Metal3DataClaim - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1beta1 - schema: - openAPIV3Schema: - description: Metal3DataClaim is the Schema for the metal3datas 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: Metal3DataClaimSpec defines the desired state of Metal3DataClaim. - properties: - template: - description: - Template is the Metal3DataTemplate this was generated - for. - 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: - - template - type: object - status: - description: Metal3DataClaimStatus defines the observed state of Metal3DataClaim. - properties: - errorMessage: - description: ErrorMessage contains the error message - type: string - renderedData: - description: RenderedData references the Metal3Data when ready - 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 - type: object - type: object - served: true - storage: true - subresources: - status: {} + - additionalPrinterColumns: + - description: Time duration since creation of Metal3DataClaim + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha5 + schema: + openAPIV3Schema: + description: Metal3DataClaim is the Schema for the metal3datas 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: Metal3DataClaimSpec defines the desired state of Metal3DataClaim. + properties: + template: + description: Template is the Metal3DataTemplate this was generated for. + 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: + - template + type: object + status: + description: Metal3DataClaimStatus defines the observed state of Metal3DataClaim. + properties: + errorMessage: + description: ErrorMessage contains the error message + type: string + renderedData: + description: RenderedData references the Metal3Data when ready + 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 + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - description: Time duration since creation of Metal3DataClaim + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + description: Metal3DataClaim is the Schema for the metal3datas 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: Metal3DataClaimSpec defines the desired state of Metal3DataClaim. + properties: + template: + description: Template is the Metal3DataTemplate this was generated for. + 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: + - template + type: object + status: + description: Metal3DataClaimStatus defines the observed state of Metal3DataClaim. + properties: + errorMessage: + description: ErrorMessage contains the error message + type: string + renderedData: + description: RenderedData references the Metal3Data when ready + 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 + type: object + type: object + served: true + storage: true + subresources: + status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -1144,366 +923,264 @@ spec: namespace: capm3-system path: /convert conversionReviewVersions: - - v1 - - v1beta1 + - v1 + - v1beta1 group: infrastructure.cluster.x-k8s.io names: categories: - - cluster-api + - cluster-api kind: Metal3Data listKind: Metal3DataList plural: metal3datas shortNames: - - m3d - - m3data - - m3datas - - metal3d - - metal3data + - m3d + - m3data + - m3datas + - metal3d + - metal3data singular: metal3data scope: Namespaced versions: - - additionalPrinterColumns: - - description: Time duration since creation of Metal3Data - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha5 - schema: - openAPIV3Schema: - description: Metal3Data is the Schema for the metal3datas 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: Metal3DataSpec defines the desired state of Metal3Data. - properties: - claim: - description: - DataClaim points to the Metal3DataClaim the Metal3Data - was created for. - 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 - index: - description: - Index stores the index value of this instance in the - Metal3DataTemplate. - type: integer - metaData: - description: MetaData points to the rendered MetaData secret. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - networkData: - description: NetworkData points to the rendered NetworkData secret. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - template: - description: - DataTemplate is the Metal3DataTemplate this was generated - from. - 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 - templateReference: - description: - TemplateReference refers to the Template the Metal3MachineTemplate - refers to. It can be matched against the key or it may also point - to the name of the template Metal3Data refers to - type: string - required: - - claim - - template - type: object - status: - description: Metal3DataStatus defines the observed state of Metal3Data. - properties: - errorMessage: - description: ErrorMessage contains the error message - type: string - ready: - description: - Ready is a flag set to True if the secrets were rendered - properly - type: boolean - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - description: Time duration since creation of Metal3Data - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1beta1 - schema: - openAPIV3Schema: - description: Metal3Data is the Schema for the metal3datas 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: Metal3DataSpec defines the desired state of Metal3Data. - properties: - claim: - description: - DataClaim points to the Metal3DataClaim the Metal3Data - was created for. - 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 - index: - description: - Index stores the index value of this instance in the - Metal3DataTemplate. - type: integer - metaData: - description: MetaData points to the rendered MetaData secret. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - networkData: - description: NetworkData points to the rendered NetworkData secret. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - template: - description: - DataTemplate is the Metal3DataTemplate this was generated - from. - 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 - templateReference: - description: - TemplateReference refers to the Template the Metal3MachineTemplate - refers to. It can be matched against the key or it may also point - to the name of the template Metal3Data refers to - type: string - required: - - claim - - template - type: object - status: - description: Metal3DataStatus defines the observed state of Metal3Data. - properties: - errorMessage: - description: ErrorMessage contains the error message - type: string - ready: - description: - Ready is a flag set to True if the secrets were rendered - properly - type: boolean - type: object - type: object - served: true - storage: true - subresources: - status: {} + - additionalPrinterColumns: + - description: Time duration since creation of Metal3Data + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha5 + schema: + openAPIV3Schema: + description: Metal3Data is the Schema for the metal3datas 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: Metal3DataSpec defines the desired state of Metal3Data. + properties: + claim: + description: DataClaim points to the Metal3DataClaim the Metal3Data was created for. + 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 + index: + description: Index stores the index value of this instance in the Metal3DataTemplate. + type: integer + metaData: + description: MetaData points to the rendered MetaData secret. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + networkData: + description: NetworkData points to the rendered NetworkData secret. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + template: + description: DataTemplate is the Metal3DataTemplate this was generated from. + 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 + templateReference: + description: TemplateReference refers to the Template the Metal3MachineTemplate refers to. It can be matched against the key or it may also point to the name of the template Metal3Data refers to + type: string + required: + - claim + - template + type: object + status: + description: Metal3DataStatus defines the observed state of Metal3Data. + properties: + errorMessage: + description: ErrorMessage contains the error message + type: string + ready: + description: Ready is a flag set to True if the secrets were rendered properly + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - description: Time duration since creation of Metal3Data + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + description: Metal3Data is the Schema for the metal3datas 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: Metal3DataSpec defines the desired state of Metal3Data. + properties: + claim: + description: DataClaim points to the Metal3DataClaim the Metal3Data was created for. + 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 + index: + description: Index stores the index value of this instance in the Metal3DataTemplate. + type: integer + metaData: + description: MetaData points to the rendered MetaData secret. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + networkData: + description: NetworkData points to the rendered NetworkData secret. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + template: + description: DataTemplate is the Metal3DataTemplate this was generated from. + 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 + templateReference: + description: TemplateReference refers to the Template the Metal3MachineTemplate refers to. It can be matched against the key or it may also point to the name of the template Metal3Data refers to + type: string + required: + - claim + - template + type: object + status: + description: Metal3DataStatus defines the observed state of Metal3Data. + properties: + errorMessage: + description: ErrorMessage contains the error message + type: string + ready: + description: Ready is a flag set to True if the secrets were rendered properly + type: boolean + type: object + type: object + served: true + storage: true + subresources: + status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -1527,1906 +1204,1440 @@ spec: namespace: capm3-system path: /convert conversionReviewVersions: - - v1 - - v1beta1 + - v1 + - v1beta1 group: infrastructure.cluster.x-k8s.io names: categories: - - cluster-api + - cluster-api kind: Metal3DataTemplate listKind: Metal3DataTemplateList plural: metal3datatemplates shortNames: - - m3dt - - m3datatemplate - - m3datatemplates - - metal3dt - - metal3datatemplate + - m3dt + - m3datatemplate + - m3datatemplates + - metal3dt + - metal3datatemplate singular: metal3datatemplate scope: Namespaced versions: - - additionalPrinterColumns: - - description: Cluster to which this template belongs - jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name - name: Cluster - type: string - - description: Time duration since creation of Metal3DataTemplate - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha5 - schema: - openAPIV3Schema: - description: - Metal3DataTemplate is the Schema for the metal3datatemplates - 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: Metal3DataTemplateSpec defines the desired state of Metal3DataTemplate. - properties: - clusterName: - description: - ClusterName is the name of the Cluster this object belongs - to. - minLength: 1 - type: string - metaData: - description: - MetaData contains the information needed to generate - the metadata secret - properties: - dnsServersFromIPPool: - description: - DNSServersFromPool is the list of metadata items - to be rendered as dns servers. - items: - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - name: - description: - Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init - type: string - required: - - key - - name - type: object - type: array - fromAnnotations: - description: - FromAnnotations is the list of metadata items to - be fetched from object Annotations - items: - description: - MetaDataFromAnnotation contains the information - to fetch an annotation content, if the label does not exist, - it is rendered as empty string - properties: - annotation: - description: - Annotation is the key of the Annotation to - fetch - type: string - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - object: - description: - Object is the type of the object from which - we retrieve the name - enum: - - machine - - metal3machine - - baremetalhost - type: string - required: - - annotation - - key - - object - type: object - type: array - fromHostInterfaces: - description: - FromHostInterfaces is the list of metadata items - to be rendered as MAC addresses of the host interfaces. - items: - description: - MetaDataHostInterface contains the information - to render the object name - properties: - interface: - description: - Interface is the name of the interface in the - BareMetalHost Status Hardware Details list of interfaces - from which to fetch the MAC address. - type: string - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - required: - - interface - - key - type: object - type: array - fromLabels: - description: - FromLabels is the list of metadata items to be fetched - from object labels - items: - description: - MetaDataFromLabel contains the information to fetch - a label content, if the label does not exist, it is rendered - as empty string - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - label: - description: Label is the key of the label to fetch - type: string - object: - description: - Object is the type of the object from which - we retrieve the name - enum: - - machine - - metal3machine - - baremetalhost - type: string - required: - - key - - label - - object - type: object - type: array - gatewaysFromIPPool: - description: - GatewaysFromPool is the list of metadata items to - be rendered as gateway addresses. - items: - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - name: - description: - Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init - type: string - required: - - key - - name - type: object - type: array - indexes: - description: - Indexes is the list of metadata items to be rendered - from the index of the Metal3Data - items: - description: - MetaDataIndex contains the information to render - the index - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - offset: - description: - Offset is the offset to apply to the index - when rendering it - type: integer - prefix: - description: Prefix is the prefix string - type: string - step: - default: 1 - description: Step is the multiplier of the index - type: integer - suffix: - description: Suffix is the suffix string - type: string - required: - - key - type: object - type: array - ipAddressesFromIPPool: - description: - IPAddressesFromPool is the list of metadata items - to be rendered as ip addresses. - items: - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - name: - description: - Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init - type: string - required: - - key - - name - type: object - type: array - namespaces: - description: - Namespaces is the list of metadata items to be rendered - from the namespace - items: - description: - MetaDataNamespace contains the information to render - the namespace - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - required: - - key - type: object - type: array - objectNames: - description: - ObjectNames is the list of metadata items to be rendered - from the name of objects. - items: - description: - MetaDataObjectName contains the information to - render the object name - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - object: - description: - Object is the type of the object from which - we retrieve the name - enum: - - machine - - metal3machine - - baremetalhost - type: string - required: - - key - - object - type: object - type: array - prefixesFromIPPool: - description: - PrefixesFromPool is the list of metadata items to - be rendered as network prefixes. - items: - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - name: - description: - Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init - type: string - required: - - key - - name - type: object - type: array - strings: - description: - Strings is the list of metadata items to be rendered - from strings - items: - description: - MetaDataString contains the information to render - the string - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - value: - description: Value is the string to render. - type: string - required: - - key - - value - type: object - type: array - type: object - networkData: - description: - NetworkData contains the information needed to generate - the networkdata secret - properties: - links: - description: - Links is a structure containing lists of different - types objects + - additionalPrinterColumns: + - description: Cluster to which this template belongs + jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name + name: Cluster + type: string + - description: Time duration since creation of Metal3DataTemplate + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha5 + schema: + openAPIV3Schema: + description: Metal3DataTemplate is the Schema for the metal3datatemplates 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: Metal3DataTemplateSpec defines the desired state of Metal3DataTemplate. + properties: + clusterName: + description: ClusterName is the name of the Cluster this object belongs to. + minLength: 1 + type: string + metaData: + description: MetaData contains the information needed to generate the metadata secret + properties: + dnsServersFromIPPool: + description: DNSServersFromPool is the list of metadata items to be rendered as dns servers. + items: properties: - bonds: - description: Bonds contains a list of Bond links - items: - description: - NetworkDataLinkBond represents a bond link - object - properties: - bondLinks: - description: - BondLinks is the list of links that are - part of the bond. - items: - type: string - type: array - bondMode: - description: - BondMode is the mode of bond used. It can - be one of balance-rr, active-backup, balance-xor, - broadcast, balance-tlb, balance-alb, 802.3ad - enum: - - balance-rr - - active-backup - - balance-xor - - broadcast - - balance-tlb - - balance-alb - - 802.3ad - type: string - id: - description: - Id is the ID of the interface (used for - naming) - type: string - macAddress: - description: - MACAddress is the MAC address of the interface, - containing the object used to render it. - properties: - fromHostInterface: - description: - FromHostInterface contains the name - of the interface in the BareMetalHost Introspection - details from which to fetch the MAC address - type: string - string: - description: - String contains the MAC address given - as a string - type: string - type: object - mtu: - default: 1500 - description: MTU is the MTU of the interface - maximum: 9000 - type: integer - required: - - bondLinks - - bondMode - - id - - macAddress - type: object - type: array - ethernets: - description: Ethernets contains a list of Ethernet links - items: - description: - NetworkDataLinkEthernet represents an ethernet - link object - properties: - id: - description: - Id is the ID of the interface (used for - naming) - type: string - macAddress: - description: - MACAddress is the MAC address of the interface, - containing the object used to render it. - properties: - fromHostInterface: - description: - FromHostInterface contains the name - of the interface in the BareMetalHost Introspection - details from which to fetch the MAC address - type: string - string: - description: - String contains the MAC address given - as a string - type: string - type: object - mtu: - default: 1500 - description: MTU is the MTU of the interface - maximum: 9000 - type: integer - type: - description: - "Type is the type of the ethernet link. - It can be one of: bridge, dvs, hw_veb, hyperv, ovs, - tap, vhostuser, vif, phy" - enum: - - bridge - - dvs - - hw_veb - - hyperv - - ovs - - tap - - vhostuser - - vif - - phy - type: string - required: - - id - - macAddress - - type - type: object - type: array - vlans: - description: Vlans contains a list of Vlan links - items: - description: - NetworkDataLinkVlan represents a vlan link - object - properties: - id: - description: - Id is the ID of the interface (used for - naming) - type: string - macAddress: - description: - MACAddress is the MAC address of the interface, - containing the object used to render it. - properties: - fromHostInterface: - description: - FromHostInterface contains the name - of the interface in the BareMetalHost Introspection - details from which to fetch the MAC address - type: string - string: - description: - String contains the MAC address given - as a string - type: string - type: object - mtu: - default: 1500 - description: MTU is the MTU of the interface - maximum: 9000 - type: integer - vlanID: - description: VlanID is the Vlan ID - maximum: 4096 - type: integer - vlanLink: - description: - VlanLink is the name of the link on which - the vlan should be added - type: string - required: - - id - - macAddress - - vlanID - - vlanLink - type: object - type: array + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + name: + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init + type: string + required: + - key + - name type: object - networks: - description: - Networks is a structure containing lists of different - types objects + type: array + fromAnnotations: + description: FromAnnotations is the list of metadata items to be fetched from object Annotations + items: + description: MetaDataFromAnnotation contains the information to fetch an annotation content, if the label does not exist, it is rendered as empty string properties: - ipv4: - description: IPv4 contains a list of IPv4 static allocations - items: - description: - NetworkDataIPv4 represents an ipv4 static network - object - properties: - id: - description: ID is the network ID (name) - type: string - ipAddressFromIPPool: - description: - IPAddressFromIPPool contains the name of - the IPPool to use to get an ip address - type: string - link: - description: Link is the link on which the network applies - type: string - routes: - description: Routes contains a list of IPv4 routes - items: - description: - NetworkDataRoutev4 represents an ipv4 - route object - properties: - gateway: - description: - Gateway is the IPv4 address of the - gateway - properties: - fromIPPool: - description: - FromIPPool is the name of the - IPPool to fetch the gateway from - type: string - string: - description: - String is the gateway given as - a string - pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ - type: string - type: object - network: - description: Network is the IPv4 network address - pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ - type: string - prefix: - description: - Prefix is the mask of the network - as integer (max 32) - maximum: 32 - type: integer - services: - description: Services is a list of IPv4 services - properties: - dns: - description: DNS is a list of IPv4 DNS services - items: - description: - IPAddressv4 is used for validation - of an IPv6 address - pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of - the IPPool from which to get the DNS servers - type: string - type: object - required: - - gateway - - network - type: object - type: array - required: - - id - - ipAddressFromIPPool - - link - type: object - type: array - ipv4DHCP: - description: IPv4 contains a list of IPv4 DHCP allocations - items: - description: - NetworkDataIPv4DHCP represents an ipv4 DHCP - network object - properties: - id: - description: ID is the network ID (name) - type: string - link: - description: Link is the link on which the network applies - type: string - routes: - description: Routes contains a list of IPv4 routes - items: - description: - NetworkDataRoutev4 represents an ipv4 - route object - properties: - gateway: - description: - Gateway is the IPv4 address of the - gateway - properties: - fromIPPool: - description: - FromIPPool is the name of the - IPPool to fetch the gateway from - type: string - string: - description: - String is the gateway given as - a string - pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ - type: string - type: object - network: - description: Network is the IPv4 network address - pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ - type: string - prefix: - description: - Prefix is the mask of the network - as integer (max 32) - maximum: 32 - type: integer - services: - description: Services is a list of IPv4 services - properties: - dns: - description: DNS is a list of IPv4 DNS services - items: - description: - IPAddressv4 is used for validation - of an IPv6 address - pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of - the IPPool from which to get the DNS servers - type: string - type: object - required: - - gateway - - network - type: object - type: array - required: - - id - - link - type: object - type: array - ipv6: - description: IPv4 contains a list of IPv6 static allocations - items: - description: - NetworkDataIPv6 represents an ipv6 static network - object - properties: - id: - description: ID is the network ID (name) - type: string - ipAddressFromIPPool: - description: - IPAddressFromIPPool contains the name of - the IPPool to use to get an ip address - type: string - link: - description: Link is the link on which the network applies - type: string - routes: - description: Routes contains a list of IPv6 routes - items: - description: - NetworkDataRoutev6 represents an ipv6 - route object - properties: - gateway: - description: - Gateway is the IPv6 address of the - gateway - properties: - fromIPPool: - description: - FromIPPool is the name of the - IPPool to fetch the gateway from - type: string - string: - description: - String is the gateway given as - a string - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - type: object - network: - description: Network is the IPv6 network address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - prefix: - description: - Prefix is the mask of the network - as integer (max 128) - maximum: 128 - type: integer - services: - description: Services is a list of IPv6 services - properties: - dns: - description: DNS is a list of IPv6 DNS services - items: - description: - IPAddressv6 is used for validation - of an IPv6 address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of - the IPPool from which to get the DNS servers - type: string - type: object - required: - - gateway - - network - type: object - type: array - required: - - id - - ipAddressFromIPPool - - link - type: object - type: array - ipv6DHCP: - description: IPv4 contains a list of IPv6 DHCP allocations - items: - description: - NetworkDataIPv6DHCP represents an ipv6 DHCP - network object - properties: - id: - description: ID is the network ID (name) - type: string - link: - description: Link is the link on which the network applies - type: string - routes: - description: Routes contains a list of IPv6 routes - items: - description: - NetworkDataRoutev6 represents an ipv6 - route object - properties: - gateway: - description: - Gateway is the IPv6 address of the - gateway - properties: - fromIPPool: - description: - FromIPPool is the name of the - IPPool to fetch the gateway from - type: string - string: - description: - String is the gateway given as - a string - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - type: object - network: - description: Network is the IPv6 network address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - prefix: - description: - Prefix is the mask of the network - as integer (max 128) - maximum: 128 - type: integer - services: - description: Services is a list of IPv6 services - properties: - dns: - description: DNS is a list of IPv6 DNS services - items: - description: - IPAddressv6 is used for validation - of an IPv6 address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of - the IPPool from which to get the DNS servers - type: string - type: object - required: - - gateway - - network - type: object - type: array - required: - - id - - link - type: object - type: array - ipv6SLAAC: - description: IPv4 contains a list of IPv6 SLAAC allocations - items: - description: - NetworkDataIPv6DHCP represents an ipv6 DHCP - network object - properties: - id: - description: ID is the network ID (name) - type: string - link: - description: Link is the link on which the network applies - type: string - routes: - description: Routes contains a list of IPv6 routes - items: - description: - NetworkDataRoutev6 represents an ipv6 - route object - properties: - gateway: - description: - Gateway is the IPv6 address of the - gateway - properties: - fromIPPool: - description: - FromIPPool is the name of the - IPPool to fetch the gateway from - type: string - string: - description: - String is the gateway given as - a string - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - type: object - network: - description: Network is the IPv6 network address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - prefix: - description: - Prefix is the mask of the network - as integer (max 128) - maximum: 128 - type: integer - services: - description: Services is a list of IPv6 services - properties: - dns: - description: DNS is a list of IPv6 DNS services - items: - description: - IPAddressv6 is used for validation - of an IPv6 address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of - the IPPool from which to get the DNS servers - type: string - type: object - required: - - gateway - - network - type: object - type: array - required: - - id - - link - type: object - type: array + annotation: + description: Annotation is the key of the Annotation to fetch + type: string + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + object: + description: Object is the type of the object from which we retrieve the name + enum: + - machine + - metal3machine + - baremetalhost + type: string + required: + - annotation + - key + - object type: object - services: - description: - Services is a structure containing lists of different - types objects + type: array + fromHostInterfaces: + description: FromHostInterfaces is the list of metadata items to be rendered as MAC addresses of the host interfaces. + items: + description: MetaDataHostInterface contains the information to render the object name properties: - dns: - description: DNS is a list of DNS services - items: - description: IPAddress is used for validation of an IP address - pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of the IPPool from - which to get the DNS servers + interface: + description: Interface is the name of the interface in the BareMetalHost Status Hardware Details list of interfaces from which to fetch the MAC address. type: string + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + required: + - interface + - key type: object - type: object - templateReference: - description: - TemplateReference refers to the Template the Metal3MachineTemplate - refers to. It can be matched against the key or it may also point - to the name of the template Metal3Data refers to - type: string - required: - - clusterName - type: object - status: - description: Metal3DataTemplateStatus defines the observed state of Metal3DataTemplate. - properties: - indexes: - additionalProperties: - type: integer - description: Indexes contains the map of Metal3Machine and index used - type: object - lastUpdated: - description: LastUpdated identifies when this status was last observed. - format: date-time - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - description: Cluster to which this template belongs - jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name - name: Cluster - type: string - - description: Time duration since creation of Metal3DataTemplate - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1beta1 - schema: - openAPIV3Schema: - description: - Metal3DataTemplate is the Schema for the metal3datatemplates - 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: Metal3DataTemplateSpec defines the desired state of Metal3DataTemplate. - properties: - clusterName: - description: - ClusterName is the name of the Cluster this object belongs - to. - minLength: 1 - type: string - metaData: - description: - MetaData contains the information needed to generate - the metadata secret - properties: - dnsServersFromIPPool: - description: - DNSServersFromPool is the list of metadata items - to be rendered as dns servers. - items: - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - name: - description: - Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init - type: string - required: - - key - - name - type: object - type: array - fromAnnotations: - description: - FromAnnotations is the list of metadata items to - be fetched from object Annotations - items: - description: - MetaDataFromAnnotation contains the information - to fetch an annotation content, if the label does not exist, - it is rendered as empty string - properties: - annotation: - description: - Annotation is the key of the Annotation to - fetch - type: string - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - object: - description: - Object is the type of the object from which - we retrieve the name - enum: - - machine - - metal3machine - - baremetalhost - type: string - required: - - annotation - - key - - object - type: object - type: array - fromHostInterfaces: - description: - FromHostInterfaces is the list of metadata items - to be rendered as MAC addresses of the host interfaces. - items: - description: - MetaDataHostInterface contains the information - to render the object name - properties: - interface: - description: - Interface is the name of the interface in the - BareMetalHost Status Hardware Details list of interfaces - from which to fetch the MAC address. - type: string - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - required: - - interface - - key - type: object - type: array - fromLabels: - description: - FromLabels is the list of metadata items to be fetched - from object labels - items: - description: - MetaDataFromLabel contains the information to fetch - a label content, if the label does not exist, it is rendered - as empty string - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - label: - description: Label is the key of the label to fetch - type: string - object: - description: - Object is the type of the object from which - we retrieve the name - enum: - - machine - - metal3machine - - baremetalhost - type: string - required: - - key - - label - - object - type: object - type: array - gatewaysFromIPPool: - description: - GatewaysFromPool is the list of metadata items to - be rendered as gateway addresses. - items: - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - name: - description: - Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init - type: string - required: - - key - - name - type: object - type: array - indexes: - description: - Indexes is the list of metadata items to be rendered - from the index of the Metal3Data - items: - description: - MetaDataIndex contains the information to render - the index - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - offset: - description: - Offset is the offset to apply to the index - when rendering it - type: integer - prefix: - description: Prefix is the prefix string - type: string - step: - default: 1 - description: Step is the multiplier of the index - type: integer - suffix: - description: Suffix is the suffix string - type: string - required: - - key - type: object - type: array - ipAddressesFromIPPool: - description: - IPAddressesFromPool is the list of metadata items - to be rendered as ip addresses. - items: - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - name: - description: - Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init - type: string - required: - - key - - name - type: object - type: array - namespaces: - description: - Namespaces is the list of metadata items to be rendered - from the namespace - items: - description: - MetaDataNamespace contains the information to render - the namespace - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - required: - - key - type: object - type: array - objectNames: - description: - ObjectNames is the list of metadata items to be rendered - from the name of objects. - items: - description: - MetaDataObjectName contains the information to - render the object name - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - object: - description: - Object is the type of the object from which - we retrieve the name - enum: - - machine - - metal3machine - - baremetalhost - type: string - required: - - key - - object - type: object - type: array - prefixesFromIPPool: - description: - PrefixesFromPool is the list of metadata items to - be rendered as network prefixes. - items: - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - name: - description: - Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init - type: string - required: - - key - - name - type: object - type: array - strings: - description: - Strings is the list of metadata items to be rendered - from strings - items: - description: - MetaDataString contains the information to render - the string - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - value: - description: Value is the string to render. - type: string - required: - - key - - value - type: object - type: array - type: object - networkData: - description: - NetworkData contains the information needed to generate - the networkdata secret - properties: - links: - description: - Links is a structure containing lists of different - types objects + type: array + fromLabels: + description: FromLabels is the list of metadata items to be fetched from object labels + items: + description: MetaDataFromLabel contains the information to fetch a label content, if the label does not exist, it is rendered as empty string properties: - bonds: - description: Bonds contains a list of Bond links - items: - description: - NetworkDataLinkBond represents a bond link - object - properties: - bondLinks: - description: - BondLinks is the list of links that are - part of the bond. - items: - type: string - type: array - bondMode: - description: - BondMode is the mode of bond used. It can - be one of balance-rr, active-backup, balance-xor, - broadcast, balance-tlb, balance-alb, 802.1ad - enum: - - balance-rr - - active-backup - - balance-xor - - broadcast - - balance-tlb - - balance-alb - - 802.1ad - type: string - id: - description: - Id is the ID of the interface (used for - naming) + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + label: + description: Label is the key of the label to fetch + type: string + object: + description: Object is the type of the object from which we retrieve the name + enum: + - machine + - metal3machine + - baremetalhost + type: string + required: + - key + - label + - object + type: object + type: array + gatewaysFromIPPool: + description: GatewaysFromPool is the list of metadata items to be rendered as gateway addresses. + items: + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + name: + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init + type: string + required: + - key + - name + type: object + type: array + indexes: + description: Indexes is the list of metadata items to be rendered from the index of the Metal3Data + items: + description: MetaDataIndex contains the information to render the index + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + offset: + description: Offset is the offset to apply to the index when rendering it + type: integer + prefix: + description: Prefix is the prefix string + type: string + step: + default: 1 + description: Step is the multiplier of the index + type: integer + suffix: + description: Suffix is the suffix string + type: string + required: + - key + type: object + type: array + ipAddressesFromIPPool: + description: IPAddressesFromPool is the list of metadata items to be rendered as ip addresses. + items: + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + name: + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init + type: string + required: + - key + - name + type: object + type: array + namespaces: + description: Namespaces is the list of metadata items to be rendered from the namespace + items: + description: MetaDataNamespace contains the information to render the namespace + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + required: + - key + type: object + type: array + objectNames: + description: ObjectNames is the list of metadata items to be rendered from the name of objects. + items: + description: MetaDataObjectName contains the information to render the object name + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + object: + description: Object is the type of the object from which we retrieve the name + enum: + - machine + - metal3machine + - baremetalhost + type: string + required: + - key + - object + type: object + type: array + prefixesFromIPPool: + description: PrefixesFromPool is the list of metadata items to be rendered as network prefixes. + items: + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + name: + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init + type: string + required: + - key + - name + type: object + type: array + strings: + description: Strings is the list of metadata items to be rendered from strings + items: + description: MetaDataString contains the information to render the string + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + value: + description: Value is the string to render. + type: string + required: + - key + - value + type: object + type: array + type: object + networkData: + description: NetworkData contains the information needed to generate the networkdata secret + properties: + links: + description: Links is a structure containing lists of different types objects + properties: + bonds: + description: Bonds contains a list of Bond links + items: + description: NetworkDataLinkBond represents a bond link object + properties: + bondLinks: + description: BondLinks is the list of links that are part of the bond. + items: type: string - macAddress: - description: - MACAddress is the MAC address of the interface, - containing the object used to render it. + type: array + bondMode: + description: BondMode is the mode of bond used. It can be one of balance-rr, active-backup, balance-xor, broadcast, balance-tlb, balance-alb, 802.3ad + enum: + - balance-rr + - active-backup + - balance-xor + - broadcast + - balance-tlb + - balance-alb + - 802.3ad + type: string + id: + description: Id is the ID of the interface (used for naming) + type: string + macAddress: + description: MACAddress is the MAC address of the interface, containing the object used to render it. + properties: + fromHostInterface: + description: FromHostInterface contains the name of the interface in the BareMetalHost Introspection details from which to fetch the MAC address + type: string + string: + description: String contains the MAC address given as a string + type: string + type: object + mtu: + default: 1500 + description: MTU is the MTU of the interface + maximum: 9000 + type: integer + required: + - bondLinks + - bondMode + - id + - macAddress + type: object + type: array + ethernets: + description: Ethernets contains a list of Ethernet links + items: + description: NetworkDataLinkEthernet represents an ethernet link object + properties: + id: + description: Id is the ID of the interface (used for naming) + type: string + macAddress: + description: MACAddress is the MAC address of the interface, containing the object used to render it. + properties: + fromHostInterface: + description: FromHostInterface contains the name of the interface in the BareMetalHost Introspection details from which to fetch the MAC address + type: string + string: + description: String contains the MAC address given as a string + type: string + type: object + mtu: + default: 1500 + description: MTU is the MTU of the interface + maximum: 9000 + type: integer + type: + description: "Type is the type of the ethernet link. It can be one of: bridge, dvs, hw_veb, hyperv, ovs, tap, vhostuser, vif, phy" + enum: + - bridge + - dvs + - hw_veb + - hyperv + - ovs + - tap + - vhostuser + - vif + - phy + type: string + required: + - id + - macAddress + - type + type: object + type: array + vlans: + description: Vlans contains a list of Vlan links + items: + description: NetworkDataLinkVlan represents a vlan link object + properties: + id: + description: Id is the ID of the interface (used for naming) + type: string + macAddress: + description: MACAddress is the MAC address of the interface, containing the object used to render it. + properties: + fromHostInterface: + description: FromHostInterface contains the name of the interface in the BareMetalHost Introspection details from which to fetch the MAC address + type: string + string: + description: String contains the MAC address given as a string + type: string + type: object + mtu: + default: 1500 + description: MTU is the MTU of the interface + maximum: 9000 + type: integer + vlanID: + description: VlanID is the Vlan ID + maximum: 4096 + type: integer + vlanLink: + description: VlanLink is the name of the link on which the vlan should be added + type: string + required: + - id + - macAddress + - vlanID + - vlanLink + type: object + type: array + type: object + networks: + description: Networks is a structure containing lists of different types objects + properties: + ipv4: + description: IPv4 contains a list of IPv4 static allocations + items: + description: NetworkDataIPv4 represents an ipv4 static network object + properties: + id: + description: ID is the network ID (name) + type: string + ipAddressFromIPPool: + description: IPAddressFromIPPool contains the name of the IPPool to use to get an ip address + type: string + link: + description: Link is the link on which the network applies + type: string + routes: + description: Routes contains a list of IPv4 routes + items: + description: NetworkDataRoutev4 represents an ipv4 route object properties: - fromHostInterface: - description: - FromHostInterface contains the name - of the interface in the BareMetalHost Introspection - details from which to fetch the MAC address - type: string - string: - description: - String contains the MAC address given - as a string + gateway: + description: Gateway is the IPv4 address of the gateway + properties: + fromIPPool: + description: FromIPPool is the name of the IPPool to fetch the gateway from + type: string + string: + description: String is the gateway given as a string + pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ + type: string + type: object + network: + description: Network is the IPv4 network address + pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string + prefix: + description: Prefix is the mask of the network as integer (max 32) + maximum: 32 + type: integer + services: + description: Services is a list of IPv4 services + properties: + dns: + description: DNS is a list of IPv4 DNS services + items: + description: IPAddressv4 is used for validation of an IPv6 address + pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ + type: string + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + required: + - gateway + - network type: object - mtu: - default: 1500 - description: MTU is the MTU of the interface - maximum: 9000 - type: integer - required: - - bondLinks - - bondMode - - id - - macAddress - type: object - type: array - ethernets: - description: Ethernets contains a list of Ethernet links - items: - description: - NetworkDataLinkEthernet represents an ethernet - link object - properties: - id: - description: - Id is the ID of the interface (used for - naming) - type: string - macAddress: - description: - MACAddress is the MAC address of the interface, - containing the object used to render it. + type: array + required: + - id + - ipAddressFromIPPool + - link + type: object + type: array + ipv4DHCP: + description: IPv4 contains a list of IPv4 DHCP allocations + items: + description: NetworkDataIPv4DHCP represents an ipv4 DHCP network object + properties: + id: + description: ID is the network ID (name) + type: string + link: + description: Link is the link on which the network applies + type: string + routes: + description: Routes contains a list of IPv4 routes + items: + description: NetworkDataRoutev4 represents an ipv4 route object properties: - fromHostInterface: - description: - FromHostInterface contains the name - of the interface in the BareMetalHost Introspection - details from which to fetch the MAC address + gateway: + description: Gateway is the IPv4 address of the gateway + properties: + fromIPPool: + description: FromIPPool is the name of the IPPool to fetch the gateway from + type: string + string: + description: String is the gateway given as a string + pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ + type: string + type: object + network: + description: Network is the IPv4 network address + pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string - string: - description: - String contains the MAC address given - as a string + prefix: + description: Prefix is the mask of the network as integer (max 32) + maximum: 32 + type: integer + services: + description: Services is a list of IPv4 services + properties: + dns: + description: DNS is a list of IPv4 DNS services + items: + description: IPAddressv4 is used for validation of an IPv6 address + pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ + type: string + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + required: + - gateway + - network + type: object + type: array + required: + - id + - link + type: object + type: array + ipv6: + description: IPv4 contains a list of IPv6 static allocations + items: + description: NetworkDataIPv6 represents an ipv6 static network object + properties: + id: + description: ID is the network ID (name) + type: string + ipAddressFromIPPool: + description: IPAddressFromIPPool contains the name of the IPPool to use to get an ip address + type: string + link: + description: Link is the link on which the network applies + type: string + routes: + description: Routes contains a list of IPv6 routes + items: + description: NetworkDataRoutev6 represents an ipv6 route object + properties: + gateway: + description: Gateway is the IPv6 address of the gateway + properties: + fromIPPool: + description: FromIPPool is the name of the IPPool to fetch the gateway from + type: string + string: + description: String is the gateway given as a string + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + type: object + network: + description: Network is the IPv6 network address + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string + prefix: + description: Prefix is the mask of the network as integer (max 128) + maximum: 128 + type: integer + services: + description: Services is a list of IPv6 services + properties: + dns: + description: DNS is a list of IPv6 DNS services + items: + description: IPAddressv6 is used for validation of an IPv6 address + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + required: + - gateway + - network type: object - mtu: - default: 1500 - description: MTU is the MTU of the interface - maximum: 9000 - type: integer - type: - description: - "Type is the type of the ethernet link. - It can be one of: bridge, dvs, hw_veb, hyperv, ovs, - tap, vhostuser, vif, phy" - enum: - - bridge - - dvs - - hw_veb - - hyperv - - ovs - - tap - - vhostuser - - vif - - phy - type: string - required: - - id - - macAddress - - type - type: object - type: array - vlans: - description: Vlans contains a list of Vlan links - items: - description: - NetworkDataLinkVlan represents a vlan link - object - properties: - id: - description: - Id is the ID of the interface (used for - naming) - type: string - macAddress: - description: - MACAddress is the MAC address of the interface, - containing the object used to render it. + type: array + required: + - id + - ipAddressFromIPPool + - link + type: object + type: array + ipv6DHCP: + description: IPv4 contains a list of IPv6 DHCP allocations + items: + description: NetworkDataIPv6DHCP represents an ipv6 DHCP network object + properties: + id: + description: ID is the network ID (name) + type: string + link: + description: Link is the link on which the network applies + type: string + routes: + description: Routes contains a list of IPv6 routes + items: + description: NetworkDataRoutev6 represents an ipv6 route object properties: - fromHostInterface: - description: - FromHostInterface contains the name - of the interface in the BareMetalHost Introspection - details from which to fetch the MAC address + gateway: + description: Gateway is the IPv6 address of the gateway + properties: + fromIPPool: + description: FromIPPool is the name of the IPPool to fetch the gateway from + type: string + string: + description: String is the gateway given as a string + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + type: object + network: + description: Network is the IPv6 network address + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string - string: - description: - String contains the MAC address given - as a string + prefix: + description: Prefix is the mask of the network as integer (max 128) + maximum: 128 + type: integer + services: + description: Services is a list of IPv6 services + properties: + dns: + description: DNS is a list of IPv6 DNS services + items: + description: IPAddressv6 is used for validation of an IPv6 address + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + required: + - gateway + - network + type: object + type: array + required: + - id + - link + type: object + type: array + ipv6SLAAC: + description: IPv4 contains a list of IPv6 SLAAC allocations + items: + description: NetworkDataIPv6DHCP represents an ipv6 DHCP network object + properties: + id: + description: ID is the network ID (name) + type: string + link: + description: Link is the link on which the network applies + type: string + routes: + description: Routes contains a list of IPv6 routes + items: + description: NetworkDataRoutev6 represents an ipv6 route object + properties: + gateway: + description: Gateway is the IPv6 address of the gateway + properties: + fromIPPool: + description: FromIPPool is the name of the IPPool to fetch the gateway from + type: string + string: + description: String is the gateway given as a string + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + type: object + network: + description: Network is the IPv6 network address + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string + prefix: + description: Prefix is the mask of the network as integer (max 128) + maximum: 128 + type: integer + services: + description: Services is a list of IPv6 services + properties: + dns: + description: DNS is a list of IPv6 DNS services + items: + description: IPAddressv6 is used for validation of an IPv6 address + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + required: + - gateway + - network type: object - mtu: - default: 1500 - description: MTU is the MTU of the interface - maximum: 9000 - type: integer - vlanID: - description: VlanID is the Vlan ID - maximum: 4096 - type: integer - vlanLink: - description: - VlanLink is the name of the link on which - the vlan should be added - type: string - required: - - id - - macAddress - - vlanID - - vlanLink - type: object - type: array + type: array + required: + - id + - link + type: object + type: array + type: object + services: + description: Services is a structure containing lists of different types objects + properties: + dns: + description: DNS is a list of DNS services + items: + description: IPAddress is used for validation of an IP address + pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) + type: string + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + type: object + templateReference: + description: TemplateReference refers to the Template the Metal3MachineTemplate refers to. It can be matched against the key or it may also point to the name of the template Metal3Data refers to + type: string + required: + - clusterName + type: object + status: + description: Metal3DataTemplateStatus defines the observed state of Metal3DataTemplate. + properties: + indexes: + additionalProperties: + type: integer + description: Indexes contains the map of Metal3Machine and index used + type: object + lastUpdated: + description: LastUpdated identifies when this status was last observed. + format: date-time + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - description: Cluster to which this template belongs + jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name + name: Cluster + type: string + - description: Time duration since creation of Metal3DataTemplate + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + description: Metal3DataTemplate is the Schema for the metal3datatemplates 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: Metal3DataTemplateSpec defines the desired state of Metal3DataTemplate. + properties: + clusterName: + description: ClusterName is the name of the Cluster this object belongs to. + minLength: 1 + type: string + metaData: + description: MetaData contains the information needed to generate the metadata secret + properties: + dnsServersFromIPPool: + description: DNSServersFromPool is the list of metadata items to be rendered as dns servers. + items: + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + name: + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init + type: string + required: + - key + - name type: object - networks: - description: - Networks is a structure containing lists of different - types objects + type: array + fromAnnotations: + description: FromAnnotations is the list of metadata items to be fetched from object Annotations + items: + description: MetaDataFromAnnotation contains the information to fetch an annotation content, if the label does not exist, it is rendered as empty string properties: - ipv4: - description: IPv4 contains a list of IPv4 static allocations - items: - description: - NetworkDataIPv4 represents an ipv4 static network - object - properties: - id: - description: ID is the network ID (name) - type: string - ipAddressFromIPPool: - description: - IPAddressFromIPPool contains the name of - the IPPool to use to get an ip address - type: string - link: - description: Link is the link on which the network applies + annotation: + description: Annotation is the key of the Annotation to fetch + type: string + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + object: + description: Object is the type of the object from which we retrieve the name + enum: + - machine + - metal3machine + - baremetalhost + type: string + required: + - annotation + - key + - object + type: object + type: array + fromHostInterfaces: + description: FromHostInterfaces is the list of metadata items to be rendered as MAC addresses of the host interfaces. + items: + description: MetaDataHostInterface contains the information to render the object name + properties: + interface: + description: Interface is the name of the interface in the BareMetalHost Status Hardware Details list of interfaces from which to fetch the MAC address. + type: string + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + required: + - interface + - key + type: object + type: array + fromLabels: + description: FromLabels is the list of metadata items to be fetched from object labels + items: + description: MetaDataFromLabel contains the information to fetch a label content, if the label does not exist, it is rendered as empty string + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + label: + description: Label is the key of the label to fetch + type: string + object: + description: Object is the type of the object from which we retrieve the name + enum: + - machine + - metal3machine + - baremetalhost + type: string + required: + - key + - label + - object + type: object + type: array + gatewaysFromIPPool: + description: GatewaysFromPool is the list of metadata items to be rendered as gateway addresses. + items: + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + name: + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init + type: string + required: + - key + - name + type: object + type: array + indexes: + description: Indexes is the list of metadata items to be rendered from the index of the Metal3Data + items: + description: MetaDataIndex contains the information to render the index + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + offset: + description: Offset is the offset to apply to the index when rendering it + type: integer + prefix: + description: Prefix is the prefix string + type: string + step: + default: 1 + description: Step is the multiplier of the index + type: integer + suffix: + description: Suffix is the suffix string + type: string + required: + - key + type: object + type: array + ipAddressesFromIPPool: + description: IPAddressesFromPool is the list of metadata items to be rendered as ip addresses. + items: + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + name: + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init + type: string + required: + - key + - name + type: object + type: array + namespaces: + description: Namespaces is the list of metadata items to be rendered from the namespace + items: + description: MetaDataNamespace contains the information to render the namespace + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + required: + - key + type: object + type: array + objectNames: + description: ObjectNames is the list of metadata items to be rendered from the name of objects. + items: + description: MetaDataObjectName contains the information to render the object name + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + object: + description: Object is the type of the object from which we retrieve the name + enum: + - machine + - metal3machine + - baremetalhost + type: string + required: + - key + - object + type: object + type: array + prefixesFromIPPool: + description: PrefixesFromPool is the list of metadata items to be rendered as network prefixes. + items: + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + name: + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init + type: string + required: + - key + - name + type: object + type: array + strings: + description: Strings is the list of metadata items to be rendered from strings + items: + description: MetaDataString contains the information to render the string + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + value: + description: Value is the string to render. + type: string + required: + - key + - value + type: object + type: array + type: object + networkData: + description: NetworkData contains the information needed to generate the networkdata secret + properties: + links: + description: Links is a structure containing lists of different types objects + properties: + bonds: + description: Bonds contains a list of Bond links + items: + description: NetworkDataLinkBond represents a bond link object + properties: + bondLinks: + description: BondLinks is the list of links that are part of the bond. + items: type: string - routes: - description: Routes contains a list of IPv4 routes - items: - description: - NetworkDataRoutev4 represents an ipv4 - route object - properties: - gateway: - description: - Gateway is the IPv4 address of the - gateway - properties: - fromIPPool: - description: - FromIPPool is the name of the - IPPool to fetch the gateway from - type: string - string: - description: - String is the gateway given as - a string + type: array + bondMode: + description: BondMode is the mode of bond used. It can be one of balance-rr, active-backup, balance-xor, broadcast, balance-tlb, balance-alb, 802.1ad + enum: + - balance-rr + - active-backup + - balance-xor + - broadcast + - balance-tlb + - balance-alb + - 802.1ad + type: string + id: + description: Id is the ID of the interface (used for naming) + type: string + macAddress: + description: MACAddress is the MAC address of the interface, containing the object used to render it. + properties: + fromHostInterface: + description: FromHostInterface contains the name of the interface in the BareMetalHost Introspection details from which to fetch the MAC address + type: string + string: + description: String contains the MAC address given as a string + type: string + type: object + mtu: + default: 1500 + description: MTU is the MTU of the interface + maximum: 9000 + type: integer + required: + - bondLinks + - bondMode + - id + - macAddress + type: object + type: array + ethernets: + description: Ethernets contains a list of Ethernet links + items: + description: NetworkDataLinkEthernet represents an ethernet link object + properties: + id: + description: Id is the ID of the interface (used for naming) + type: string + macAddress: + description: MACAddress is the MAC address of the interface, containing the object used to render it. + properties: + fromHostInterface: + description: FromHostInterface contains the name of the interface in the BareMetalHost Introspection details from which to fetch the MAC address + type: string + string: + description: String contains the MAC address given as a string + type: string + type: object + mtu: + default: 1500 + description: MTU is the MTU of the interface + maximum: 9000 + type: integer + type: + description: "Type is the type of the ethernet link. It can be one of: bridge, dvs, hw_veb, hyperv, ovs, tap, vhostuser, vif, phy" + enum: + - bridge + - dvs + - hw_veb + - hyperv + - ovs + - tap + - vhostuser + - vif + - phy + type: string + required: + - id + - macAddress + - type + type: object + type: array + vlans: + description: Vlans contains a list of Vlan links + items: + description: NetworkDataLinkVlan represents a vlan link object + properties: + id: + description: Id is the ID of the interface (used for naming) + type: string + macAddress: + description: MACAddress is the MAC address of the interface, containing the object used to render it. + properties: + fromHostInterface: + description: FromHostInterface contains the name of the interface in the BareMetalHost Introspection details from which to fetch the MAC address + type: string + string: + description: String contains the MAC address given as a string + type: string + type: object + mtu: + default: 1500 + description: MTU is the MTU of the interface + maximum: 9000 + type: integer + vlanID: + description: VlanID is the Vlan ID + maximum: 4096 + type: integer + vlanLink: + description: VlanLink is the name of the link on which the vlan should be added + type: string + required: + - id + - macAddress + - vlanID + - vlanLink + type: object + type: array + type: object + networks: + description: Networks is a structure containing lists of different types objects + properties: + ipv4: + description: IPv4 contains a list of IPv4 static allocations + items: + description: NetworkDataIPv4 represents an ipv4 static network object + properties: + id: + description: ID is the network ID (name) + type: string + ipAddressFromIPPool: + description: IPAddressFromIPPool contains the name of the IPPool to use to get an ip address + type: string + link: + description: Link is the link on which the network applies + type: string + routes: + description: Routes contains a list of IPv4 routes + items: + description: NetworkDataRoutev4 represents an ipv4 route object + properties: + gateway: + description: Gateway is the IPv4 address of the gateway + properties: + fromIPPool: + description: FromIPPool is the name of the IPPool to fetch the gateway from + type: string + string: + description: String is the gateway given as a string + pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ + type: string + type: object + network: + description: Network is the IPv4 network address + pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ + type: string + prefix: + description: Prefix is the mask of the network as integer (max 32) + maximum: 32 + type: integer + services: + description: Services is a list of IPv4 services + properties: + dns: + description: DNS is a list of IPv4 DNS services + items: + description: IPAddressv4 is used for validation of an IPv6 address pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string - type: object - network: - description: Network is the IPv4 network address - pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ - type: string - prefix: - description: - Prefix is the mask of the network - as integer (max 32) - maximum: 32 - type: integer - services: - description: Services is a list of IPv4 services - properties: - dns: - description: DNS is a list of IPv4 DNS services - items: - description: - IPAddressv4 is used for validation - of an IPv6 address - pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of - the IPPool from which to get the DNS servers - type: string - type: object - required: - - gateway - - network - type: object - type: array - required: - - id - - ipAddressFromIPPool - - link - type: object - type: array - ipv4DHCP: - description: IPv4 contains a list of IPv4 DHCP allocations - items: - description: - NetworkDataIPv4DHCP represents an ipv4 DHCP - network object - properties: - id: - description: ID is the network ID (name) - type: string - link: - description: Link is the link on which the network applies - type: string - routes: - description: Routes contains a list of IPv4 routes - items: - description: - NetworkDataRoutev4 represents an ipv4 - route object - properties: - gateway: - description: - Gateway is the IPv4 address of the - gateway - properties: - fromIPPool: - description: - FromIPPool is the name of the - IPPool to fetch the gateway from - type: string - string: - description: - String is the gateway given as - a string + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + required: + - gateway + - network + type: object + type: array + required: + - id + - ipAddressFromIPPool + - link + type: object + type: array + ipv4DHCP: + description: IPv4 contains a list of IPv4 DHCP allocations + items: + description: NetworkDataIPv4DHCP represents an ipv4 DHCP network object + properties: + id: + description: ID is the network ID (name) + type: string + link: + description: Link is the link on which the network applies + type: string + routes: + description: Routes contains a list of IPv4 routes + items: + description: NetworkDataRoutev4 represents an ipv4 route object + properties: + gateway: + description: Gateway is the IPv4 address of the gateway + properties: + fromIPPool: + description: FromIPPool is the name of the IPPool to fetch the gateway from + type: string + string: + description: String is the gateway given as a string + pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ + type: string + type: object + network: + description: Network is the IPv4 network address + pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ + type: string + prefix: + description: Prefix is the mask of the network as integer (max 32) + maximum: 32 + type: integer + services: + description: Services is a list of IPv4 services + properties: + dns: + description: DNS is a list of IPv4 DNS services + items: + description: IPAddressv4 is used for validation of an IPv6 address pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string - type: object - network: - description: Network is the IPv4 network address - pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ - type: string - prefix: - description: - Prefix is the mask of the network - as integer (max 32) - maximum: 32 - type: integer - services: - description: Services is a list of IPv4 services - properties: - dns: - description: DNS is a list of IPv4 DNS services - items: - description: - IPAddressv4 is used for validation - of an IPv6 address - pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of - the IPPool from which to get the DNS servers - type: string - type: object - required: - - gateway - - network - type: object - type: array - required: - - id - - link - type: object - type: array - ipv6: - description: IPv4 contains a list of IPv6 static allocations - items: - description: - NetworkDataIPv6 represents an ipv6 static network - object - properties: - id: - description: ID is the network ID (name) - type: string - ipAddressFromIPPool: - description: - IPAddressFromIPPool contains the name of - the IPPool to use to get an ip address - type: string - link: - description: Link is the link on which the network applies - type: string - routes: - description: Routes contains a list of IPv6 routes - items: - description: - NetworkDataRoutev6 represents an ipv6 - route object - properties: - gateway: - description: - Gateway is the IPv6 address of the - gateway - properties: - fromIPPool: - description: - FromIPPool is the name of the - IPPool to fetch the gateway from - type: string - string: - description: - String is the gateway given as - a string - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - type: object - network: - description: Network is the IPv6 network address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - prefix: - description: - Prefix is the mask of the network - as integer (max 128) - maximum: 128 - type: integer - services: - description: Services is a list of IPv6 services - properties: - dns: - description: DNS is a list of IPv6 DNS services - items: - description: - IPAddressv6 is used for validation - of an IPv6 address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of - the IPPool from which to get the DNS servers - type: string - type: object - required: - - gateway - - network - type: object - type: array - required: - - id - - ipAddressFromIPPool - - link - type: object - type: array - ipv6DHCP: - description: IPv4 contains a list of IPv6 DHCP allocations - items: - description: - NetworkDataIPv6DHCP represents an ipv6 DHCP - network object - properties: - id: - description: ID is the network ID (name) - type: string - link: - description: Link is the link on which the network applies - type: string - routes: - description: Routes contains a list of IPv6 routes - items: - description: - NetworkDataRoutev6 represents an ipv6 - route object - properties: - gateway: - description: - Gateway is the IPv6 address of the - gateway - properties: - fromIPPool: - description: - FromIPPool is the name of the - IPPool to fetch the gateway from - type: string - string: - description: - String is the gateway given as - a string + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + required: + - gateway + - network + type: object + type: array + required: + - id + - link + type: object + type: array + ipv6: + description: IPv4 contains a list of IPv6 static allocations + items: + description: NetworkDataIPv6 represents an ipv6 static network object + properties: + id: + description: ID is the network ID (name) + type: string + ipAddressFromIPPool: + description: IPAddressFromIPPool contains the name of the IPPool to use to get an ip address + type: string + link: + description: Link is the link on which the network applies + type: string + routes: + description: Routes contains a list of IPv6 routes + items: + description: NetworkDataRoutev6 represents an ipv6 route object + properties: + gateway: + description: Gateway is the IPv6 address of the gateway + properties: + fromIPPool: + description: FromIPPool is the name of the IPPool to fetch the gateway from + type: string + string: + description: String is the gateway given as a string + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + type: object + network: + description: Network is the IPv6 network address + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + prefix: + description: Prefix is the mask of the network as integer (max 128) + maximum: 128 + type: integer + services: + description: Services is a list of IPv6 services + properties: + dns: + description: DNS is a list of IPv6 DNS services + items: + description: IPAddressv6 is used for validation of an IPv6 address pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string - type: object - network: - description: Network is the IPv6 network address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - prefix: - description: - Prefix is the mask of the network - as integer (max 128) - maximum: 128 - type: integer - services: - description: Services is a list of IPv6 services - properties: - dns: - description: DNS is a list of IPv6 DNS services - items: - description: - IPAddressv6 is used for validation - of an IPv6 address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of - the IPPool from which to get the DNS servers - type: string - type: object - required: - - gateway - - network - type: object - type: array - required: - - id - - link - type: object - type: array - ipv6SLAAC: - description: IPv4 contains a list of IPv6 SLAAC allocations - items: - description: - NetworkDataIPv6DHCP represents an ipv6 DHCP - network object - properties: - id: - description: ID is the network ID (name) - type: string - link: - description: Link is the link on which the network applies - type: string - routes: - description: Routes contains a list of IPv6 routes - items: - description: - NetworkDataRoutev6 represents an ipv6 - route object - properties: - gateway: - description: - Gateway is the IPv6 address of the - gateway - properties: - fromIPPool: - description: - FromIPPool is the name of the - IPPool to fetch the gateway from - type: string - string: - description: - String is the gateway given as - a string + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + required: + - gateway + - network + type: object + type: array + required: + - id + - ipAddressFromIPPool + - link + type: object + type: array + ipv6DHCP: + description: IPv4 contains a list of IPv6 DHCP allocations + items: + description: NetworkDataIPv6DHCP represents an ipv6 DHCP network object + properties: + id: + description: ID is the network ID (name) + type: string + link: + description: Link is the link on which the network applies + type: string + routes: + description: Routes contains a list of IPv6 routes + items: + description: NetworkDataRoutev6 represents an ipv6 route object + properties: + gateway: + description: Gateway is the IPv6 address of the gateway + properties: + fromIPPool: + description: FromIPPool is the name of the IPPool to fetch the gateway from + type: string + string: + description: String is the gateway given as a string + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + type: object + network: + description: Network is the IPv6 network address + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + prefix: + description: Prefix is the mask of the network as integer (max 128) + maximum: 128 + type: integer + services: + description: Services is a list of IPv6 services + properties: + dns: + description: DNS is a list of IPv6 DNS services + items: + description: IPAddressv6 is used for validation of an IPv6 address pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string - type: object - network: - description: Network is the IPv6 network address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - prefix: - description: - Prefix is the mask of the network - as integer (max 128) - maximum: 128 - type: integer - services: - description: Services is a list of IPv6 services - properties: - dns: - description: DNS is a list of IPv6 DNS services - items: - description: - IPAddressv6 is used for validation - of an IPv6 address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of - the IPPool from which to get the DNS servers + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + required: + - gateway + - network + type: object + type: array + required: + - id + - link + type: object + type: array + ipv6SLAAC: + description: IPv4 contains a list of IPv6 SLAAC allocations + items: + description: NetworkDataIPv6DHCP represents an ipv6 DHCP network object + properties: + id: + description: ID is the network ID (name) + type: string + link: + description: Link is the link on which the network applies + type: string + routes: + description: Routes contains a list of IPv6 routes + items: + description: NetworkDataRoutev6 represents an ipv6 route object + properties: + gateway: + description: Gateway is the IPv6 address of the gateway + properties: + fromIPPool: + description: FromIPPool is the name of the IPPool to fetch the gateway from + type: string + string: + description: String is the gateway given as a string + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + type: object + network: + description: Network is the IPv6 network address + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + prefix: + description: Prefix is the mask of the network as integer (max 128) + maximum: 128 + type: integer + services: + description: Services is a list of IPv6 services + properties: + dns: + description: DNS is a list of IPv6 DNS services + items: + description: IPAddressv6 is used for validation of an IPv6 address + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string - type: object - required: - - gateway - - network - type: object - type: array - required: - - id - - link - type: object - type: array - type: object - services: - description: - Services is a structure containing lists of different - types objects - properties: - dns: - description: DNS is a list of DNS services - items: - description: IPAddress is used for validation of an IP address - pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of the IPPool from - which to get the DNS servers + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + required: + - gateway + - network + type: object + type: array + required: + - id + - link + type: object + type: array + type: object + services: + description: Services is a structure containing lists of different types objects + properties: + dns: + description: DNS is a list of DNS services + items: + description: IPAddress is used for validation of an IP address + pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) type: string - type: object - type: object - templateReference: - description: - TemplateReference refers to the Template the Metal3MachineTemplate - refers to. It can be matched against the key or it may also point - to the name of the template Metal3Data refers to - type: string - required: - - clusterName - type: object - status: - description: Metal3DataTemplateStatus defines the observed state of Metal3DataTemplate. - properties: - indexes: - additionalProperties: - type: integer - description: Indexes contains the map of Metal3Machine and index used - type: object - lastUpdated: - description: LastUpdated identifies when this status was last observed. - format: date-time - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + type: object + templateReference: + description: TemplateReference refers to the Template the Metal3MachineTemplate refers to. It can be matched against the key or it may also point to the name of the template Metal3Data refers to + type: string + required: + - clusterName + type: object + status: + description: Metal3DataTemplateStatus defines the observed state of Metal3DataTemplate. + properties: + indexes: + additionalProperties: + type: integer + description: Indexes contains the map of Metal3Machine and index used + type: object + lastUpdated: + description: LastUpdated identifies when this status was last observed. + format: date-time + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -3450,869 +2661,584 @@ spec: namespace: capm3-system path: /convert conversionReviewVersions: - - v1 - - v1beta1 + - v1 + - v1beta1 group: infrastructure.cluster.x-k8s.io names: categories: - - cluster-api + - cluster-api kind: Metal3Machine listKind: Metal3MachineList plural: metal3machines shortNames: - - m3m - - m3machine - - m3machines - - metal3m - - metal3machine + - m3m + - m3machine + - m3machines + - metal3m + - metal3machine singular: metal3machine scope: Namespaced versions: - - additionalPrinterColumns: - - description: Time duration since creation of Metal3Machine - jsonPath: .metadata.creationTimestamp - name: Age - type: date - - description: Provider ID - jsonPath: .spec.providerID - name: ProviderID - type: string - - description: metal3machine is Ready - jsonPath: .status.ready - name: Ready - type: string - - description: Cluster to which this M3Machine belongs - jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name - name: Cluster - type: string - - description: metal3machine current phase - jsonPath: .status.phase - name: Phase - type: string - name: v1alpha5 - schema: - openAPIV3Schema: - description: Metal3Machine is the Schema for the metal3machines 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: Metal3MachineSpec defines the desired state of Metal3Machine - properties: - automatedCleaningMode: - description: - When set to disabled, automated cleaning of host disks - will be skipped during provisioning and deprovisioning. - enum: - - metadata - - disabled - type: string - dataTemplate: - description: - MetadataTemplate is a reference to a Metal3DataTemplate - object containing a template of metadata to be rendered. Metadata - keys defined in the metadataTemplate take precedence over keys defined - in metadata field. - 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 - hostSelector: - description: - HostSelector specifies matching criteria for labels on - BareMetalHosts. This is used to limit the set of BareMetalHost objects - considered for claiming for a metal3machine. - properties: - matchExpressions: - description: - Label match expressions that must be true on a chosen - BareMetalHost - items: - properties: - key: - type: string - operator: - description: - Operator represents a key/field's relationship - to value(s). See labels.Requirement and fields.Requirement - for more details. + - additionalPrinterColumns: + - description: Time duration since creation of Metal3Machine + jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: Provider ID + jsonPath: .spec.providerID + name: ProviderID + type: string + - description: metal3machine is Ready + jsonPath: .status.ready + name: Ready + type: string + - description: Cluster to which this M3Machine belongs + jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name + name: Cluster + type: string + - description: metal3machine current phase + jsonPath: .status.phase + name: Phase + type: string + name: v1alpha5 + schema: + openAPIV3Schema: + description: Metal3Machine is the Schema for the metal3machines 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: Metal3MachineSpec defines the desired state of Metal3Machine + properties: + automatedCleaningMode: + description: When set to disabled, automated cleaning of host disks will be skipped during provisioning and deprovisioning. + enum: + - metadata + - disabled + type: string + dataTemplate: + description: MetadataTemplate is a reference to a Metal3DataTemplate object containing a template of metadata to be rendered. Metadata keys defined in the metadataTemplate take precedence over keys defined in metadata field. + 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 + hostSelector: + description: HostSelector specifies matching criteria for labels on BareMetalHosts. This is used to limit the set of BareMetalHost objects considered for claiming for a metal3machine. + properties: + matchExpressions: + description: Label match expressions that must be true on a chosen BareMetalHost + items: + properties: + key: + type: string + operator: + description: Operator represents a key/field's relationship to value(s). See labels.Requirement and fields.Requirement for more details. + type: string + values: + items: type: string - values: - items: - type: string - type: array - required: - - key - - operator - - values - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: - Key/value pairs of labels that must exist on a chosen - BareMetalHost + type: array + required: + - key + - operator + - values type: object - type: object - image: - description: Image is the image to be provisioned. - properties: - checksum: - description: Checksum is a md5sum value or a URL to retrieve one. - type: string - checksumType: - description: - ChecksumType is the checksum algorithm for the image. - e.g md5, sha256, sha512 - enum: - - md5 - - sha256 - - sha512 - type: string - format: - description: DiskFormat contains the image disk format - enum: - - raw - - qcow2 - - vdi - - vmdk - - live-iso - type: string - url: - description: URL is a location of an image to deploy. - type: string - required: - - checksum - - url - type: object - metaData: - description: - MetaData is an object storing the reference to the secret - containing the Metadata given by the user. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - networkData: - description: - NetworkData is an object storing the reference to the - secret containing the network data given by the user. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - providerID: - description: - ProviderID will be the Metal3 machine in ProviderID format - (metal3://) - type: string - userData: - description: - UserData references the Secret that holds user data needed - by the bare metal operator. The Namespace is optional; it will default - to the metal3machine's namespace if not specified. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. + type: array + matchLabels: + additionalProperties: type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - required: - - image - type: object - status: - description: Metal3MachineStatus defines the observed state of Metal3Machine - 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 + description: Key/value pairs of labels that must exist on a chosen BareMetalHost type: object - type: array - failureMessage: - description: - "FailureMessage will be set in the event that there is - a terminal problem reconciling the metal3machine 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 metal3machine'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 metal3machines can - be added as events to the metal3machine 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 metal3machine 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 metal3machine'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 metal3machines can be added as - events to the metal3machine object and/or logged in the controller's - output." - type: string - lastUpdated: - description: LastUpdated identifies when this status was last observed. - format: date-time - type: string - metaData: - description: - MetaData is an object storing the reference to the secret - containing the Metadata used to deploy the BareMetalHost. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - networkData: - description: - NetworkData is an object storing the reference to the - secret containing the network data used to deploy the BareMetalHost. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - phase: - description: - Phase represents the current phase of machine actuation. - E.g. Pending, Running, Terminating, Failed etc. - type: string - ready: - description: - 'Ready is the state of the metal3. TODO : Document the - variable : mhrivnak: " it would be good to document what this means, - how to interpret it, under what circumstances the value changes, - etc."' - type: boolean - renderedData: - description: - RenderedData is a reference to a rendered Metal3Data - object containing the references to metaData and networkData secrets. - 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 - userData: - description: - UserData references the Secret that holds user data needed - by the bare metal operator. The Namespace is optional; it will default - to the metal3machine's namespace if not specified. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - description: Time duration since creation of Metal3Machine - jsonPath: .metadata.creationTimestamp - name: Age - type: date - - description: Provider ID - jsonPath: .spec.providerID - name: ProviderID - type: string - - description: metal3machine is Ready - jsonPath: .status.ready - name: Ready - type: string - - description: Cluster to which this M3Machine belongs - jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name - name: Cluster - type: string - - description: metal3machine current phase - jsonPath: .status.phase - name: Phase - type: string - name: v1beta1 - schema: - openAPIV3Schema: - description: Metal3Machine is the Schema for the metal3machines 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: Metal3MachineSpec defines the desired state of Metal3Machine - properties: - automatedCleaningMode: - description: - When set to disabled, automated cleaning of host disks - will be skipped during provisioning and deprovisioning. - enum: - - metadata - - disabled - type: string - dataTemplate: - description: - MetadataTemplate is a reference to a Metal3DataTemplate - object containing a template of metadata to be rendered. Metadata - keys defined in the metadataTemplate take precedence over keys defined - in metadata field. - 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 - hostSelector: - description: - HostSelector specifies matching criteria for labels on - BareMetalHosts. This is used to limit the set of BareMetalHost objects - considered for claiming for a metal3machine. - properties: - matchExpressions: - description: - Label match expressions that must be true on a chosen - BareMetalHost - items: - properties: - key: - type: string - operator: - description: - Operator represents a key/field's relationship - to value(s). See labels.Requirement and fields.Requirement - for more details. - type: string - values: - items: - type: string - type: array - required: - - key - - operator - - values - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: - Key/value pairs of labels that must exist on a chosen - BareMetalHost - type: object - type: object - image: - description: Image is the image to be provisioned. + type: object + image: + description: Image is the image to be provisioned. + properties: + checksum: + description: Checksum is a md5sum value or a URL to retrieve one. + type: string + checksumType: + description: ChecksumType is the checksum algorithm for the image. e.g md5, sha256, sha512 + enum: + - md5 + - sha256 + - sha512 + type: string + format: + description: DiskFormat contains the image disk format + enum: + - raw + - qcow2 + - vdi + - vmdk + - live-iso + type: string + url: + description: URL is a location of an image to deploy. + type: string + required: + - checksum + - url + type: object + metaData: + description: MetaData is an object storing the reference to the secret containing the Metadata given by the user. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + networkData: + description: NetworkData is an object storing the reference to the secret containing the network data given by the user. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + providerID: + description: ProviderID will be the Metal3 machine in ProviderID format (metal3://) + type: string + userData: + description: UserData references the Secret that holds user data needed by the bare metal operator. The Namespace is optional; it will default to the metal3machine's namespace if not specified. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + required: + - image + type: object + status: + description: Metal3MachineStatus defines the observed state of Metal3Machine + 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: - checksum: - description: Checksum is a md5sum value or a URL to retrieve one. - type: string - checksumType: - description: - ChecksumType is the checksum algorithm for the image. - e.g md5, sha256, sha512 - enum: - - md5 - - sha256 - - sha512 + address: + description: The machine address. type: string - format: - description: DiskFormat contains the image disk format - enum: - - raw - - qcow2 - - vdi - - vmdk - - live-iso - type: string - url: - description: URL is a location of an image to deploy. + type: + description: Machine address type, one of Hostname, ExternalIP or InternalIP. type: string required: - - checksum - - url - type: object - metaData: - description: - MetaData is an object storing the reference to the secret - containing the Metadata given by the user. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - networkData: - description: - NetworkData is an object storing the reference to the - secret containing the network data given by the user. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - providerID: - description: - ProviderID will be the Metal3 machine in ProviderID format - (metal3://) - type: string - userData: - description: - UserData references the Secret that holds user data needed - by the bare metal operator. The Namespace is optional; it will default - to the metal3machine's namespace if not specified. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string + - address + - type type: object - x-kubernetes-map-type: atomic - required: - - image - type: object - status: - description: Metal3MachineStatus defines the observed state of Metal3Machine - 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 - conditions: - description: Conditions defines current service state of the Metal3Machine. - 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 metal3machine 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 metal3machine'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 metal3machines can - be added as events to the metal3machine 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 metal3machine 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 metal3machine'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 metal3machines can be added as - events to the metal3machine object and/or logged in the controller's - output." - type: string - lastUpdated: - description: LastUpdated identifies when this status was last observed. - format: date-time - type: string - metaData: - description: - MetaData is an object storing the reference to the secret - containing the Metadata used to deploy the BareMetalHost. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. + type: array + failureMessage: + description: "FailureMessage will be set in the event that there is a terminal problem reconciling the metal3machine 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 metal3machine'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 metal3machines can be added as events to the metal3machine 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 metal3machine 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 metal3machine'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 metal3machines can be added as events to the metal3machine object and/or logged in the controller's output." + type: string + lastUpdated: + description: LastUpdated identifies when this status was last observed. + format: date-time + type: string + metaData: + description: MetaData is an object storing the reference to the secret containing the Metadata used to deploy the BareMetalHost. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + networkData: + description: NetworkData is an object storing the reference to the secret containing the network data used to deploy the BareMetalHost. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + phase: + description: Phase represents the current phase of machine actuation. E.g. Pending, Running, Terminating, Failed etc. + type: string + ready: + description: 'Ready is the state of the metal3. TODO : Document the variable : mhrivnak: " it would be good to document what this means, how to interpret it, under what circumstances the value changes, etc."' + type: boolean + renderedData: + description: RenderedData is a reference to a rendered Metal3Data object containing the references to metaData and networkData secrets. + 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 + userData: + description: UserData references the Secret that holds user data needed by the bare metal operator. The Namespace is optional; it will default to the metal3machine's namespace if not specified. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - description: Time duration since creation of Metal3Machine + jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: Provider ID + jsonPath: .spec.providerID + name: ProviderID + type: string + - description: metal3machine is Ready + jsonPath: .status.ready + name: Ready + type: string + - description: Cluster to which this M3Machine belongs + jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name + name: Cluster + type: string + - description: metal3machine current phase + jsonPath: .status.phase + name: Phase + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: Metal3Machine is the Schema for the metal3machines 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: Metal3MachineSpec defines the desired state of Metal3Machine + properties: + automatedCleaningMode: + description: When set to disabled, automated cleaning of host disks will be skipped during provisioning and deprovisioning. + enum: + - metadata + - disabled + type: string + dataTemplate: + description: MetadataTemplate is a reference to a Metal3DataTemplate object containing a template of metadata to be rendered. Metadata keys defined in the metadataTemplate take precedence over keys defined in metadata field. + 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 + hostSelector: + description: HostSelector specifies matching criteria for labels on BareMetalHosts. This is used to limit the set of BareMetalHost objects considered for claiming for a metal3machine. + properties: + matchExpressions: + description: Label match expressions that must be true on a chosen BareMetalHost + items: + properties: + key: + type: string + operator: + description: Operator represents a key/field's relationship to value(s). See labels.Requirement and fields.Requirement for more details. + type: string + values: + items: + type: string + type: array + required: + - key + - operator + - values + type: object + type: array + matchLabels: + additionalProperties: type: string - type: object - x-kubernetes-map-type: atomic - networkData: - description: - NetworkData is an object storing the reference to the - secret containing the network data used to deploy the BareMetalHost. + description: Key/value pairs of labels that must exist on a chosen BareMetalHost + type: object + type: object + image: + description: Image is the image to be provisioned. + properties: + checksum: + description: Checksum is a md5sum value or a URL to retrieve one. + type: string + checksumType: + description: ChecksumType is the checksum algorithm for the image. e.g md5, sha256, sha512 + enum: + - md5 + - sha256 + - sha512 + type: string + format: + description: DiskFormat contains the image disk format + enum: + - raw + - qcow2 + - vdi + - vmdk + - live-iso + type: string + url: + description: URL is a location of an image to deploy. + type: string + required: + - checksum + - url + type: object + metaData: + description: MetaData is an object storing the reference to the secret containing the Metadata given by the user. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + networkData: + description: NetworkData is an object storing the reference to the secret containing the network data given by the user. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + providerID: + description: ProviderID will be the Metal3 machine in ProviderID format (metal3://) + type: string + userData: + description: UserData references the Secret that holds user data needed by the bare metal operator. The Namespace is optional; it will default to the metal3machine's namespace if not specified. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + required: + - image + type: object + status: + description: Metal3MachineStatus defines the observed state of Metal3Machine + 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: - name: - description: - name is unique within a namespace to reference a - secret resource. + address: + description: The machine address. type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. + type: + description: Machine address type, one of Hostname, ExternalIP or InternalIP. type: string + required: + - address + - type type: object - x-kubernetes-map-type: atomic - phase: - description: - Phase represents the current phase of machine actuation. - E.g. Pending, Running, Terminating, Failed etc. - type: string - ready: - description: - 'Ready is the state of the metal3. TODO : Document the - variable : mhrivnak: " it would be good to document what this means, - how to interpret it, under what circumstances the value changes, - etc."' - type: boolean - renderedData: - description: - RenderedData is a reference to a rendered Metal3Data - object containing the references to metaData and networkData secrets. + type: array + conditions: + description: Conditions defines current service state of the Metal3Machine. + items: + description: Condition defines an observation of a Cluster API resource operational state. 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" + 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 - namespace: - description: "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/" + message: + description: A human readable message indicating details about the transition. This field may be empty. 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" + 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 - uid: - description: "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids" + 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 - type: object - x-kubernetes-map-type: atomic - userData: - description: - UserData references the Secret that holds user data needed - by the bare metal operator. The Namespace is optional; it will default - to the metal3machine's namespace if not specified. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. + status: + description: Status of the condition, one of True, False, Unknown. type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. + 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 - x-kubernetes-map-type: atomic - type: object - type: object - served: true - storage: true - subresources: - status: {} + type: array + failureMessage: + description: "FailureMessage will be set in the event that there is a terminal problem reconciling the metal3machine 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 metal3machine'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 metal3machines can be added as events to the metal3machine 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 metal3machine 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 metal3machine'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 metal3machines can be added as events to the metal3machine object and/or logged in the controller's output." + type: string + lastUpdated: + description: LastUpdated identifies when this status was last observed. + format: date-time + type: string + metaData: + description: MetaData is an object storing the reference to the secret containing the Metadata used to deploy the BareMetalHost. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + networkData: + description: NetworkData is an object storing the reference to the secret containing the network data used to deploy the BareMetalHost. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + phase: + description: Phase represents the current phase of machine actuation. E.g. Pending, Running, Terminating, Failed etc. + type: string + ready: + description: 'Ready is the state of the metal3. TODO : Document the variable : mhrivnak: " it would be good to document what this means, how to interpret it, under what circumstances the value changes, etc."' + type: boolean + renderedData: + description: RenderedData is a reference to a rendered Metal3Data object containing the references to metaData and networkData secrets. + 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 + userData: + description: UserData references the Secret that holds user data needed by the bare metal operator. The Namespace is optional; it will default to the metal3machine's namespace if not specified. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + type: object + type: object + served: true + storage: true + subresources: + status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -4336,502 +3262,362 @@ spec: namespace: capm3-system path: /convert conversionReviewVersions: - - v1 - - v1beta1 + - v1 + - v1beta1 group: infrastructure.cluster.x-k8s.io names: categories: - - cluster-api + - cluster-api kind: Metal3MachineTemplate listKind: Metal3MachineTemplateList plural: metal3machinetemplates shortNames: - - m3mt - - m3machinetemplate - - m3machinetemplates - - metal3mt - - metal3machinetemplate + - m3mt + - m3machinetemplate + - m3machinetemplates + - metal3mt + - metal3machinetemplate singular: metal3machinetemplate scope: Namespaced versions: - - additionalPrinterColumns: - - description: Time duration since creation of Metal3MachineTemplate - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha5 - schema: - openAPIV3Schema: - description: - Metal3MachineTemplate is the Schema for the metal3machinetemplates - 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: Metal3MachineTemplateSpec defines the desired state of Metal3MachineTemplate - properties: - nodeReuse: - default: false - description: - When set to True, CAPM3 Machine controller will pick - the same pool of BMHs' that were released during the upgrade operation. - type: boolean - template: - description: - Metal3MachineTemplateResource describes the data needed - to create a Metal3Machine from a template - properties: - spec: - description: - Spec is the specification of the desired behavior - of the machine. - properties: - automatedCleaningMode: - description: - When set to disabled, automated cleaning of host - disks will be skipped during provisioning and deprovisioning. - enum: - - metadata - - disabled - type: string - dataTemplate: - description: - MetadataTemplate is a reference to a Metal3DataTemplate - object containing a template of metadata to be rendered. - Metadata keys defined in the metadataTemplate take precedence - over keys defined in metadata field. - 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 - hostSelector: - description: - HostSelector specifies matching criteria for - labels on BareMetalHosts. This is used to limit the set - of BareMetalHost objects considered for claiming for a metal3machine. - properties: - matchExpressions: - description: - Label match expressions that must be true - on a chosen BareMetalHost - items: - properties: - key: - type: string - operator: - description: - Operator represents a key/field's relationship - to value(s). See labels.Requirement and fields.Requirement - for more details. + - additionalPrinterColumns: + - description: Time duration since creation of Metal3MachineTemplate + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha5 + schema: + openAPIV3Schema: + description: Metal3MachineTemplate is the Schema for the metal3machinetemplates 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: Metal3MachineTemplateSpec defines the desired state of Metal3MachineTemplate + properties: + nodeReuse: + default: false + description: When set to True, CAPM3 Machine controller will pick the same pool of BMHs' that were released during the upgrade operation. + type: boolean + template: + description: Metal3MachineTemplateResource describes the data needed to create a Metal3Machine from a template + properties: + spec: + description: Spec is the specification of the desired behavior of the machine. + properties: + automatedCleaningMode: + description: When set to disabled, automated cleaning of host disks will be skipped during provisioning and deprovisioning. + enum: + - metadata + - disabled + type: string + dataTemplate: + description: MetadataTemplate is a reference to a Metal3DataTemplate object containing a template of metadata to be rendered. Metadata keys defined in the metadataTemplate take precedence over keys defined in metadata field. + 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 + hostSelector: + description: HostSelector specifies matching criteria for labels on BareMetalHosts. This is used to limit the set of BareMetalHost objects considered for claiming for a metal3machine. + properties: + matchExpressions: + description: Label match expressions that must be true on a chosen BareMetalHost + items: + properties: + key: + type: string + operator: + description: Operator represents a key/field's relationship to value(s). See labels.Requirement and fields.Requirement for more details. + type: string + values: + items: type: string - values: - items: - type: string - type: array - required: - - key - - operator - - values - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: - Key/value pairs of labels that must exist - on a chosen BareMetalHost + type: array + required: + - key + - operator + - values type: object - type: object - image: - description: Image is the image to be provisioned. - properties: - checksum: - description: - Checksum is a md5sum value or a URL to retrieve - one. - type: string - checksumType: - description: - ChecksumType is the checksum algorithm for - the image. e.g md5, sha256, sha512 - enum: - - md5 - - sha256 - - sha512 - type: string - format: - description: DiskFormat contains the image disk format - enum: - - raw - - qcow2 - - vdi - - vmdk - - live-iso - type: string - url: - description: URL is a location of an image to deploy. - type: string - required: - - checksum - - url - type: object - metaData: - description: - MetaData is an object storing the reference to - the secret containing the Metadata given by the user. - properties: - name: - description: - name is unique within a namespace to reference - a secret resource. - type: string - namespace: - description: - namespace defines the space within which - the secret name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - networkData: - description: - NetworkData is an object storing the reference - to the secret containing the network data given by the user. - properties: - name: - description: - name is unique within a namespace to reference - a secret resource. - type: string - namespace: - description: - namespace defines the space within which - the secret name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - providerID: - description: - ProviderID will be the Metal3 machine in ProviderID - format (metal3://) - type: string - userData: - description: - UserData references the Secret that holds user - data needed by the bare metal operator. The Namespace is - optional; it will default to the metal3machine's namespace - if not specified. - properties: - name: - description: - name is unique within a namespace to reference - a secret resource. - type: string - namespace: - description: - namespace defines the space within which - the secret name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - required: - - image - type: object - required: - - spec - type: object - required: - - template - type: object - type: object - served: true - storage: false - subresources: {} - - additionalPrinterColumns: - - description: Time duration since creation of Metal3MachineTemplate - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1beta1 - schema: - openAPIV3Schema: - description: - Metal3MachineTemplate is the Schema for the metal3machinetemplates - 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: Metal3MachineTemplateSpec defines the desired state of Metal3MachineTemplate - properties: - nodeReuse: - default: false - description: - When set to True, CAPM3 Machine controller will pick - the same pool of BMHs' that were released during the upgrade operation. - type: boolean - template: - description: - Metal3MachineTemplateResource describes the data needed - to create a Metal3Machine from a template - properties: - spec: - description: - Spec is the specification of the desired behavior - of the machine. - properties: - automatedCleaningMode: - description: - When set to disabled, automated cleaning of host - disks will be skipped during provisioning and deprovisioning. - enum: - - metadata - - disabled - type: string - dataTemplate: - description: - MetadataTemplate is a reference to a Metal3DataTemplate - object containing a template of metadata to be rendered. - Metadata keys defined in the metadataTemplate take precedence - over keys defined in metadata field. - 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: array + matchLabels: + additionalProperties: type: string - type: object - x-kubernetes-map-type: atomic - hostSelector: - description: - HostSelector specifies matching criteria for - labels on BareMetalHosts. This is used to limit the set - of BareMetalHost objects considered for claiming for a metal3machine. - properties: - matchExpressions: - description: - Label match expressions that must be true - on a chosen BareMetalHost - items: - properties: - key: - type: string - operator: - description: - Operator represents a key/field's relationship - to value(s). See labels.Requirement and fields.Requirement - for more details. + description: Key/value pairs of labels that must exist on a chosen BareMetalHost + type: object + type: object + image: + description: Image is the image to be provisioned. + properties: + checksum: + description: Checksum is a md5sum value or a URL to retrieve one. + type: string + checksumType: + description: ChecksumType is the checksum algorithm for the image. e.g md5, sha256, sha512 + enum: + - md5 + - sha256 + - sha512 + type: string + format: + description: DiskFormat contains the image disk format + enum: + - raw + - qcow2 + - vdi + - vmdk + - live-iso + type: string + url: + description: URL is a location of an image to deploy. + type: string + required: + - checksum + - url + type: object + metaData: + description: MetaData is an object storing the reference to the secret containing the Metadata given by the user. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + networkData: + description: NetworkData is an object storing the reference to the secret containing the network data given by the user. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + providerID: + description: ProviderID will be the Metal3 machine in ProviderID format (metal3://) + type: string + userData: + description: UserData references the Secret that holds user data needed by the bare metal operator. The Namespace is optional; it will default to the metal3machine's namespace if not specified. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + required: + - image + type: object + required: + - spec + type: object + required: + - template + type: object + type: object + served: true + storage: false + subresources: {} + - additionalPrinterColumns: + - description: Time duration since creation of Metal3MachineTemplate + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + description: Metal3MachineTemplate is the Schema for the metal3machinetemplates 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: Metal3MachineTemplateSpec defines the desired state of Metal3MachineTemplate + properties: + nodeReuse: + default: false + description: When set to True, CAPM3 Machine controller will pick the same pool of BMHs' that were released during the upgrade operation. + type: boolean + template: + description: Metal3MachineTemplateResource describes the data needed to create a Metal3Machine from a template + properties: + spec: + description: Spec is the specification of the desired behavior of the machine. + properties: + automatedCleaningMode: + description: When set to disabled, automated cleaning of host disks will be skipped during provisioning and deprovisioning. + enum: + - metadata + - disabled + type: string + dataTemplate: + description: MetadataTemplate is a reference to a Metal3DataTemplate object containing a template of metadata to be rendered. Metadata keys defined in the metadataTemplate take precedence over keys defined in metadata field. + 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 + hostSelector: + description: HostSelector specifies matching criteria for labels on BareMetalHosts. This is used to limit the set of BareMetalHost objects considered for claiming for a metal3machine. + properties: + matchExpressions: + description: Label match expressions that must be true on a chosen BareMetalHost + items: + properties: + key: + type: string + operator: + description: Operator represents a key/field's relationship to value(s). See labels.Requirement and fields.Requirement for more details. + type: string + values: + items: type: string - values: - items: - type: string - type: array - required: - - key - - operator - - values - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: - Key/value pairs of labels that must exist - on a chosen BareMetalHost + type: array + required: + - key + - operator + - values type: object - type: object - image: - description: Image is the image to be provisioned. - properties: - checksum: - description: - Checksum is a md5sum value or a URL to retrieve - one. - type: string - checksumType: - description: - ChecksumType is the checksum algorithm for - the image. e.g md5, sha256, sha512 - enum: - - md5 - - sha256 - - sha512 - type: string - format: - description: DiskFormat contains the image disk format - enum: - - raw - - qcow2 - - vdi - - vmdk - - live-iso - type: string - url: - description: URL is a location of an image to deploy. - type: string - required: - - checksum - - url - type: object - metaData: - description: - MetaData is an object storing the reference to - the secret containing the Metadata given by the user. - properties: - name: - description: - name is unique within a namespace to reference - a secret resource. - type: string - namespace: - description: - namespace defines the space within which - the secret name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - networkData: - description: - NetworkData is an object storing the reference - to the secret containing the network data given by the user. - properties: - name: - description: - name is unique within a namespace to reference - a secret resource. - type: string - namespace: - description: - namespace defines the space within which - the secret name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - providerID: - description: - ProviderID will be the Metal3 machine in ProviderID - format (metal3://) - type: string - userData: - description: - UserData references the Secret that holds user - data needed by the bare metal operator. The Namespace is - optional; it will default to the metal3machine's namespace - if not specified. - properties: - name: - description: - name is unique within a namespace to reference - a secret resource. - type: string - namespace: - description: - namespace defines the space within which - the secret name must be unique. + type: array + matchLabels: + additionalProperties: type: string - type: object - x-kubernetes-map-type: atomic - required: - - image - type: object - required: - - spec - type: object - required: - - template - type: object - type: object - served: true - storage: true - subresources: {} + description: Key/value pairs of labels that must exist on a chosen BareMetalHost + type: object + type: object + image: + description: Image is the image to be provisioned. + properties: + checksum: + description: Checksum is a md5sum value or a URL to retrieve one. + type: string + checksumType: + description: ChecksumType is the checksum algorithm for the image. e.g md5, sha256, sha512 + enum: + - md5 + - sha256 + - sha512 + type: string + format: + description: DiskFormat contains the image disk format + enum: + - raw + - qcow2 + - vdi + - vmdk + - live-iso + type: string + url: + description: URL is a location of an image to deploy. + type: string + required: + - checksum + - url + type: object + metaData: + description: MetaData is an object storing the reference to the secret containing the Metadata given by the user. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + networkData: + description: NetworkData is an object storing the reference to the secret containing the network data given by the user. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + providerID: + description: ProviderID will be the Metal3 machine in ProviderID format (metal3://) + type: string + userData: + description: UserData references the Secret that holds user data needed by the bare metal operator. The Namespace is optional; it will default to the metal3machine's namespace if not specified. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + required: + - image + type: object + required: + - spec + type: object + required: + - template + type: object + type: object + served: true + storage: true + subresources: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -4853,191 +3639,163 @@ spec: service: name: capm3-webhook-service namespace: capm3-system - path: /convert - conversionReviewVersions: - - v1 - - v1beta1 - group: infrastructure.cluster.x-k8s.io - names: - categories: - - cluster-api - kind: Metal3Remediation - listKind: Metal3RemediationList - plural: metal3remediations - shortNames: - - m3r - - m3remediation - singular: metal3remediation - scope: Namespaced - versions: - - additionalPrinterColumns: - - description: - How many times remediation controller should attempt to remediate - the host - jsonPath: .spec.strategy.retryLimit - name: Retry limit - type: string - - description: - How many times remediation controller has tried to remediate the - node - jsonPath: .status.retryCount - name: Retry count - type: string - - description: Timestamp of the last remediation attempt - jsonPath: .status.lastRemediated - name: Last Remediated - type: string - - description: Type of the remediation strategy - jsonPath: .spec.strategy.type - name: Strategy - type: string - - description: Phase of the remediation - jsonPath: .status.phase - name: Phase - type: string - name: v1alpha5 - schema: - openAPIV3Schema: - description: Metal3Remediation is the Schema for the metal3remediations 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: Metal3RemediationSpec defines the desired state of Metal3Remediation. - properties: - strategy: - description: Strategy field defines remediation strategy. - properties: - retryLimit: - description: Sets maximum number of remediation retries. - type: integer - timeout: - description: Sets the timeout between remediation retries. - type: string - type: - description: Type of remediation. - type: string - type: object - type: object - status: - description: Metal3RemediationStatus defines the observed state of Metal3Remediation - properties: - lastRemediated: - description: LastRemediated identifies when the host was last remediated - format: date-time - type: string - phase: - description: - Phase represents the current phase of machine remediation. - E.g. Pending, Running, Done etc. - type: string - retryCount: - description: - RetryCount can be used as a counter during the remediation. - Field can hold number of reboots etc. - type: integer - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - description: - How many times remediation controller should attempt to remediate - the host - jsonPath: .spec.strategy.retryLimit - name: Retry limit - type: string - - description: - How many times remediation controller has tried to remediate the - node - jsonPath: .status.retryCount - name: Retry count - type: string - - description: Timestamp of the last remediation attempt - jsonPath: .status.lastRemediated - name: Last Remediated - type: string - - description: Type of the remediation strategy - jsonPath: .spec.strategy.type - name: Strategy - type: string - - description: Phase of the remediation - jsonPath: .status.phase - name: Phase - type: string - name: v1beta1 - schema: - openAPIV3Schema: - description: Metal3Remediation is the Schema for the metal3remediations 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: Metal3RemediationSpec defines the desired state of Metal3Remediation. - properties: - strategy: - description: Strategy field defines remediation strategy. - properties: - retryLimit: - description: Sets maximum number of remediation retries. - type: integer - timeout: - description: Sets the timeout between remediation retries. - type: string - type: - description: Type of remediation. - type: string - type: object - type: object - status: - description: Metal3RemediationStatus defines the observed state of Metal3Remediation - properties: - lastRemediated: - description: LastRemediated identifies when the host was last remediated - format: date-time - type: string - phase: - description: - Phase represents the current phase of machine remediation. - E.g. Pending, Running, Done etc. - type: string - retryCount: - description: - RetryCount can be used as a counter during the remediation. - Field can hold number of reboots etc. - type: integer - type: object - type: object - served: true - storage: true - subresources: - status: {} + path: /convert + conversionReviewVersions: + - v1 + - v1beta1 + group: infrastructure.cluster.x-k8s.io + names: + categories: + - cluster-api + kind: Metal3Remediation + listKind: Metal3RemediationList + plural: metal3remediations + shortNames: + - m3r + - m3remediation + singular: metal3remediation + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: How many times remediation controller should attempt to remediate the host + jsonPath: .spec.strategy.retryLimit + name: Retry limit + type: string + - description: How many times remediation controller has tried to remediate the node + jsonPath: .status.retryCount + name: Retry count + type: string + - description: Timestamp of the last remediation attempt + jsonPath: .status.lastRemediated + name: Last Remediated + type: string + - description: Type of the remediation strategy + jsonPath: .spec.strategy.type + name: Strategy + type: string + - description: Phase of the remediation + jsonPath: .status.phase + name: Phase + type: string + name: v1alpha5 + schema: + openAPIV3Schema: + description: Metal3Remediation is the Schema for the metal3remediations 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: Metal3RemediationSpec defines the desired state of Metal3Remediation. + properties: + strategy: + description: Strategy field defines remediation strategy. + properties: + retryLimit: + description: Sets maximum number of remediation retries. + type: integer + timeout: + description: Sets the timeout between remediation retries. + type: string + type: + description: Type of remediation. + type: string + type: object + type: object + status: + description: Metal3RemediationStatus defines the observed state of Metal3Remediation + properties: + lastRemediated: + description: LastRemediated identifies when the host was last remediated + format: date-time + type: string + phase: + description: Phase represents the current phase of machine remediation. E.g. Pending, Running, Done etc. + type: string + retryCount: + description: RetryCount can be used as a counter during the remediation. Field can hold number of reboots etc. + type: integer + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - description: How many times remediation controller should attempt to remediate the host + jsonPath: .spec.strategy.retryLimit + name: Retry limit + type: string + - description: How many times remediation controller has tried to remediate the node + jsonPath: .status.retryCount + name: Retry count + type: string + - description: Timestamp of the last remediation attempt + jsonPath: .status.lastRemediated + name: Last Remediated + type: string + - description: Type of the remediation strategy + jsonPath: .spec.strategy.type + name: Strategy + type: string + - description: Phase of the remediation + jsonPath: .status.phase + name: Phase + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: Metal3Remediation is the Schema for the metal3remediations 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: Metal3RemediationSpec defines the desired state of Metal3Remediation. + properties: + strategy: + description: Strategy field defines remediation strategy. + properties: + retryLimit: + description: Sets maximum number of remediation retries. + type: integer + timeout: + description: Sets the timeout between remediation retries. + type: string + type: + description: Type of remediation. + type: string + type: object + type: object + status: + description: Metal3RemediationStatus defines the observed state of Metal3Remediation + properties: + lastRemediated: + description: LastRemediated identifies when the host was last remediated + format: date-time + type: string + phase: + description: Phase represents the current phase of machine remediation. E.g. Pending, Running, Done etc. + type: string + retryCount: + description: RetryCount can be used as a counter during the remediation. Field can hold number of reboots etc. + type: integer + type: object + type: object + served: true + storage: true + subresources: + status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -5061,206 +3819,158 @@ spec: namespace: capm3-system path: /convert conversionReviewVersions: - - v1 - - v1beta1 + - v1 + - v1beta1 group: infrastructure.cluster.x-k8s.io names: categories: - - cluster-api + - cluster-api kind: Metal3RemediationTemplate listKind: Metal3RemediationTemplateList plural: metal3remediationtemplates shortNames: - - m3rt - - m3remediationtemplate - - m3remediationtemplates - - metal3rt - - metal3remediationtemplate + - m3rt + - m3remediationtemplate + - m3remediationtemplates + - metal3rt + - metal3remediationtemplate singular: metal3remediationtemplate scope: Namespaced versions: - - name: v1alpha5 - schema: - openAPIV3Schema: - description: - Metal3RemediationTemplate is the Schema for the metal3remediationtemplates - 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: - Metal3RemediationTemplateSpec defines the desired state of - Metal3RemediationTemplate - properties: - template: - description: - Metal3RemediationTemplateResource describes the data - needed to create a Metal3Remediation from a template - properties: - spec: - description: - Spec is the specification of the desired behavior - of the Metal3Remediation. - properties: - strategy: - description: Strategy field defines remediation strategy. - properties: - retryLimit: - description: Sets maximum number of remediation retries. - type: integer - timeout: - description: Sets the timeout between remediation retries. - type: string - type: - description: Type of remediation. - type: string - type: object - type: object - required: - - spec - type: object - required: - - template - type: object - status: - description: - Metal3RemediationTemplateStatus defines the observed state - of Metal3RemediationTemplate - properties: - status: - description: - Metal3RemediationStatus defines the observed state of - Metal3Remediation - properties: - lastRemediated: - description: - LastRemediated identifies when the host was last - remediated - format: date-time - type: string - phase: - description: - Phase represents the current phase of machine remediation. - E.g. Pending, Running, Done etc. - type: string - retryCount: - description: - RetryCount can be used as a counter during the remediation. - Field can hold number of reboots etc. - type: integer - type: object - required: - - status - type: object - type: object - served: true - storage: false - subresources: - status: {} - - name: v1beta1 - schema: - openAPIV3Schema: - description: - Metal3RemediationTemplate is the Schema for the metal3remediationtemplates - 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: - Metal3RemediationTemplateSpec defines the desired state of - Metal3RemediationTemplate - properties: - template: - description: - Metal3RemediationTemplateResource describes the data - needed to create a Metal3Remediation from a template - properties: - spec: - description: - Spec is the specification of the desired behavior - of the Metal3Remediation. - properties: - strategy: - description: Strategy field defines remediation strategy. - properties: - retryLimit: - description: Sets maximum number of remediation retries. - type: integer - timeout: - description: Sets the timeout between remediation retries. - type: string - type: - description: Type of remediation. - type: string - type: object - type: object - required: - - spec - type: object - required: - - template - type: object - status: - description: - Metal3RemediationTemplateStatus defines the observed state - of Metal3RemediationTemplate - properties: - status: - description: - Metal3RemediationStatus defines the observed state of - Metal3Remediation - properties: - lastRemediated: - description: - LastRemediated identifies when the host was last - remediated - format: date-time - type: string - phase: - description: - Phase represents the current phase of machine remediation. - E.g. Pending, Running, Done etc. - type: string - retryCount: - description: - RetryCount can be used as a counter during the remediation. - Field can hold number of reboots etc. - type: integer - type: object - required: - - status - type: object - type: object - served: true - storage: true - subresources: - status: {} + - name: v1alpha5 + schema: + openAPIV3Schema: + description: Metal3RemediationTemplate is the Schema for the metal3remediationtemplates 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: Metal3RemediationTemplateSpec defines the desired state of Metal3RemediationTemplate + properties: + template: + description: Metal3RemediationTemplateResource describes the data needed to create a Metal3Remediation from a template + properties: + spec: + description: Spec is the specification of the desired behavior of the Metal3Remediation. + properties: + strategy: + description: Strategy field defines remediation strategy. + properties: + retryLimit: + description: Sets maximum number of remediation retries. + type: integer + timeout: + description: Sets the timeout between remediation retries. + type: string + type: + description: Type of remediation. + type: string + type: object + type: object + required: + - spec + type: object + required: + - template + type: object + status: + description: Metal3RemediationTemplateStatus defines the observed state of Metal3RemediationTemplate + properties: + status: + description: Metal3RemediationStatus defines the observed state of Metal3Remediation + properties: + lastRemediated: + description: LastRemediated identifies when the host was last remediated + format: date-time + type: string + phase: + description: Phase represents the current phase of machine remediation. E.g. Pending, Running, Done etc. + type: string + retryCount: + description: RetryCount can be used as a counter during the remediation. Field can hold number of reboots etc. + type: integer + type: object + required: + - status + type: object + type: object + served: true + storage: false + subresources: + status: {} + - name: v1beta1 + schema: + openAPIV3Schema: + description: Metal3RemediationTemplate is the Schema for the metal3remediationtemplates 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: Metal3RemediationTemplateSpec defines the desired state of Metal3RemediationTemplate + properties: + template: + description: Metal3RemediationTemplateResource describes the data needed to create a Metal3Remediation from a template + properties: + spec: + description: Spec is the specification of the desired behavior of the Metal3Remediation. + properties: + strategy: + description: Strategy field defines remediation strategy. + properties: + retryLimit: + description: Sets maximum number of remediation retries. + type: integer + timeout: + description: Sets the timeout between remediation retries. + type: string + type: + description: Type of remediation. + type: string + type: object + type: object + required: + - spec + type: object + required: + - template + type: object + status: + description: Metal3RemediationTemplateStatus defines the observed state of Metal3RemediationTemplate + properties: + status: + description: Metal3RemediationStatus defines the observed state of Metal3Remediation + properties: + lastRemediated: + description: LastRemediated identifies when the host was last remediated + format: date-time + type: string + phase: + description: Phase represents the current phase of machine remediation. E.g. Pending, Running, Done etc. + type: string + retryCount: + description: RetryCount can be used as a counter during the remediation. Field can hold number of reboots etc. + type: integer + type: object + required: + - status + type: object + type: object + served: true + storage: true + subresources: + status: {} --- apiVersion: v1 kind: ServiceAccount @@ -5286,24 +3996,24 @@ metadata: name: capm3-leader-election-role namespace: capm3-system rules: - - apiGroups: - - "" - resources: - - events - verbs: - - create - - apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - get - - list - - watch - - create - - update - - patch - - delete +- apiGroups: + - "" + resources: + - events + verbs: + - create +- apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - get + - list + - watch + - create + - update + - patch + - delete --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role @@ -5313,12 +4023,12 @@ metadata: name: ipam-leader-election-role namespace: capm3-system rules: - - apiGroups: - - "" - resources: - - events - verbs: - - create +- apiGroups: + - "" + resources: + - events + verbs: + - create --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole @@ -5328,293 +4038,293 @@ metadata: cluster.x-k8s.io/provider: infrastructure-metal3 name: capm3-manager-role rules: - - apiGroups: - - "" - resources: - - events - verbs: - - create - - get - - list - - patch - - update - - watch - - apiGroups: - - "" - resources: - - secrets - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - cluster.x-k8s.io - resources: - - clusters - verbs: - - get - - list - - watch - - apiGroups: - - cluster.x-k8s.io - resources: - - clusters - - clusters/status - verbs: - - get - - list - - watch - - apiGroups: - - cluster.x-k8s.io - resources: - - clusters/status - verbs: - - get - - apiGroups: - - cluster.x-k8s.io - resources: - - kubeadmcontrolplanes - 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: - - machines - - machines/status - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - cluster.x-k8s.io - resources: - - machinesets - verbs: - - get - - list - - watch - - apiGroups: - - "" - resources: - - nodes - verbs: - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3clusters - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3clusters/status - verbs: - - get - - patch - - update - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3dataclaims - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3dataclaims/status - verbs: - - get - - patch - - update - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3datas - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3datas/status - verbs: - - get - - patch - - update - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3datatemplates - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3datatemplates/status - verbs: - - get - - patch - - update - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3machines - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3machines/status - verbs: - - get - - patch - - update - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3machinetemplates - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3remediations - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3remediations/status - verbs: - - get - - patch - - update - - apiGroups: - - ipam.metal3.io - resources: - - ipaddresses - verbs: - - get - - list - - watch - - apiGroups: - - ipam.metal3.io - resources: - - ipaddresses/status - verbs: - - get - - apiGroups: - - ipam.metal3.io - resources: - - ipclaims - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - ipam.metal3.io - resources: - - ipclaims/status - verbs: - - get - - watch - - apiGroups: - - metal3.io - resources: - - baremetalhosts - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - metal3.io - resources: - - baremetalhosts/status - verbs: - - get - - patch - - update +- apiGroups: + - "" + resources: + - events + verbs: + - create + - get + - list + - patch + - update + - watch +- apiGroups: + - "" + resources: + - secrets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - cluster.x-k8s.io + resources: + - clusters + verbs: + - get + - list + - watch +- apiGroups: + - cluster.x-k8s.io + resources: + - clusters + - clusters/status + verbs: + - get + - list + - watch +- apiGroups: + - cluster.x-k8s.io + resources: + - clusters/status + verbs: + - get +- apiGroups: + - cluster.x-k8s.io + resources: + - kubeadmcontrolplanes + 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: + - machines + - machines/status + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - cluster.x-k8s.io + resources: + - machinesets + verbs: + - get + - list + - watch +- apiGroups: + - "" + resources: + - nodes + verbs: + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3clusters + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3clusters/status + verbs: + - get + - patch + - update +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3dataclaims + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3dataclaims/status + verbs: + - get + - patch + - update +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3datas + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3datas/status + verbs: + - get + - patch + - update +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3datatemplates + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3datatemplates/status + verbs: + - get + - patch + - update +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3machines + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3machines/status + verbs: + - get + - patch + - update +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3machinetemplates + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3remediations + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3remediations/status + verbs: + - get + - patch + - update +- apiGroups: + - ipam.metal3.io + resources: + - ipaddresses + verbs: + - get + - list + - watch +- apiGroups: + - ipam.metal3.io + resources: + - ipaddresses/status + verbs: + - get +- apiGroups: + - ipam.metal3.io + resources: + - ipclaims + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ipam.metal3.io + resources: + - ipclaims/status + verbs: + - get + - watch +- apiGroups: + - metal3.io + resources: + - baremetalhosts + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - metal3.io + resources: + - baremetalhosts/status + verbs: + - get + - patch + - update --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole @@ -5624,103 +4334,103 @@ metadata: cluster.x-k8s.io/provider: infrastructure-metal3 name: ipam-manager-role rules: - - apiGroups: - - "" - resources: - - events - verbs: - - create - - get - - list - - patch - - update - - watch - - apiGroups: - - "" - resources: - - secrets - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - cluster.x-k8s.io - resources: - - clusters - verbs: - - get - - list - - watch - - apiGroups: - - cluster.x-k8s.io - resources: - - clusters/status - verbs: - - get - - apiGroups: - - ipam.metal3.io - resources: - - ipaddresses - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - ipam.metal3.io - resources: - - ipaddresses/status - verbs: - - get - - patch - - update - - apiGroups: - - ipam.metal3.io - resources: - - ipclaims - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - ipam.metal3.io - resources: - - ipclaims/status - verbs: - - get - - patch - - update - - apiGroups: - - ipam.metal3.io - resources: - - ippools - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - ipam.metal3.io - resources: - - ippools/status - verbs: - - get - - patch - - update +- apiGroups: + - "" + resources: + - events + verbs: + - create + - get + - list + - patch + - update + - watch +- apiGroups: + - "" + resources: + - secrets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - cluster.x-k8s.io + resources: + - clusters + verbs: + - get + - list + - watch +- apiGroups: + - cluster.x-k8s.io + resources: + - clusters/status + verbs: + - get +- apiGroups: + - ipam.metal3.io + resources: + - ipaddresses + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ipam.metal3.io + resources: + - ipaddresses/status + verbs: + - get + - patch + - update +- apiGroups: + - ipam.metal3.io + resources: + - ipclaims + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ipam.metal3.io + resources: + - ipclaims/status + verbs: + - get + - patch + - update +- apiGroups: + - ipam.metal3.io + resources: + - ippools + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ipam.metal3.io + resources: + - ippools/status + verbs: + - get + - patch + - update --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding @@ -5734,9 +4444,9 @@ roleRef: kind: Role name: capm3-leader-election-role subjects: - - kind: ServiceAccount - name: capm3-manager - namespace: capm3-system +- kind: ServiceAccount + name: capm3-manager + namespace: capm3-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding @@ -5750,9 +4460,9 @@ roleRef: kind: Role name: ipam-leader-election-role subjects: - - kind: ServiceAccount - name: ipam-manager - namespace: capm3-system +- kind: ServiceAccount + name: ipam-manager + namespace: capm3-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding @@ -5765,9 +4475,9 @@ roleRef: kind: ClusterRole name: capm3-manager-role subjects: - - kind: ServiceAccount - name: capm3-manager - namespace: capm3-system +- kind: ServiceAccount + name: capm3-manager + namespace: capm3-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding @@ -5780,9 +4490,9 @@ roleRef: kind: ClusterRole name: ipam-manager-role subjects: - - kind: ServiceAccount - name: ipam-manager - namespace: capm3-system +- kind: ServiceAccount + name: ipam-manager + namespace: capm3-system --- apiVersion: v1 data: @@ -5803,8 +4513,8 @@ metadata: namespace: capm3-system spec: ports: - - port: 443 - targetPort: webhook-server + - port: 443 + targetPort: webhook-server selector: cluster.x-k8s.io/provider: infrastructure-metal3 --- @@ -5817,8 +4527,8 @@ metadata: namespace: capm3-system spec: ports: - - port: 443 - targetPort: ipam-webhook + - port: 443 + targetPort: ipam-webhook selector: cluster.x-k8s.io/provider: infrastructure-metal3 --- @@ -5845,50 +4555,50 @@ spec: controller-tools.k8s.io: "1.0" spec: containers: - - args: - - --webhook-port=9443 - command: - - /manager - env: - - name: POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - envFrom: - - configMapRef: - name: capm3-capm3fasttrack-configmap - image: quay.io/metal3-io/cluster-api-provider-metal3:main - 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 - volumeMounts: - - mountPath: /tmp/k8s-webhook-server/serving-certs - name: cert - readOnly: true + - args: + - --webhook-port=9443 + command: + - /manager + env: + - name: POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + envFrom: + - configMapRef: + name: capm3-capm3fasttrack-configmap + image: quay.io/metal3-io/cluster-api-provider-metal3:main + 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 + volumeMounts: + - mountPath: /tmp/k8s-webhook-server/serving-certs + name: cert + readOnly: true serviceAccountName: capm3-manager terminationGracePeriodSeconds: 10 tolerations: - - effect: NoSchedule - key: node-role.kubernetes.io/master + - effect: NoSchedule + key: node-role.kubernetes.io/master volumes: - - name: cert - secret: - defaultMode: 420 - secretName: capm3-webhook-service-cert + - name: cert + secret: + defaultMode: 420 + secretName: capm3-webhook-service-cert --- apiVersion: apps/v1 kind: Deployment @@ -5913,47 +4623,47 @@ spec: controller-tools.k8s.io: "1.0" spec: containers: - - args: - - --webhook-port=9443 - command: - - /manager - env: - - name: POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - image: quay.io/metal3-io/ip-address-manager:v1.1.2 - imagePullPolicy: IfNotPresent - livenessProbe: - httpGet: - path: /healthz - port: healthz - name: manager - ports: - - containerPort: 9443 - name: ipam-webhook - protocol: TCP - - containerPort: 9440 - name: healthz - protocol: TCP - readinessProbe: - httpGet: - path: /readyz - port: healthz - volumeMounts: - - mountPath: /tmp/k8s-webhook-server/serving-certs - name: cert - readOnly: true + - args: + - --webhook-port=9443 + command: + - /manager + env: + - name: POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + image: quay.io/metal3-io/ip-address-manager:v1.1.2 + imagePullPolicy: IfNotPresent + livenessProbe: + httpGet: + path: /healthz + port: healthz + name: manager + ports: + - containerPort: 9443 + name: ipam-webhook + protocol: TCP + - containerPort: 9440 + name: healthz + protocol: TCP + readinessProbe: + httpGet: + path: /readyz + port: healthz + volumeMounts: + - mountPath: /tmp/k8s-webhook-server/serving-certs + name: cert + readOnly: true serviceAccountName: ipam-manager terminationGracePeriodSeconds: 10 tolerations: - - effect: NoSchedule - key: node-role.kubernetes.io/master + - effect: NoSchedule + key: node-role.kubernetes.io/master volumes: - - name: cert - secret: - defaultMode: 420 - secretName: ipam-webhook-service-cert + - name: cert + secret: + defaultMode: 420 + secretName: ipam-webhook-service-cert --- apiVersion: cert-manager.io/v1 kind: Certificate @@ -5964,8 +4674,8 @@ metadata: namespace: capm3-system spec: dnsNames: - - capm3-webhook-service.capm3-system.svc - - capm3-webhook-service.capm3-system.svc.cluster.local + - capm3-webhook-service.capm3-system.svc + - capm3-webhook-service.capm3-system.svc.cluster.local issuerRef: kind: Issuer name: capm3-selfsigned-issuer @@ -5980,8 +4690,8 @@ metadata: namespace: capm3-system spec: dnsNames: - - ipam-webhook-service.capm3-system.svc - - ipam-webhook-service.capm3-system.svc.cluster.local + - ipam-webhook-service.capm3-system.svc + - ipam-webhook-service.capm3-system.svc.cluster.local issuerRef: kind: Issuer name: ipam-selfsigned-issuer @@ -6016,182 +4726,182 @@ metadata: cluster.x-k8s.io/provider: infrastructure-metal3 name: capm3-mutating-webhook-configuration webhooks: - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system - path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3cluster - failurePolicy: Fail - matchPolicy: Equivalent - name: default.metal3cluster.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3clusters - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system - path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3data - failurePolicy: Fail - matchPolicy: Equivalent - name: default.metal3data.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3datas - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system - path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3dataclaim - failurePolicy: Fail - matchPolicy: Equivalent - name: default.metal3dataclaim.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3dataclaims - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system - path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3datatemplate - failurePolicy: Fail - matchPolicy: Equivalent - name: default.metal3datatemplate.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3datatemplates - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system - path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3machine - failurePolicy: Fail - matchPolicy: Equivalent - name: default.metal3machine.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3machines - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system - path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3machinetemplate - failurePolicy: Fail - matchPolicy: Equivalent - name: default.metal3machinetemplate.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3machinetemplates - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system - path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3remediation - failurePolicy: Fail - matchPolicy: Equivalent - name: default.metal3remediation.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3remediations - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system - path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3remediationtemplate - failurePolicy: Fail - matchPolicy: Equivalent - name: default.metal3remediationtemplate.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3remediationtemplates - sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system + path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3cluster + failurePolicy: Fail + matchPolicy: Equivalent + name: default.metal3cluster.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3clusters + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system + path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3data + failurePolicy: Fail + matchPolicy: Equivalent + name: default.metal3data.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3datas + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system + path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3dataclaim + failurePolicy: Fail + matchPolicy: Equivalent + name: default.metal3dataclaim.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3dataclaims + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system + path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3datatemplate + failurePolicy: Fail + matchPolicy: Equivalent + name: default.metal3datatemplate.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3datatemplates + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system + path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3machine + failurePolicy: Fail + matchPolicy: Equivalent + name: default.metal3machine.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3machines + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system + path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3machinetemplate + failurePolicy: Fail + matchPolicy: Equivalent + name: default.metal3machinetemplate.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3machinetemplates + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system + path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3remediation + failurePolicy: Fail + matchPolicy: Equivalent + name: default.metal3remediation.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3remediations + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system + path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3remediationtemplate + failurePolicy: Fail + matchPolicy: Equivalent + name: default.metal3remediationtemplate.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3remediationtemplates + sideEffects: None --- apiVersion: admissionregistration.k8s.io/v1 kind: MutatingWebhookConfiguration @@ -6202,72 +4912,72 @@ metadata: cluster.x-k8s.io/provider: infrastructure-metal3 name: ipam-mutating-webhook-configuration webhooks: - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: ipam-webhook-service - namespace: capm3-system - path: /mutate-ipam-metal3-io-v1alpha1-ipaddress - failurePolicy: Fail - matchPolicy: Equivalent - name: default.ipaddress.ipam.metal3.io - rules: - - apiGroups: - - ipam.metal3.io - apiVersions: - - v1alpha1 - operations: - - CREATE - - UPDATE - resources: - - ipaddresses - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: ipam-webhook-service - namespace: capm3-system - path: /mutate-ipam-metal3-io-v1alpha1-ipclaim - failurePolicy: Fail - matchPolicy: Equivalent - name: default.ipclaim.ipam.metal3.io - rules: - - apiGroups: - - ipam.metal3.io - apiVersions: - - v1alpha1 - operations: - - CREATE - - UPDATE - resources: - - ipclaims - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: ipam-webhook-service - namespace: capm3-system - path: /mutate-ipam-metal3-io-v1alpha1-ippool - failurePolicy: Fail - matchPolicy: Equivalent - name: default.ippool.ipam.metal3.io - rules: - - apiGroups: - - ipam.metal3.io - apiVersions: - - v1alpha1 - operations: - - CREATE - - UPDATE - resources: - - ippools - sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: ipam-webhook-service + namespace: capm3-system + path: /mutate-ipam-metal3-io-v1alpha1-ipaddress + failurePolicy: Fail + matchPolicy: Equivalent + name: default.ipaddress.ipam.metal3.io + rules: + - apiGroups: + - ipam.metal3.io + apiVersions: + - v1alpha1 + operations: + - CREATE + - UPDATE + resources: + - ipaddresses + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: ipam-webhook-service + namespace: capm3-system + path: /mutate-ipam-metal3-io-v1alpha1-ipclaim + failurePolicy: Fail + matchPolicy: Equivalent + name: default.ipclaim.ipam.metal3.io + rules: + - apiGroups: + - ipam.metal3.io + apiVersions: + - v1alpha1 + operations: + - CREATE + - UPDATE + resources: + - ipclaims + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: ipam-webhook-service + namespace: capm3-system + path: /mutate-ipam-metal3-io-v1alpha1-ippool + failurePolicy: Fail + matchPolicy: Equivalent + name: default.ippool.ipam.metal3.io + rules: + - apiGroups: + - ipam.metal3.io + apiVersions: + - v1alpha1 + operations: + - CREATE + - UPDATE + resources: + - ippools + sideEffects: None --- apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingWebhookConfiguration @@ -6278,182 +4988,182 @@ metadata: cluster.x-k8s.io/provider: infrastructure-metal3 name: capm3-validating-webhook-configuration webhooks: - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system - path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3cluster - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.metal3cluster.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3clusters - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system - path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3data - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.metal3data.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3datas - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system - path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3dataclaim - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.metal3dataclaim.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3dataclaims - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system - path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3datatemplate - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.metal3datatemplate.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3datatemplates - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system - path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3machine - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.metal3machine.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3machines - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system - path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3machinetemplate - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.metal3machinetemplate.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3machinetemplates - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system - path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3remediation - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.metal3remediation.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3remediations - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system - path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3remediationtemplate - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.metal3remediationtemplate.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3remediationtemplates - sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system + path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3cluster + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.metal3cluster.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3clusters + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system + path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3data + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.metal3data.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3datas + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system + path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3dataclaim + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.metal3dataclaim.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3dataclaims + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system + path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3datatemplate + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.metal3datatemplate.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3datatemplates + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system + path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3machine + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.metal3machine.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3machines + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system + path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3machinetemplate + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.metal3machinetemplate.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3machinetemplates + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system + path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3remediation + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.metal3remediation.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3remediations + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system + path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3remediationtemplate + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.metal3remediationtemplate.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3remediationtemplates + sideEffects: None --- apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingWebhookConfiguration @@ -6464,69 +5174,69 @@ metadata: cluster.x-k8s.io/provider: infrastructure-metal3 name: ipam-validating-webhook-configuration webhooks: - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: ipam-webhook-service - namespace: capm3-system - path: /validate-ipam-metal3-io-v1alpha1-ipaddress - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.ipaddress.ipam.metal3.io - rules: - - apiGroups: - - ipam.metal3.io - apiVersions: - - v1alpha1 - operations: - - CREATE - - UPDATE - resources: - - ipaddresses - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: ipam-webhook-service - namespace: capm3-system - path: /validate-ipam-metal3-io-v1alpha1-ipclaim - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.ipclaim.ipam.metal3.io - rules: - - apiGroups: - - ipam.metal3.io - apiVersions: - - v1alpha1 - operations: - - CREATE - - UPDATE - resources: - - ipclaims - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: ipam-webhook-service - namespace: capm3-system - path: /validate-ipam-metal3-io-v1alpha1-ippool - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.ippool.ipam.metal3.io - rules: - - apiGroups: - - ipam.metal3.io - apiVersions: - - v1alpha1 - operations: - - CREATE - - UPDATE - resources: - - ippools - sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: ipam-webhook-service + namespace: capm3-system + path: /validate-ipam-metal3-io-v1alpha1-ipaddress + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.ipaddress.ipam.metal3.io + rules: + - apiGroups: + - ipam.metal3.io + apiVersions: + - v1alpha1 + operations: + - CREATE + - UPDATE + resources: + - ipaddresses + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: ipam-webhook-service + namespace: capm3-system + path: /validate-ipam-metal3-io-v1alpha1-ipclaim + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.ipclaim.ipam.metal3.io + rules: + - apiGroups: + - ipam.metal3.io + apiVersions: + - v1alpha1 + operations: + - CREATE + - UPDATE + resources: + - ipclaims + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: ipam-webhook-service + namespace: capm3-system + path: /validate-ipam-metal3-io-v1alpha1-ippool + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.ippool.ipam.metal3.io + rules: + - apiGroups: + - ipam.metal3.io + apiVersions: + - v1alpha1 + operations: + - CREATE + - UPDATE + resources: + - ippools + sideEffects: None diff --git a/Support/Multitenancy/capi_capm3-mult-instances/cluster-manifests/kubeadm-bootstrap.yaml b/Support/Multitenancy/capi_capm3-mult-instances/cluster-manifests/kubeadm-bootstrap.yaml index e6f868ff..d8499770 100644 --- a/Support/Multitenancy/capi_capm3-mult-instances/cluster-manifests/kubeadm-bootstrap.yaml +++ b/Support/Multitenancy/capi_capm3-mult-instances/cluster-manifests/kubeadm-bootstrap.yaml @@ -47,58 +47,42 @@ spec: description: KubeadmConfig is the Schema for the kubeadmconfigs API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: - description: KubeadmConfigSpec defines the desired state of KubeadmConfig. - Either ClusterConfiguration and InitConfiguration should be defined - or the JoinConfiguration should be defined. + description: KubeadmConfigSpec defines the desired state of KubeadmConfig. Either ClusterConfiguration and InitConfiguration should be defined or the JoinConfiguration should be defined. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration are - the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for the API server - control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative Names - for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and - ideally we would like to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that will - be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod where - hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -116,65 +100,39 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the timeout that - we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store or look - for all required certificates. NB: if not provided, this will - default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP address or - DNS name for the control plane; it can be a valid IP address - or a RFC-1123 DNS subdomain, both with optional TCP port. In - case the ControlPlaneEndpoint is not specified, the AdvertiseAddress - + BindPort are used; in case the ControlPlaneEndpoint is specified - but without a TCP port, the BindPort is used. Possible usages - are: e.g. In a cluster with more than one control plane instances, - this field should be assigned the address of the external load - balancer in front of the control plane instances. e.g. in environments - with enforced node recycling, the ControlPlaneEndpoint could - be used for assigning a stable DNS to the control plane. NB: - This value defaults to the first value in the Cluster object - status.apiEndpoints array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings for the - controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and - ideally we would like to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that will - be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod where - hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -193,40 +151,29 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on installed - in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container registry to - pull images from. if not set, the ImageRepository defined - in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for the image. - In case this value is set, kubeadm does not change automatically - the version of the above components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: description: Type defines the DNS add-on to be used type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: This value - defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect to an external - etcd cluster Local and External are mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate Authority file - used to secure etcd communication. Required if using - a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification file used - to secure etcd communication. Required if using a TLS - connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: description: Endpoints of etcd members. Required for ExternalEtcd. @@ -234,8 +181,7 @@ spec: type: string type: array keyFile: - description: KeyFile is an SSL key file used to secure - etcd communication. Required if using a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -244,40 +190,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs for configuring - the local etcd instance Local and External are mutually - exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd will place - its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments provided to - the etcd binary when run inside a static pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for the - image. In case this value is set, kubeadm does not change - automatically the version of the above components during - upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject Alternative - Names for the etcd server signing cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -289,72 +224,45 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry to pull - images from. If empty, `k8s.gcr.io` will be used by default; - in case of kubernetes version is a CI build (kubernetes version - starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` - will be used as a default for control plane components and for - kube-proxy, while `k8s.gcr.io` will be used for all the other - images. + description: ImageRepository sets the container registry to pull images from. If empty, `k8s.gcr.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `k8s.gcr.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version of the control - plane. NB: This value defaults to the Machine object spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to the Cluster - object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used by k8s services. - Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. If unset, - the API server will not allocate CIDR ranges for every node. - Defaults to a comma-delimited string of the Cluster object's - spec.clusterNetwork.services.cidrBlocks if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used by k8s services. - Defaults to a comma-delimited string of the Cluster object's - spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" - if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for the scheduler - control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and - ideally we would like to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that will - be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod where - hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -373,18 +281,14 @@ spec: type: array type: object useHyperKubeImage: - description: UseHyperKubeImage controls if hyperkube should be - used for Kubernetes components instead of their respective separate - images + description: UseHyperKubeImage controls if hyperkube should be used for Kubernetes components instead of their respective separate images type: boolean type: object diskSetup: - description: DiskSetup specifies options for the creation of partition - tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file systems to - setup. + description: Filesystems specifies the list of file systems to setup. items: description: Filesystem defines the file systems to be created. properties: @@ -392,8 +296,7 @@ spec: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options to add to the - command for creating the file system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array @@ -401,24 +304,16 @@ spec: description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system label to be - used. If set to None, no label is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not to overwrite - any existing filesystem. If true, any pre-existing file - system will be destroyed. Use with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition to use. - The valid options are: "auto|any", "auto", "any", "none", - and , where NUM is the actual partition number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, used for - Microsoft Azure that instructs cloud-init to replace a - file system of . NOTE: unless you define a label, - this requires the use of the ''any'' partition directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -427,8 +322,7 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the partitions to - setup. + description: Partitions specifies the list of the partitions to setup. items: description: Partition defines how to create and layout a partition. properties: @@ -436,21 +330,13 @@ spec: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. If it is - true, a single partition will be created for the entire - device. When layout is false, it means don't partition - or ignore existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to skip checks - and create the partition if a partition or filesystem - is found on the device. Use with caution. Default is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of partition - table. The following are supported: ''mbr'': default and - setups a MS-DOS partition table ''gpt'': setups a GPT - partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -459,30 +345,24 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed to user_data - upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files in - cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: content: description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source of content to - populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that should populate - this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's data map - for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -499,16 +379,13 @@ spec: - gzip+base64 type: string owner: - description: Owner specifies the ownership of the file, e.g. - "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk where to store - the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions to assign - to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path @@ -520,54 +397,36 @@ spec: - cloud-config type: string initConfiguration: - description: InitConfiguration along with ClusterConfiguration are - the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm init` time - and describes a set of Bootstrap Tokens to create. This information - IS NOT uploaded to the kubeadm cluster configmap, partly because - of its sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap token, stored - as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly message why - this token exists and what it's used for, so other administrators - can know its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp when this token - expires. Defaults to being set dynamically at runtime - based on the TTL. Expires and TTL are mutually exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups that this - token will authenticate as when/if used for authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing bidirectional - trust between nodes and control-planes. Used for joining - nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for this token. - Defaults to 24h. Expires and TTL are mutually exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which this token - can be used. Can by default be used for establishing bidirectional - trust, but that can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -576,30 +435,16 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint of the API - server instance that's deployed on this control plane node In - HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global endpoint - for the cluster, which then loadbalances the requests to each - individual API server. This configuration object lets you customize - what IP/DNS name and port the local API server advertises it's - accessible on. By default, kubeadm tries to auto-detect the - IP of the default interface and use that, but in case that process - fails you may set the desired value here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address for the - API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the API Server - to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer required: @@ -607,65 +452,36 @@ spec: - bindPort type: object nodeRegistration: - description: NodeRegistration holds fields that relate to registering - the new control-plane node to the cluster. When used in the - context of control plane nodes, NodeRegistration should remain - consistent across both InitConfiguration and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node API - object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the kubelet - command line via the environment file kubeadm writes at - runtime for the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X ConfigMap - Flags have higher priority when parsing. These values are - local and specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the Node - API object that will be created in this `kubeadm init` or - `kubeadm join` operation. This field is also used in the - CommonName field of the kubelet's client certificate to - the API server. Defaults to the hostname of the node if - not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API object - should be registered with. If this field is unset, i.e. - nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. If - you don''t want to taint your control-plane node, set this - field to an empty slice, i.e. `taints: {}` in the YAML file. - This field is solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has the - "effect" on any pod that does not tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on pods - that do not tolerate the taint. Valid effects are - NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied to - a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the taint - key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -675,37 +491,25 @@ spec: type: object type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration for the - join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate authority - used to secure comunications between node and control-plane. - Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when - there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control plane - instance to be deployed on the joining node. If nil, no additional - control plane instance will be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint of the - API server instance to be deployed on this node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address for - the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the API - Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer required: @@ -714,57 +518,34 @@ spec: type: object type: object discovery: - description: 'Discovery specifies the options for the kubelet - to use during the TLS Bootstrap process TODO: revisit when there - is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the options for - bootstrap token based discovery BootstrapToken and File - are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or domain name - to the API server from which info will be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set of public key - pins to verify when token-based discovery is used. The - root CA found during discovery must match one of these - values. Specifying an empty set disables root CA pinning, - which can be unsafe. Each hash is specified as ":", - where the only currently supported type is "sha256". - This is a hex-encoded SHA-256 hash of the Subject Public - Key Info (SPKI) object in DER-encoded ASN.1. These hashes - can be calculated using, for example, OpenSSL: openssl - x509 -pubkey -in ca.crt openssl rsa -pubin -outform - der 2>&/dev/null | openssl dgst -sha256 -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate cluster - information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since other - nodes can impersonate the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token - unsafeSkipCAVerification type: object file: - description: File is used to specify a file or URL to a kubeconfig - file from which to load cluster information BootstrapToken - and File are mutually exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify the actual - file path or URL to the kubeconfig file from which to - load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -773,80 +554,43 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: 'TLSBootstrapToken is a token used for TLS bootstrapping. - If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, - but can be overridden. If .File is set, this field **must - be set** in case the KubeConfigFile does not contain any - other authentication information TODO: revisit when there - is defaulting from k/k' + description: 'TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information TODO: revisit when there is defaulting from k/k' type: string type: object kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate to registering - the new control-plane node to the cluster. When used in the - context of control plane nodes, NodeRegistration should remain - consistent across both InitConfiguration and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node API - object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the kubelet - command line via the environment file kubeadm writes at - runtime for the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X ConfigMap - Flags have higher priority when parsing. These values are - local and specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the Node - API object that will be created in this `kubeadm init` or - `kubeadm join` operation. This field is also used in the - CommonName field of the kubelet's client certificate to - the API server. Defaults to the hostname of the node if - not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API object - should be registered with. If this field is unset, i.e. - nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. If - you don''t want to taint your control-plane node, set this - field to an empty slice, i.e. `taints: {}` in the YAML file. - This field is solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has the - "effect" on any pod that does not tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on pods - that do not tolerate the taint. Valid effects are - NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied to - a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the taint - key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -876,25 +620,17 @@ spec: type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands to run after - kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands to run before - kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic kubeadm command - with a shell script with retries for joins. \n This is meant to - be an experimental temporary workaround on some environments where - joins fail due to timing (and other issues). The long term goal - is to add retries to kubeadm proper and use that functionality. - \n This will add about 40KB to userdata \n For more information, - refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." type: boolean users: description: Users specifies extra users to add @@ -905,20 +641,16 @@ spec: description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups for the - user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory to use for - the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark the user as - inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password login should - be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name @@ -927,15 +659,13 @@ spec: description: Passwd specifies a hashed password for the user type: string primaryGroup: - description: PrimaryGroup specifies the primary group for the - user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list of ssh authorized - keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array @@ -947,8 +677,7 @@ spec: type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log level verbosity. - It overrides the `--v` flag in kubeadm commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object @@ -956,48 +685,32 @@ spec: description: KubeadmConfigStatus defines the observed state of KubeadmConfig. properties: bootstrapData: - description: "BootstrapData will be a cloud-init script for now. \n - Deprecated: Switch to DataSecretName." + description: "BootstrapData will be a cloud-init script for now. \n Deprecated: Switch to DataSecretName." format: byte type: string conditions: description: Conditions defines current service state of the KubeadmConfig. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -1005,8 +718,7 @@ spec: type: object type: array dataSecretName: - description: DataSecretName is the name of the secret that stores - the bootstrap data script. + description: DataSecretName is the name of the secret that stores the bootstrap data script. type: string failureMessage: description: FailureMessage will be set on non-retryable errors @@ -1015,13 +727,11 @@ spec: description: FailureReason will be set on non-retryable errors type: string observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + description: ObservedGeneration is the latest generation observed by the controller. format: int64 type: integer ready: - description: Ready indicates the BootstrapData field is ready to be - consumed + description: Ready indicates the BootstrapData field is ready to be consumed type: boolean type: object type: object @@ -1040,58 +750,42 @@ spec: description: KubeadmConfig is the Schema for the kubeadmconfigs API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: - description: KubeadmConfigSpec defines the desired state of KubeadmConfig. - Either ClusterConfiguration and InitConfiguration should be defined - or the JoinConfiguration should be defined. + description: KubeadmConfigSpec defines the desired state of KubeadmConfig. Either ClusterConfiguration and InitConfiguration should be defined or the JoinConfiguration should be defined. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration are - the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for the API server - control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative Names - for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and - ideally we would like to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that will - be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod where - hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -1109,65 +803,39 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the timeout that - we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store or look - for all required certificates. NB: if not provided, this will - default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP address or - DNS name for the control plane; it can be a valid IP address - or a RFC-1123 DNS subdomain, both with optional TCP port. In - case the ControlPlaneEndpoint is not specified, the AdvertiseAddress - + BindPort are used; in case the ControlPlaneEndpoint is specified - but without a TCP port, the BindPort is used. Possible usages - are: e.g. In a cluster with more than one control plane instances, - this field should be assigned the address of the external load - balancer in front of the control plane instances. e.g. in environments - with enforced node recycling, the ControlPlaneEndpoint could - be used for assigning a stable DNS to the control plane. NB: - This value defaults to the first value in the Cluster object - status.apiEndpoints array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings for the - controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and - ideally we would like to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that will - be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod where - hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -1186,37 +854,26 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on installed - in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container registry to - pull images from. if not set, the ImageRepository defined - in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for the image. - In case this value is set, kubeadm does not change automatically - the version of the above components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: This value - defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect to an external - etcd cluster Local and External are mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate Authority file - used to secure etcd communication. Required if using - a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification file used - to secure etcd communication. Required if using a TLS - connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: description: Endpoints of etcd members. Required for ExternalEtcd. @@ -1224,8 +881,7 @@ spec: type: string type: array keyFile: - description: KeyFile is an SSL key file used to secure - etcd communication. Required if using a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -1234,40 +890,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs for configuring - the local etcd instance Local and External are mutually - exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd will place - its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments provided to - the etcd binary when run inside a static pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for the - image. In case this value is set, kubeadm does not change - automatically the version of the above components during - upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject Alternative - Names for the etcd server signing cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -1279,72 +924,45 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry to pull - images from. If empty, `registry.k8s.io` will be used by default; - in case of kubernetes version is a CI build (kubernetes version - starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` - will be used as a default for control plane components and for - kube-proxy, while `registry.k8s.io` will be used for all the - other images. + description: ImageRepository sets the container registry to pull images from. If empty, `registry.k8s.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `registry.k8s.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version of the control - plane. NB: This value defaults to the Machine object spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to the Cluster - object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used by k8s services. - Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. If unset, - the API server will not allocate CIDR ranges for every node. - Defaults to a comma-delimited string of the Cluster object's - spec.clusterNetwork.services.cidrBlocks if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used by k8s services. - Defaults to a comma-delimited string of the Cluster object's - spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" - if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for the scheduler - control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and - ideally we would like to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that will - be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod where - hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -1364,12 +982,10 @@ spec: type: object type: object diskSetup: - description: DiskSetup specifies options for the creation of partition - tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file systems to - setup. + description: Filesystems specifies the list of file systems to setup. items: description: Filesystem defines the file systems to be created. properties: @@ -1377,8 +993,7 @@ spec: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options to add to the - command for creating the file system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array @@ -1386,24 +1001,16 @@ spec: description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system label to be - used. If set to None, no label is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not to overwrite - any existing filesystem. If true, any pre-existing file - system will be destroyed. Use with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition to use. - The valid options are: "auto|any", "auto", "any", "none", - and , where NUM is the actual partition number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, used for - Microsoft Azure that instructs cloud-init to replace a - file system of . NOTE: unless you define a label, - this requires the use of the ''any'' partition directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -1412,8 +1019,7 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the partitions to - setup. + description: Partitions specifies the list of the partitions to setup. items: description: Partition defines how to create and layout a partition. properties: @@ -1421,21 +1027,13 @@ spec: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. If it is - true, a single partition will be created for the entire - device. When layout is false, it means don't partition - or ignore existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to skip checks - and create the partition if a partition or filesystem - is found on the device. Use with caution. Default is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of partition - table. The following are supported: ''mbr'': default and - setups a MS-DOS partition table ''gpt'': setups a GPT - partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -1444,30 +1042,24 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed to user_data - upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files in - cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: content: description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source of content to - populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that should populate - this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's data map - for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -1484,16 +1076,13 @@ spec: - gzip+base64 type: string owner: - description: Owner specifies the ownership of the file, e.g. - "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk where to store - the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions to assign - to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path @@ -1505,54 +1094,36 @@ spec: - cloud-config type: string initConfiguration: - description: InitConfiguration along with ClusterConfiguration are - the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm init` time - and describes a set of Bootstrap Tokens to create. This information - IS NOT uploaded to the kubeadm cluster configmap, partly because - of its sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap token, stored - as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly message why - this token exists and what it's used for, so other administrators - can know its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp when this token - expires. Defaults to being set dynamically at runtime - based on the TTL. Expires and TTL are mutually exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups that this - token will authenticate as when/if used for authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing bidirectional - trust between nodes and control-planes. Used for joining - nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for this token. - Defaults to 24h. Expires and TTL are mutually exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which this token - can be used. Can by default be used for establishing bidirectional - trust, but that can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -1561,99 +1132,55 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint of the API - server instance that's deployed on this control plane node In - HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global endpoint - for the cluster, which then loadbalances the requests to each - individual API server. This configuration object lets you customize - what IP/DNS name and port the local API server advertises it's - accessible on. By default, kubeadm tries to auto-detect the - IP of the default interface and use that, but in case that process - fails you may set the desired value here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address for the - API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the API Server - to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object nodeRegistration: - description: NodeRegistration holds fields that relate to registering - the new control-plane node to the cluster. When used in the - context of control plane nodes, NodeRegistration should remain - consistent across both InitConfiguration and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node API - object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice of pre-flight - errors to be ignored when the current node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the kubelet - command line via the environment file kubeadm writes at - runtime for the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X ConfigMap - Flags have higher priority when parsing. These values are - local and specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the Node - API object that will be created in this `kubeadm init` or - `kubeadm join` operation. This field is also used in the - CommonName field of the kubelet's client certificate to - the API server. Defaults to the hostname of the node if - not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API object - should be registered with. If this field is unset, i.e. - nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. If - you don''t want to taint your control-plane node, set this - field to an empty slice, i.e. `taints: {}` in the YAML file. - This field is solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has the - "effect" on any pod that does not tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on pods - that do not tolerate the taint. Valid effects are - NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied to - a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the taint - key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -1663,92 +1190,57 @@ spec: type: object type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration for the - join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate authority - used to secure comunications between node and control-plane. - Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when - there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control plane - instance to be deployed on the joining node. If nil, no additional - control plane instance will be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint of the - API server instance to be deployed on this node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address for - the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the API - Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object type: object discovery: - description: 'Discovery specifies the options for the kubelet - to use during the TLS Bootstrap process TODO: revisit when there - is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the options for - bootstrap token based discovery BootstrapToken and File - are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or domain name - to the API server from which info will be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set of public key - pins to verify when token-based discovery is used. The - root CA found during discovery must match one of these - values. Specifying an empty set disables root CA pinning, - which can be unsafe. Each hash is specified as ":", - where the only currently supported type is "sha256". - This is a hex-encoded SHA-256 hash of the Subject Public - Key Info (SPKI) object in DER-encoded ASN.1. These hashes - can be calculated using, for example, OpenSSL: openssl - x509 -pubkey -in ca.crt openssl rsa -pubin -outform - der 2>&/dev/null | openssl dgst -sha256 -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate cluster - information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since other - nodes can impersonate the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token type: object file: - description: File is used to specify a file or URL to a kubeconfig - file from which to load cluster information BootstrapToken - and File are mutually exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify the actual - file path or URL to the kubeconfig file from which to - load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -1757,85 +1249,48 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: TLSBootstrapToken is a token used for TLS bootstrapping. - If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, - but can be overridden. If .File is set, this field **must - be set** in case the KubeConfigFile does not contain any - other authentication information + description: TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information type: string type: object kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate to registering - the new control-plane node to the cluster. When used in the - context of control plane nodes, NodeRegistration should remain - consistent across both InitConfiguration and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node API - object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice of pre-flight - errors to be ignored when the current node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the kubelet - command line via the environment file kubeadm writes at - runtime for the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X ConfigMap - Flags have higher priority when parsing. These values are - local and specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the Node - API object that will be created in this `kubeadm init` or - `kubeadm join` operation. This field is also used in the - CommonName field of the kubelet's client certificate to - the API server. Defaults to the hostname of the node if - not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API object - should be registered with. If this field is unset, i.e. - nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. If - you don''t want to taint your control-plane node, set this - field to an empty slice, i.e. `taints: {}` in the YAML file. - This field is solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has the - "effect" on any pod that does not tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on pods - that do not tolerate the taint. Valid effects are - NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied to - a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the taint - key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -1865,25 +1320,17 @@ spec: type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands to run after - kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands to run before - kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic kubeadm command - with a shell script with retries for joins. \n This is meant to - be an experimental temporary workaround on some environments where - joins fail due to timing (and other issues). The long term goal - is to add retries to kubeadm proper and use that functionality. - \n This will add about 40KB to userdata \n For more information, - refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." type: boolean users: description: Users specifies extra users to add @@ -1894,20 +1341,16 @@ spec: description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups for the - user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory to use for - the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark the user as - inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password login should - be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name @@ -1916,15 +1359,13 @@ spec: description: Passwd specifies a hashed password for the user type: string primaryGroup: - description: PrimaryGroup specifies the primary group for the - user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list of ssh authorized - keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array @@ -1936,8 +1377,7 @@ spec: type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log level verbosity. - It overrides the `--v` flag in kubeadm commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object @@ -1947,41 +1387,26 @@ spec: conditions: description: Conditions defines current service state of the KubeadmConfig. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -1989,8 +1414,7 @@ spec: type: object type: array dataSecretName: - description: DataSecretName is the name of the secret that stores - the bootstrap data script. + description: DataSecretName is the name of the secret that stores the bootstrap data script. type: string failureMessage: description: FailureMessage will be set on non-retryable errors @@ -1999,13 +1423,11 @@ spec: description: FailureReason will be set on non-retryable errors type: string observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + description: ObservedGeneration is the latest generation observed by the controller. format: int64 type: integer ready: - description: Ready indicates the BootstrapData field is ready to be - consumed + description: Ready indicates the BootstrapData field is ready to be consumed type: boolean type: object type: object @@ -2028,58 +1450,42 @@ spec: description: KubeadmConfig is the Schema for the kubeadmconfigs API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: - description: KubeadmConfigSpec defines the desired state of KubeadmConfig. - Either ClusterConfiguration and InitConfiguration should be defined - or the JoinConfiguration should be defined. + description: KubeadmConfigSpec defines the desired state of KubeadmConfig. Either ClusterConfiguration and InitConfiguration should be defined or the JoinConfiguration should be defined. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration are - the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for the API server - control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative Names - for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and - ideally we would like to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that will - be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod where - hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -2097,65 +1503,39 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the timeout that - we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store or look - for all required certificates. NB: if not provided, this will - default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP address or - DNS name for the control plane; it can be a valid IP address - or a RFC-1123 DNS subdomain, both with optional TCP port. In - case the ControlPlaneEndpoint is not specified, the AdvertiseAddress - + BindPort are used; in case the ControlPlaneEndpoint is specified - but without a TCP port, the BindPort is used. Possible usages - are: e.g. In a cluster with more than one control plane instances, - this field should be assigned the address of the external load - balancer in front of the control plane instances. e.g. in environments - with enforced node recycling, the ControlPlaneEndpoint could - be used for assigning a stable DNS to the control plane. NB: - This value defaults to the first value in the Cluster object - status.apiEndpoints array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings for the - controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and - ideally we would like to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that will - be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod where - hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -2174,37 +1554,26 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on installed - in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container registry to - pull images from. if not set, the ImageRepository defined - in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for the image. - In case this value is set, kubeadm does not change automatically - the version of the above components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: This value - defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect to an external - etcd cluster Local and External are mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate Authority file - used to secure etcd communication. Required if using - a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification file used - to secure etcd communication. Required if using a TLS - connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: description: Endpoints of etcd members. Required for ExternalEtcd. @@ -2212,8 +1581,7 @@ spec: type: string type: array keyFile: - description: KeyFile is an SSL key file used to secure - etcd communication. Required if using a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -2222,40 +1590,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs for configuring - the local etcd instance Local and External are mutually - exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd will place - its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments provided to - the etcd binary when run inside a static pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for the - image. In case this value is set, kubeadm does not change - automatically the version of the above components during - upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject Alternative - Names for the etcd server signing cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -2267,72 +1624,45 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry to pull - images from. If empty, `registry.k8s.io` will be used by default; - in case of kubernetes version is a CI build (kubernetes version - starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` - will be used as a default for control plane components and for - kube-proxy, while `registry.k8s.io` will be used for all the - other images. + description: ImageRepository sets the container registry to pull images from. If empty, `registry.k8s.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `registry.k8s.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version of the control - plane. NB: This value defaults to the Machine object spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to the Cluster - object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used by k8s services. - Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. If unset, - the API server will not allocate CIDR ranges for every node. - Defaults to a comma-delimited string of the Cluster object's - spec.clusterNetwork.services.cidrBlocks if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used by k8s services. - Defaults to a comma-delimited string of the Cluster object's - spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" - if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for the scheduler - control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and - ideally we would like to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that will - be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod where - hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -2352,12 +1682,10 @@ spec: type: object type: object diskSetup: - description: DiskSetup specifies options for the creation of partition - tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file systems to - setup. + description: Filesystems specifies the list of file systems to setup. items: description: Filesystem defines the file systems to be created. properties: @@ -2365,8 +1693,7 @@ spec: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options to add to the - command for creating the file system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array @@ -2374,24 +1701,16 @@ spec: description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system label to be - used. If set to None, no label is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not to overwrite - any existing filesystem. If true, any pre-existing file - system will be destroyed. Use with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition to use. - The valid options are: "auto|any", "auto", "any", "none", - and , where NUM is the actual partition number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, used for - Microsoft Azure that instructs cloud-init to replace a - file system of . NOTE: unless you define a label, - this requires the use of the ''any'' partition directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -2400,8 +1719,7 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the partitions to - setup. + description: Partitions specifies the list of the partitions to setup. items: description: Partition defines how to create and layout a partition. properties: @@ -2409,21 +1727,13 @@ spec: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. If it is - true, a single partition will be created for the entire - device. When layout is false, it means don't partition - or ignore existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to skip checks - and create the partition if a partition or filesystem - is found on the device. Use with caution. Default is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of partition - table. The following are supported: ''mbr'': default and - setups a MS-DOS partition table ''gpt'': setups a GPT - partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -2432,34 +1742,27 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed to user_data - upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files in - cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: append: - description: Append specifies whether to append Content to existing - file if Path exists. + description: Append specifies whether to append Content to existing file if Path exists. type: boolean content: description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source of content to - populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that should populate - this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's data map - for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -2476,16 +1779,13 @@ spec: - gzip+base64 type: string owner: - description: Owner specifies the ownership of the file, e.g. - "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk where to store - the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions to assign - to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path @@ -2504,66 +1804,44 @@ spec: description: ContainerLinuxConfig contains CLC specific configuration. properties: additionalConfig: - description: "AdditionalConfig contains additional configuration - to be merged with the Ignition configuration generated by - the bootstrapper controller. More info: https://coreos.github.io/ignition/operator-notes/#config-merging - \n The data format is documented here: https://kinvolk.io/docs/flatcar-container-linux/latest/provisioning/cl-config/" + description: "AdditionalConfig contains additional configuration to be merged with the Ignition configuration generated by the bootstrapper controller. More info: https://coreos.github.io/ignition/operator-notes/#config-merging \n The data format is documented here: https://kinvolk.io/docs/flatcar-container-linux/latest/provisioning/cl-config/" type: string strict: - description: Strict controls if AdditionalConfig should be - strictly parsed. If so, warnings are treated as errors. + description: Strict controls if AdditionalConfig should be strictly parsed. If so, warnings are treated as errors. type: boolean type: object type: object initConfiguration: - description: InitConfiguration along with ClusterConfiguration are - the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm init` time - and describes a set of Bootstrap Tokens to create. This information - IS NOT uploaded to the kubeadm cluster configmap, partly because - of its sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap token, stored - as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly message why - this token exists and what it's used for, so other administrators - can know its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp when this token - expires. Defaults to being set dynamically at runtime - based on the TTL. Expires and TTL are mutually exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups that this - token will authenticate as when/if used for authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing bidirectional - trust between nodes and control-planes. Used for joining - nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for this token. - Defaults to 24h. Expires and TTL are mutually exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which this token - can be used. Can by default be used for establishing bidirectional - trust, but that can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -2572,99 +1850,55 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint of the API - server instance that's deployed on this control plane node In - HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global endpoint - for the cluster, which then loadbalances the requests to each - individual API server. This configuration object lets you customize - what IP/DNS name and port the local API server advertises it's - accessible on. By default, kubeadm tries to auto-detect the - IP of the default interface and use that, but in case that process - fails you may set the desired value here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address for the - API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the API Server - to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object nodeRegistration: - description: NodeRegistration holds fields that relate to registering - the new control-plane node to the cluster. When used in the - context of control plane nodes, NodeRegistration should remain - consistent across both InitConfiguration and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node API - object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice of pre-flight - errors to be ignored when the current node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the kubelet - command line via the environment file kubeadm writes at - runtime for the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X ConfigMap - Flags have higher priority when parsing. These values are - local and specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the Node - API object that will be created in this `kubeadm init` or - `kubeadm join` operation. This field is also used in the - CommonName field of the kubelet's client certificate to - the API server. Defaults to the hostname of the node if - not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API object - should be registered with. If this field is unset, i.e. - nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. If - you don''t want to taint your control-plane node, set this - field to an empty slice, i.e. `taints: []` in the YAML file. - This field is solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: []` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has the - "effect" on any pod that does not tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on pods - that do not tolerate the taint. Valid effects are - NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied to - a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the taint - key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -2673,122 +1907,70 @@ spec: type: array type: object patches: - description: Patches contains options related to applying patches - to components deployed by kubeadm during "kubeadm init". The - minimum kubernetes version needed to support Patches is v1.22 + description: Patches contains options related to applying patches to components deployed by kubeadm during "kubeadm init". The minimum kubernetes version needed to support Patches is v1.22 properties: directory: - description: Directory is a path to a directory that contains - files named "target[suffix][+patchtype].extension". For - example, "kube-apiserver0+merge.yaml" or just "etcd.json". - "target" can be one of "kube-apiserver", "kube-controller-manager", - "kube-scheduler", "etcd". "patchtype" can be one of "strategic" - "merge" or "json" and they match the patch formats supported - by kubectl. The default "patchtype" is "strategic". "extension" - must be either "json" or "yaml". "suffix" is an optional - string that can be used to determine which patches are applied - first alpha-numerically. These files can be written into - the target directory via KubeadmConfig.Files which specifies - additional files to be created on the machine, either with - content inline or by referencing a secret. + description: Directory is a path to a directory that contains files named "target[suffix][+patchtype].extension". For example, "kube-apiserver0+merge.yaml" or just "etcd.json". "target" can be one of "kube-apiserver", "kube-controller-manager", "kube-scheduler", "etcd". "patchtype" can be one of "strategic" "merge" or "json" and they match the patch formats supported by kubectl. The default "patchtype" is "strategic". "extension" must be either "json" or "yaml". "suffix" is an optional string that can be used to determine which patches are applied first alpha-numerically. These files can be written into the target directory via KubeadmConfig.Files which specifies additional files to be created on the machine, either with content inline or by referencing a secret. type: string type: object skipPhases: - description: SkipPhases is a list of phases to skip during command - execution. The list of phases can be obtained with the "kubeadm - init --help" command. This option takes effect only on Kubernetes - >=1.22.0. + description: SkipPhases is a list of phases to skip during command execution. The list of phases can be obtained with the "kubeadm init --help" command. This option takes effect only on Kubernetes >=1.22.0. items: type: string type: array type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration for the - join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate authority - used to secure comunications between node and control-plane. - Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when - there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control plane - instance to be deployed on the joining node. If nil, no additional - control plane instance will be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint of the - API server instance to be deployed on this node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address for - the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the API - Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object type: object discovery: - description: 'Discovery specifies the options for the kubelet - to use during the TLS Bootstrap process TODO: revisit when there - is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the options for - bootstrap token based discovery BootstrapToken and File - are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or domain name - to the API server from which info will be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set of public key - pins to verify when token-based discovery is used. The - root CA found during discovery must match one of these - values. Specifying an empty set disables root CA pinning, - which can be unsafe. Each hash is specified as ":", - where the only currently supported type is "sha256". - This is a hex-encoded SHA-256 hash of the Subject Public - Key Info (SPKI) object in DER-encoded ASN.1. These hashes - can be calculated using, for example, OpenSSL: openssl - x509 -pubkey -in ca.crt openssl rsa -pubin -outform - der 2>&/dev/null | openssl dgst -sha256 -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate cluster - information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since other - nodes can impersonate the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token type: object file: - description: File is used to specify a file or URL to a kubeconfig - file from which to load cluster information BootstrapToken - and File are mutually exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify the actual - file path or URL to the kubeconfig file from which to - load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -2797,85 +1979,48 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: TLSBootstrapToken is a token used for TLS bootstrapping. - If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, - but can be overridden. If .File is set, this field **must - be set** in case the KubeConfigFile does not contain any - other authentication information + description: TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information type: string type: object kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate to registering - the new control-plane node to the cluster. When used in the - context of control plane nodes, NodeRegistration should remain - consistent across both InitConfiguration and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node API - object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice of pre-flight - errors to be ignored when the current node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the kubelet - command line via the environment file kubeadm writes at - runtime for the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X ConfigMap - Flags have higher priority when parsing. These values are - local and specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the Node - API object that will be created in this `kubeadm init` or - `kubeadm join` operation. This field is also used in the - CommonName field of the kubelet's client certificate to - the API server. Defaults to the hostname of the node if - not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API object - should be registered with. If this field is unset, i.e. - nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. If - you don''t want to taint your control-plane node, set this - field to an empty slice, i.e. `taints: []` in the YAML file. - This field is solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: []` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has the - "effect" on any pod that does not tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on pods - that do not tolerate the taint. Valid effects are - NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied to - a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the taint - key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -2884,31 +2029,14 @@ spec: type: array type: object patches: - description: Patches contains options related to applying patches - to components deployed by kubeadm during "kubeadm join". The - minimum kubernetes version needed to support Patches is v1.22 + description: Patches contains options related to applying patches to components deployed by kubeadm during "kubeadm join". The minimum kubernetes version needed to support Patches is v1.22 properties: directory: - description: Directory is a path to a directory that contains - files named "target[suffix][+patchtype].extension". For - example, "kube-apiserver0+merge.yaml" or just "etcd.json". - "target" can be one of "kube-apiserver", "kube-controller-manager", - "kube-scheduler", "etcd". "patchtype" can be one of "strategic" - "merge" or "json" and they match the patch formats supported - by kubectl. The default "patchtype" is "strategic". "extension" - must be either "json" or "yaml". "suffix" is an optional - string that can be used to determine which patches are applied - first alpha-numerically. These files can be written into - the target directory via KubeadmConfig.Files which specifies - additional files to be created on the machine, either with - content inline or by referencing a secret. + description: Directory is a path to a directory that contains files named "target[suffix][+patchtype].extension". For example, "kube-apiserver0+merge.yaml" or just "etcd.json". "target" can be one of "kube-apiserver", "kube-controller-manager", "kube-scheduler", "etcd". "patchtype" can be one of "strategic" "merge" or "json" and they match the patch formats supported by kubectl. The default "patchtype" is "strategic". "extension" must be either "json" or "yaml". "suffix" is an optional string that can be used to determine which patches are applied first alpha-numerically. These files can be written into the target directory via KubeadmConfig.Files which specifies additional files to be created on the machine, either with content inline or by referencing a secret. type: string type: object skipPhases: - description: SkipPhases is a list of phases to skip during command - execution. The list of phases can be obtained with the "kubeadm - init --help" command. This option takes effect only on Kubernetes - >=1.22.0. + description: SkipPhases is a list of phases to skip during command execution. The list of phases can be obtained with the "kubeadm init --help" command. This option takes effect only on Kubernetes >=1.22.0. items: type: string type: array @@ -2934,27 +2062,17 @@ spec: type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands to run after - kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands to run before - kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic kubeadm command - with a shell script with retries for joins. \n This is meant to - be an experimental temporary workaround on some environments where - joins fail due to timing (and other issues). The long term goal - is to add retries to kubeadm proper and use that functionality. - \n This will add about 40KB to userdata \n For more information, - refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055. - Deprecated: This experimental fix is no longer needed and this field - will be removed in a future release." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055. Deprecated: This experimental fix is no longer needed and this field will be removed in a future release." type: boolean users: description: Users specifies extra users to add @@ -2965,20 +2083,16 @@ spec: description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups for the - user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory to use for - the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark the user as - inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password login should - be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name @@ -2987,20 +2101,16 @@ spec: description: Passwd specifies a hashed password for the user type: string passwdFrom: - description: PasswdFrom is a referenced source of passwd to - populate the passwd. + description: PasswdFrom is a referenced source of passwd to populate the passwd. properties: secret: - description: Secret represents a secret that should populate - this password. + description: Secret represents a secret that should populate this password. properties: key: - description: Key is the key in the secret's data map - for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -3010,15 +2120,13 @@ spec: - secret type: object primaryGroup: - description: PrimaryGroup specifies the primary group for the - user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list of ssh authorized - keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array @@ -3030,8 +2138,7 @@ spec: type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log level verbosity. - It overrides the `--v` flag in kubeadm commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object @@ -3041,41 +2148,26 @@ spec: conditions: description: Conditions defines current service state of the KubeadmConfig. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -3084,8 +2176,7 @@ spec: type: object type: array dataSecretName: - description: DataSecretName is the name of the secret that stores - the bootstrap data script. + description: DataSecretName is the name of the secret that stores the bootstrap data script. type: string failureMessage: description: FailureMessage will be set on non-retryable errors @@ -3094,13 +2185,11 @@ spec: description: FailureReason will be set on non-retryable errors type: string observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + description: ObservedGeneration is the latest generation observed by the controller. format: int64 type: integer ready: - description: Ready indicates the BootstrapData field is ready to be - consumed + description: Ready indicates the BootstrapData field is ready to be consumed type: boolean type: object type: object @@ -3147,18 +2236,13 @@ spec: - name: v1alpha3 schema: openAPIV3Schema: - description: KubeadmConfigTemplate is the Schema for the kubeadmconfigtemplates - API. + description: KubeadmConfigTemplate is the Schema for the kubeadmconfigtemplates API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -3169,57 +2253,43 @@ spec: description: KubeadmConfigTemplateResource defines the Template structure. properties: spec: - description: KubeadmConfigSpec defines the desired state of KubeadmConfig. - Either ClusterConfiguration and InitConfiguration should be - defined or the JoinConfiguration should be defined. + description: KubeadmConfigSpec defines the desired state of KubeadmConfig. Either ClusterConfiguration and InitConfiguration should be defined or the JoinConfiguration should be defined. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration - are the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for the - API server control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative - Names for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This - is temporary and ideally we would like to switch - all components to use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host - that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the - pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the pod - template. + description: Name of the volume inside the pod template. type: string pathType: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -3228,78 +2298,48 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the timeout - that we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal value, - and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store - or look for all required certificates. NB: if not provided, - this will default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP address - or DNS name for the control plane; it can be a valid - IP address or a RFC-1123 DNS subdomain, both with optional - TCP port. In case the ControlPlaneEndpoint is not specified, - the AdvertiseAddress + BindPort are used; in case the - ControlPlaneEndpoint is specified but without a TCP - port, the BindPort is used. Possible usages are: e.g. - In a cluster with more than one control plane instances, - this field should be assigned the address of the external - load balancer in front of the control plane instances. - e.g. in environments with enforced node recycling, - the ControlPlaneEndpoint could be used for assigning - a stable DNS to the control plane. NB: This value defaults - to the first value in the Cluster object status.apiEndpoints - array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings - for the controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This - is temporary and ideally we would like to switch - all components to use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host - that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the - pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the pod - template. + description: Name of the volume inside the pod template. type: string pathType: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -3309,53 +2349,37 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on - installed in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for - the image. In case this value is set, kubeadm does - not change automatically the version of the above - components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: description: Type defines the DNS add-on to be used type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: This - value defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect to - an external etcd cluster Local and External are - mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate Authority - file used to secure etcd communication. Required - if using a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification - file used to secure etcd communication. Required - if using a TLS connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: - description: Endpoints of etcd members. Required - for ExternalEtcd. + description: Endpoints of etcd members. Required for ExternalEtcd. items: type: string type: array keyFile: - description: KeyFile is an SSL key file used to - secure etcd communication. Required if using - a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -3364,43 +2388,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs for - configuring the local etcd instance Local and External - are mutually exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd will - place its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments provided - to the etcd binary when run inside a static - pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container - registry to pull images from. if not set, the - ImageRepository defined in ClusterConfiguration - will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag - for the image. In case this value is set, kubeadm - does not change automatically the version of - the above components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject - Alternative Names for the etcd server signing - cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -3412,85 +2422,54 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. If empty, `k8s.gcr.io` will be - used by default; in case of kubernetes version is a - CI build (kubernetes version starts with `ci/` or `ci-cross/`) - `gcr.io/k8s-staging-ci-images` will be used as a default - for control plane components and for kube-proxy, while - `k8s.gcr.io` will be used for all the other images. + description: ImageRepository sets the container registry to pull images from. If empty, `k8s.gcr.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `k8s.gcr.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing the - REST resource this object represents. Servers may infer - this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version - of the control plane. NB: This value defaults to the - Machine object spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to - the Cluster object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used by k8s - services. Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. - If unset, the API server will not allocate CIDR - ranges for every node. Defaults to a comma-delimited - string of the Cluster object's spec.clusterNetwork.services.cidrBlocks - if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used by k8s - services. Defaults to a comma-delimited string of - the Cluster object's spec.clusterNetwork.pods.cidrBlocks, - or to "10.96.0.0/12" if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for the - scheduler control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This - is temporary and ideally we would like to switch - all components to use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host - that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the - pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the pod - template. + description: Name of the volume inside the pod template. type: string pathType: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -3500,57 +2479,39 @@ spec: type: array type: object useHyperKubeImage: - description: UseHyperKubeImage controls if hyperkube should - be used for Kubernetes components instead of their respective - separate images + description: UseHyperKubeImage controls if hyperkube should be used for Kubernetes components instead of their respective separate images type: boolean type: object diskSetup: - description: DiskSetup specifies options for the creation - of partition tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file systems - to setup. + description: Filesystems specifies the list of file systems to setup. items: - description: Filesystem defines the file systems to - be created. + description: Filesystem defines the file systems to be created. properties: device: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options to - add to the command for creating the file system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array filesystem: - description: Filesystem specifies the file system - type. + description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system label - to be used. If set to None, no label is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not to - overwrite any existing filesystem. If true, any - pre-existing file system will be destroyed. Use - with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition - to use. The valid options are: "auto|any", "auto", - "any", "none", and , where NUM is the actual - partition number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, - used for Microsoft Azure that instructs cloud-init - to replace a file system of . NOTE: unless - you define a label, this requires the use of the - ''any'' partition directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -3559,32 +2520,21 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the partitions - to setup. + description: Partitions specifies the list of the partitions to setup. items: - description: Partition defines how to create and layout - a partition. + description: Partition defines how to create and layout a partition. properties: device: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. - If it is true, a single partition will be created - for the entire device. When layout is false, it - means don't partition or ignore existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to skip - checks and create the partition if a partition - or filesystem is found on the device. Use with - caution. Default is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of partition - table. The following are supported: ''mbr'': default - and setups a MS-DOS partition table ''gpt'': setups - a GPT partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -3593,30 +2543,24 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed to user_data - upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files - in cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: content: description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source of content - to populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that should - populate this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's - data map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -3626,88 +2570,61 @@ spec: - secret type: object encoding: - description: Encoding specifies the encoding of the - file contents. + description: Encoding specifies the encoding of the file contents. enum: - base64 - gzip - gzip+base64 type: string owner: - description: Owner specifies the ownership of the file, - e.g. "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk where - to store the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions to - assign to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path type: object type: array format: - description: Format specifies the output format of the bootstrap - data + description: Format specifies the output format of the bootstrap data enum: - cloud-config type: string initConfiguration: - description: InitConfiguration along with ClusterConfiguration - are the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal value, - and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm - init` time and describes a set of Bootstrap Tokens to - create. This information IS NOT uploaded to the kubeadm - cluster configmap, partly because of its sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap - token, stored as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly message - why this token exists and what it's used for, - so other administrators can know its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp when - this token expires. Defaults to being set dynamically - at runtime based on the TTL. Expires and TTL are - mutually exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups that - this token will authenticate as when/if used for - authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing bidirectional - trust between nodes and control-planes. Used for - joining nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for this - token. Defaults to 24h. Expires and TTL are mutually - exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which - this token can be used. Can by default be used - for establishing bidirectional trust, but that - can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -3716,31 +2633,16 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing the - REST resource this object represents. Servers may infer - this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance that's deployed on this control - plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global - endpoint for the cluster, which then loadbalances the - requests to each individual API server. This configuration - object lets you customize what IP/DNS name and port - the local API server advertises it's accessible on. - By default, kubeadm tries to auto-detect the IP of the - default interface and use that, but in case that process - fails you may set the desired value here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the - API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer required: @@ -3748,70 +2650,36 @@ spec: - bindPort type: object nodeRegistration: - description: NodeRegistration holds fields that relate - to registering the new control-plane node to the cluster. - When used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration - and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here are - passed to the kubelet command line via the environment - file kubeadm writes at runtime for the kubelet to - source. This overrides the generic base-level configuration - in the kubelet-config-1.X ConfigMap Flags have higher - priority when parsing. These values are local and - specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of - the Node API object that will be created in this - `kubeadm init` or `kubeadm join` operation. This - field is also used in the CommonName field of the - kubelet's client certificate to the API server. - Defaults to the hostname of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node - API object should be registered with. If this field - is unset, i.e. nil, in the `kubeadm init` process - it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: - {}` in the YAML file. This field is solely used - for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to - has the "effect" on any pod that does not tolerate - the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint - on pods that do not tolerate the taint. Valid - effects are NoSchedule, PreferNoSchedule and - NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at - which the taint was added. It is only written - for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to - the taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -3821,38 +2689,25 @@ spec: type: object type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration - for the join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal value, - and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate - authority used to secure comunications between node - and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". - TODO: revisit when there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control - plane instance to be deployed on the joining node. If - nil, no additional control plane instance will be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance to be deployed on this - node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for - the API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer required: @@ -3861,61 +2716,34 @@ spec: type: object type: object discovery: - description: 'Discovery specifies the options for the - kubelet to use during the TLS Bootstrap process TODO: - revisit when there is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the options - for bootstrap token based discovery BootstrapToken - and File are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or domain - name to the API server from which info will - be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set of - public key pins to verify when token-based discovery - is used. The root CA found during discovery - must match one of these values. Specifying an - empty set disables root CA pinning, which can - be unsafe. Each hash is specified as ":", - where the only currently supported type is "sha256". - This is a hex-encoded SHA-256 hash of the Subject - Public Key Info (SPKI) object in DER-encoded - ASN.1. These hashes can be calculated using, - for example, OpenSSL: openssl x509 -pubkey -in - ca.crt openssl rsa -pubin -outform der 2>&/dev/null - | openssl dgst -sha256 -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate - cluster information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since - other nodes can impersonate the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token - unsafeSkipCAVerification type: object file: - description: File is used to specify a file or URL - to a kubeconfig file from which to load cluster - information BootstrapToken and File are mutually - exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify - the actual file path or URL to the kubeconfig - file from which to load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -3924,86 +2752,43 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: 'TLSBootstrapToken is a token used for - TLS bootstrapping. If .BootstrapToken is set, this - field is defaulted to .BootstrapToken.Token, but - can be overridden. If .File is set, this field **must - be set** in case the KubeConfigFile does not contain - any other authentication information TODO: revisit - when there is defaulting from k/k' + description: 'TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information TODO: revisit when there is defaulting from k/k' type: string type: object kind: - description: 'Kind is a string value representing the - REST resource this object represents. Servers may infer - this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate - to registering the new control-plane node to the cluster. - When used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration - and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here are - passed to the kubelet command line via the environment - file kubeadm writes at runtime for the kubelet to - source. This overrides the generic base-level configuration - in the kubelet-config-1.X ConfigMap Flags have higher - priority when parsing. These values are local and - specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of - the Node API object that will be created in this - `kubeadm init` or `kubeadm join` operation. This - field is also used in the CommonName field of the - kubelet's client certificate to the API server. - Defaults to the hostname of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node - API object should be registered with. If this field - is unset, i.e. nil, in the `kubeadm init` process - it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: - {}` in the YAML file. This field is solely used - for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to - has the "effect" on any pod that does not tolerate - the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint - on pods that do not tolerate the taint. Valid - effects are NoSchedule, PreferNoSchedule and - NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at - which the taint was added. It is only written - for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to - the taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -4013,11 +2798,9 @@ spec: type: object type: object mounts: - description: Mounts specifies a list of mount points to be - setup. + description: Mounts specifies a list of mount points to be setup. items: - description: MountPoints defines input for generated mounts - in cloud-init. + description: MountPoints defines input for generated mounts in cloud-init. items: type: string type: array @@ -4035,69 +2818,52 @@ spec: type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands - to run after kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands to - run before kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic kubeadm - command with a shell script with retries for joins. \n This - is meant to be an experimental temporary workaround on some - environments where joins fail due to timing (and other issues). - The long term goal is to add retries to kubeadm proper and - use that functionality. \n This will add about 40KB to userdata - \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." type: boolean users: description: Users specifies extra users to add items: - description: User defines the input for a generated user - in cloud-init. + description: User defines the input for a generated user in cloud-init. properties: gecos: - description: Gecos specifies the gecos to use for the - user + description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups - for the user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory to - use for the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark the - user as inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password login - should be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name type: string passwd: - description: Passwd specifies a hashed password for - the user + description: Passwd specifies a hashed password for the user type: string primaryGroup: - description: PrimaryGroup specifies the primary group - for the user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list of ssh - authorized keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array @@ -4109,8 +2875,7 @@ spec: type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log level - verbosity. It overrides the `--v` flag in kubeadm commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object @@ -4129,18 +2894,13 @@ spec: name: v1alpha4 schema: openAPIV3Schema: - description: KubeadmConfigTemplate is the Schema for the kubeadmconfigtemplates - API. + description: KubeadmConfigTemplate is the Schema for the kubeadmconfigtemplates API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -4151,57 +2911,43 @@ spec: description: KubeadmConfigTemplateResource defines the Template structure. properties: spec: - description: KubeadmConfigSpec defines the desired state of KubeadmConfig. - Either ClusterConfiguration and InitConfiguration should be - defined or the JoinConfiguration should be defined. + description: KubeadmConfigSpec defines the desired state of KubeadmConfig. Either ClusterConfiguration and InitConfiguration should be defined or the JoinConfiguration should be defined. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration - are the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for the - API server control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative - Names for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This - is temporary and ideally we would like to switch - all components to use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host - that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the - pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the pod - template. + description: Name of the volume inside the pod template. type: string pathType: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -4210,78 +2956,48 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the timeout - that we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal value, - and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store - or look for all required certificates. NB: if not provided, - this will default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP address - or DNS name for the control plane; it can be a valid - IP address or a RFC-1123 DNS subdomain, both with optional - TCP port. In case the ControlPlaneEndpoint is not specified, - the AdvertiseAddress + BindPort are used; in case the - ControlPlaneEndpoint is specified but without a TCP - port, the BindPort is used. Possible usages are: e.g. - In a cluster with more than one control plane instances, - this field should be assigned the address of the external - load balancer in front of the control plane instances. - e.g. in environments with enforced node recycling, - the ControlPlaneEndpoint could be used for assigning - a stable DNS to the control plane. NB: This value defaults - to the first value in the Cluster object status.apiEndpoints - array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings - for the controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This - is temporary and ideally we would like to switch - all components to use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host - that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the - pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the pod - template. + description: Name of the volume inside the pod template. type: string pathType: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -4291,50 +3007,34 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on - installed in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for - the image. In case this value is set, kubeadm does - not change automatically the version of the above - components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: This - value defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect to - an external etcd cluster Local and External are - mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate Authority - file used to secure etcd communication. Required - if using a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification - file used to secure etcd communication. Required - if using a TLS connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: - description: Endpoints of etcd members. Required - for ExternalEtcd. + description: Endpoints of etcd members. Required for ExternalEtcd. items: type: string type: array keyFile: - description: KeyFile is an SSL key file used to - secure etcd communication. Required if using - a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -4343,43 +3043,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs for - configuring the local etcd instance Local and External - are mutually exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd will - place its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments provided - to the etcd binary when run inside a static - pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container - registry to pull images from. if not set, the - ImageRepository defined in ClusterConfiguration - will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag - for the image. In case this value is set, kubeadm - does not change automatically the version of - the above components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject - Alternative Names for the etcd server signing - cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -4391,86 +3077,54 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. If empty, `registry.k8s.io` will - be used by default; in case of kubernetes version is - a CI build (kubernetes version starts with `ci/` or - `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be - used as a default for control plane components and for - kube-proxy, while `registry.k8s.io` will be used for - all the other images. + description: ImageRepository sets the container registry to pull images from. If empty, `registry.k8s.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `registry.k8s.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing the - REST resource this object represents. Servers may infer - this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version - of the control plane. NB: This value defaults to the - Machine object spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to - the Cluster object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used by k8s - services. Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. - If unset, the API server will not allocate CIDR - ranges for every node. Defaults to a comma-delimited - string of the Cluster object's spec.clusterNetwork.services.cidrBlocks - if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used by k8s - services. Defaults to a comma-delimited string of - the Cluster object's spec.clusterNetwork.pods.cidrBlocks, - or to "10.96.0.0/12" if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for the - scheduler control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This - is temporary and ideally we would like to switch - all components to use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host - that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the - pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the pod - template. + description: Name of the volume inside the pod template. type: string pathType: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -4481,51 +3135,35 @@ spec: type: object type: object diskSetup: - description: DiskSetup specifies options for the creation - of partition tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file systems - to setup. + description: Filesystems specifies the list of file systems to setup. items: - description: Filesystem defines the file systems to - be created. + description: Filesystem defines the file systems to be created. properties: device: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options to - add to the command for creating the file system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array filesystem: - description: Filesystem specifies the file system - type. + description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system label - to be used. If set to None, no label is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not to - overwrite any existing filesystem. If true, any - pre-existing file system will be destroyed. Use - with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition - to use. The valid options are: "auto|any", "auto", - "any", "none", and , where NUM is the actual - partition number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, - used for Microsoft Azure that instructs cloud-init - to replace a file system of . NOTE: unless - you define a label, this requires the use of the - ''any'' partition directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -4534,32 +3172,21 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the partitions - to setup. + description: Partitions specifies the list of the partitions to setup. items: - description: Partition defines how to create and layout - a partition. + description: Partition defines how to create and layout a partition. properties: device: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. - If it is true, a single partition will be created - for the entire device. When layout is false, it - means don't partition or ignore existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to skip - checks and create the partition if a partition - or filesystem is found on the device. Use with - caution. Default is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of partition - table. The following are supported: ''mbr'': default - and setups a MS-DOS partition table ''gpt'': setups - a GPT partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -4568,30 +3195,24 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed to user_data - upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files - in cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: content: description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source of content - to populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that should - populate this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's - data map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -4601,88 +3222,61 @@ spec: - secret type: object encoding: - description: Encoding specifies the encoding of the - file contents. + description: Encoding specifies the encoding of the file contents. enum: - base64 - gzip - gzip+base64 type: string owner: - description: Owner specifies the ownership of the file, - e.g. "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk where - to store the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions to - assign to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path type: object type: array format: - description: Format specifies the output format of the bootstrap - data + description: Format specifies the output format of the bootstrap data enum: - cloud-config type: string initConfiguration: - description: InitConfiguration along with ClusterConfiguration - are the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal value, - and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm - init` time and describes a set of Bootstrap Tokens to - create. This information IS NOT uploaded to the kubeadm - cluster configmap, partly because of its sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap - token, stored as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly message - why this token exists and what it's used for, - so other administrators can know its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp when - this token expires. Defaults to being set dynamically - at runtime based on the TTL. Expires and TTL are - mutually exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups that - this token will authenticate as when/if used for - authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing bidirectional - trust between nodes and control-planes. Used for - joining nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for this - token. Defaults to 24h. Expires and TTL are mutually - exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which - this token can be used. Can by default be used - for establishing bidirectional trust, but that - can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -4691,106 +3285,55 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing the - REST resource this object represents. Servers may infer - this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance that's deployed on this control - plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global - endpoint for the cluster, which then loadbalances the - requests to each individual API server. This configuration - object lets you customize what IP/DNS name and port - the local API server advertises it's accessible on. - By default, kubeadm tries to auto-detect the IP of the - default interface and use that, but in case that process - fails you may set the desired value here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the - API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object nodeRegistration: - description: NodeRegistration holds fields that relate - to registering the new control-plane node to the cluster. - When used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration - and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice - of pre-flight errors to be ignored when the current - node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here are - passed to the kubelet command line via the environment - file kubeadm writes at runtime for the kubelet to - source. This overrides the generic base-level configuration - in the kubelet-config-1.X ConfigMap Flags have higher - priority when parsing. These values are local and - specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of - the Node API object that will be created in this - `kubeadm init` or `kubeadm join` operation. This - field is also used in the CommonName field of the - kubelet's client certificate to the API server. - Defaults to the hostname of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node - API object should be registered with. If this field - is unset, i.e. nil, in the `kubeadm init` process - it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: - {}` in the YAML file. This field is solely used - for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to - has the "effect" on any pod that does not tolerate - the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint - on pods that do not tolerate the taint. Valid - effects are NoSchedule, PreferNoSchedule and - NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at - which the taint was added. It is only written - for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to - the taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -4800,97 +3343,57 @@ spec: type: object type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration - for the join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal value, - and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate - authority used to secure comunications between node - and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". - TODO: revisit when there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control - plane instance to be deployed on the joining node. If - nil, no additional control plane instance will be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance to be deployed on this - node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for - the API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object type: object discovery: - description: 'Discovery specifies the options for the - kubelet to use during the TLS Bootstrap process TODO: - revisit when there is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the options - for bootstrap token based discovery BootstrapToken - and File are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or domain - name to the API server from which info will - be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set of - public key pins to verify when token-based discovery - is used. The root CA found during discovery - must match one of these values. Specifying an - empty set disables root CA pinning, which can - be unsafe. Each hash is specified as ":", - where the only currently supported type is "sha256". - This is a hex-encoded SHA-256 hash of the Subject - Public Key Info (SPKI) object in DER-encoded - ASN.1. These hashes can be calculated using, - for example, OpenSSL: openssl x509 -pubkey -in - ca.crt openssl rsa -pubin -outform der 2>&/dev/null - | openssl dgst -sha256 -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate - cluster information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since - other nodes can impersonate the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token type: object file: - description: File is used to specify a file or URL - to a kubeconfig file from which to load cluster - information BootstrapToken and File are mutually - exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify - the actual file path or URL to the kubeconfig - file from which to load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -4899,92 +3402,48 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: TLSBootstrapToken is a token used for - TLS bootstrapping. If .BootstrapToken is set, this - field is defaulted to .BootstrapToken.Token, but - can be overridden. If .File is set, this field **must - be set** in case the KubeConfigFile does not contain - any other authentication information + description: TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information type: string type: object kind: - description: 'Kind is a string value representing the - REST resource this object represents. Servers may infer - this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate - to registering the new control-plane node to the cluster. - When used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration - and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice - of pre-flight errors to be ignored when the current - node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here are - passed to the kubelet command line via the environment - file kubeadm writes at runtime for the kubelet to - source. This overrides the generic base-level configuration - in the kubelet-config-1.X ConfigMap Flags have higher - priority when parsing. These values are local and - specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of - the Node API object that will be created in this - `kubeadm init` or `kubeadm join` operation. This - field is also used in the CommonName field of the - kubelet's client certificate to the API server. - Defaults to the hostname of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node - API object should be registered with. If this field - is unset, i.e. nil, in the `kubeadm init` process - it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: - {}` in the YAML file. This field is solely used - for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to - has the "effect" on any pod that does not tolerate - the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint - on pods that do not tolerate the taint. Valid - effects are NoSchedule, PreferNoSchedule and - NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at - which the taint was added. It is only written - for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to - the taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -4994,11 +3453,9 @@ spec: type: object type: object mounts: - description: Mounts specifies a list of mount points to be - setup. + description: Mounts specifies a list of mount points to be setup. items: - description: MountPoints defines input for generated mounts - in cloud-init. + description: MountPoints defines input for generated mounts in cloud-init. items: type: string type: array @@ -5016,69 +3473,52 @@ spec: type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands - to run after kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands to - run before kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic kubeadm - command with a shell script with retries for joins. \n This - is meant to be an experimental temporary workaround on some - environments where joins fail due to timing (and other issues). - The long term goal is to add retries to kubeadm proper and - use that functionality. \n This will add about 40KB to userdata - \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." type: boolean users: description: Users specifies extra users to add items: - description: User defines the input for a generated user - in cloud-init. + description: User defines the input for a generated user in cloud-init. properties: gecos: - description: Gecos specifies the gecos to use for the - user + description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups - for the user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory to - use for the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark the - user as inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password login - should be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name type: string passwd: - description: Passwd specifies a hashed password for - the user + description: Passwd specifies a hashed password for the user type: string primaryGroup: - description: PrimaryGroup specifies the primary group - for the user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list of ssh - authorized keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array @@ -5090,8 +3530,7 @@ spec: type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log level - verbosity. It overrides the `--v` flag in kubeadm commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object @@ -5111,18 +3550,13 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: KubeadmConfigTemplate is the Schema for the kubeadmconfigtemplates - API. + description: KubeadmConfigTemplate is the Schema for the kubeadmconfigtemplates API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -5133,57 +3567,43 @@ spec: description: KubeadmConfigTemplateResource defines the Template structure. properties: spec: - description: KubeadmConfigSpec defines the desired state of KubeadmConfig. - Either ClusterConfiguration and InitConfiguration should be - defined or the JoinConfiguration should be defined. + description: KubeadmConfigSpec defines the desired state of KubeadmConfig. Either ClusterConfiguration and InitConfiguration should be defined or the JoinConfiguration should be defined. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration - are the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for the - API server control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative - Names for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This - is temporary and ideally we would like to switch - all components to use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host - that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the - pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the pod - template. + description: Name of the volume inside the pod template. type: string pathType: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -5192,78 +3612,48 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the timeout - that we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal value, - and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store - or look for all required certificates. NB: if not provided, - this will default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP address - or DNS name for the control plane; it can be a valid - IP address or a RFC-1123 DNS subdomain, both with optional - TCP port. In case the ControlPlaneEndpoint is not specified, - the AdvertiseAddress + BindPort are used; in case the - ControlPlaneEndpoint is specified but without a TCP - port, the BindPort is used. Possible usages are: e.g. - In a cluster with more than one control plane instances, - this field should be assigned the address of the external - load balancer in front of the control plane instances. - e.g. in environments with enforced node recycling, - the ControlPlaneEndpoint could be used for assigning - a stable DNS to the control plane. NB: This value defaults - to the first value in the Cluster object status.apiEndpoints - array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings - for the controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This - is temporary and ideally we would like to switch - all components to use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host - that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the - pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the pod - template. + description: Name of the volume inside the pod template. type: string pathType: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -5273,50 +3663,34 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on - installed in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for - the image. In case this value is set, kubeadm does - not change automatically the version of the above - components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: This - value defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect to - an external etcd cluster Local and External are - mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate Authority - file used to secure etcd communication. Required - if using a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification - file used to secure etcd communication. Required - if using a TLS connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: - description: Endpoints of etcd members. Required - for ExternalEtcd. + description: Endpoints of etcd members. Required for ExternalEtcd. items: type: string type: array keyFile: - description: KeyFile is an SSL key file used to - secure etcd communication. Required if using - a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -5325,43 +3699,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs for - configuring the local etcd instance Local and External - are mutually exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd will - place its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments provided - to the etcd binary when run inside a static - pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container - registry to pull images from. if not set, the - ImageRepository defined in ClusterConfiguration - will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag - for the image. In case this value is set, kubeadm - does not change automatically the version of - the above components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject - Alternative Names for the etcd server signing - cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -5373,86 +3733,54 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. If empty, `registry.k8s.io` will - be used by default; in case of kubernetes version is - a CI build (kubernetes version starts with `ci/` or - `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be - used as a default for control plane components and for - kube-proxy, while `registry.k8s.io` will be used for - all the other images. + description: ImageRepository sets the container registry to pull images from. If empty, `registry.k8s.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `registry.k8s.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing the - REST resource this object represents. Servers may infer - this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version - of the control plane. NB: This value defaults to the - Machine object spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to - the Cluster object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used by k8s - services. Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. - If unset, the API server will not allocate CIDR - ranges for every node. Defaults to a comma-delimited - string of the Cluster object's spec.clusterNetwork.services.cidrBlocks - if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used by k8s - services. Defaults to a comma-delimited string of - the Cluster object's spec.clusterNetwork.pods.cidrBlocks, - or to "10.96.0.0/12" if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for the - scheduler control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This - is temporary and ideally we would like to switch - all components to use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host - that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the - pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the pod - template. + description: Name of the volume inside the pod template. type: string pathType: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -5463,51 +3791,35 @@ spec: type: object type: object diskSetup: - description: DiskSetup specifies options for the creation - of partition tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file systems - to setup. + description: Filesystems specifies the list of file systems to setup. items: - description: Filesystem defines the file systems to - be created. + description: Filesystem defines the file systems to be created. properties: device: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options to - add to the command for creating the file system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array filesystem: - description: Filesystem specifies the file system - type. + description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system label - to be used. If set to None, no label is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not to - overwrite any existing filesystem. If true, any - pre-existing file system will be destroyed. Use - with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition - to use. The valid options are: "auto|any", "auto", - "any", "none", and , where NUM is the actual - partition number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, - used for Microsoft Azure that instructs cloud-init - to replace a file system of . NOTE: unless - you define a label, this requires the use of the - ''any'' partition directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -5516,32 +3828,21 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the partitions - to setup. + description: Partitions specifies the list of the partitions to setup. items: - description: Partition defines how to create and layout - a partition. + description: Partition defines how to create and layout a partition. properties: device: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. - If it is true, a single partition will be created - for the entire device. When layout is false, it - means don't partition or ignore existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to skip - checks and create the partition if a partition - or filesystem is found on the device. Use with - caution. Default is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of partition - table. The following are supported: ''mbr'': default - and setups a MS-DOS partition table ''gpt'': setups - a GPT partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -5550,34 +3851,27 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed to user_data - upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files - in cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: append: - description: Append specifies whether to append Content - to existing file if Path exists. + description: Append specifies whether to append Content to existing file if Path exists. type: boolean content: description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source of content - to populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that should - populate this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's - data map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -5587,32 +3881,27 @@ spec: - secret type: object encoding: - description: Encoding specifies the encoding of the - file contents. + description: Encoding specifies the encoding of the file contents. enum: - base64 - gzip - gzip+base64 type: string owner: - description: Owner specifies the ownership of the file, - e.g. "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk where - to store the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions to - assign to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path type: object type: array format: - description: Format specifies the output format of the bootstrap - data + description: Format specifies the output format of the bootstrap data enum: - cloud-config - ignition @@ -5621,76 +3910,47 @@ spec: description: Ignition contains Ignition specific configuration. properties: containerLinuxConfig: - description: ContainerLinuxConfig contains CLC specific - configuration. + description: ContainerLinuxConfig contains CLC specific configuration. properties: additionalConfig: - description: "AdditionalConfig contains additional - configuration to be merged with the Ignition configuration - generated by the bootstrapper controller. More info: - https://coreos.github.io/ignition/operator-notes/#config-merging - \n The data format is documented here: https://kinvolk.io/docs/flatcar-container-linux/latest/provisioning/cl-config/" + description: "AdditionalConfig contains additional configuration to be merged with the Ignition configuration generated by the bootstrapper controller. More info: https://coreos.github.io/ignition/operator-notes/#config-merging \n The data format is documented here: https://kinvolk.io/docs/flatcar-container-linux/latest/provisioning/cl-config/" type: string strict: - description: Strict controls if AdditionalConfig should - be strictly parsed. If so, warnings are treated - as errors. + description: Strict controls if AdditionalConfig should be strictly parsed. If so, warnings are treated as errors. type: boolean type: object type: object initConfiguration: - description: InitConfiguration along with ClusterConfiguration - are the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal value, - and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm - init` time and describes a set of Bootstrap Tokens to - create. This information IS NOT uploaded to the kubeadm - cluster configmap, partly because of its sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap - token, stored as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly message - why this token exists and what it's used for, - so other administrators can know its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp when - this token expires. Defaults to being set dynamically - at runtime based on the TTL. Expires and TTL are - mutually exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups that - this token will authenticate as when/if used for - authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing bidirectional - trust between nodes and control-planes. Used for - joining nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for this - token. Defaults to 24h. Expires and TTL are mutually - exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which - this token can be used. Can by default be used - for establishing bidirectional trust, but that - can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -5699,106 +3959,55 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing the - REST resource this object represents. Servers may infer - this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance that's deployed on this control - plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global - endpoint for the cluster, which then loadbalances the - requests to each individual API server. This configuration - object lets you customize what IP/DNS name and port - the local API server advertises it's accessible on. - By default, kubeadm tries to auto-detect the IP of the - default interface and use that, but in case that process - fails you may set the desired value here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the - API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object nodeRegistration: - description: NodeRegistration holds fields that relate - to registering the new control-plane node to the cluster. - When used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration - and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice - of pre-flight errors to be ignored when the current - node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here are - passed to the kubelet command line via the environment - file kubeadm writes at runtime for the kubelet to - source. This overrides the generic base-level configuration - in the kubelet-config-1.X ConfigMap Flags have higher - priority when parsing. These values are local and - specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of - the Node API object that will be created in this - `kubeadm init` or `kubeadm join` operation. This - field is also used in the CommonName field of the - kubelet's client certificate to the API server. - Defaults to the hostname of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node - API object should be registered with. If this field - is unset, i.e. nil, in the `kubeadm init` process - it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: - []` in the YAML file. This field is solely used - for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: []` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to - has the "effect" on any pod that does not tolerate - the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint - on pods that do not tolerate the taint. Valid - effects are NoSchedule, PreferNoSchedule and - NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at - which the taint was added. It is only written - for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to - the taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -5807,130 +4016,70 @@ spec: type: array type: object patches: - description: Patches contains options related to applying - patches to components deployed by kubeadm during "kubeadm - init". The minimum kubernetes version needed to support - Patches is v1.22 + description: Patches contains options related to applying patches to components deployed by kubeadm during "kubeadm init". The minimum kubernetes version needed to support Patches is v1.22 properties: directory: - description: Directory is a path to a directory that - contains files named "target[suffix][+patchtype].extension". - For example, "kube-apiserver0+merge.yaml" or just - "etcd.json". "target" can be one of "kube-apiserver", - "kube-controller-manager", "kube-scheduler", "etcd". - "patchtype" can be one of "strategic" "merge" or - "json" and they match the patch formats supported - by kubectl. The default "patchtype" is "strategic". - "extension" must be either "json" or "yaml". "suffix" - is an optional string that can be used to determine - which patches are applied first alpha-numerically. - These files can be written into the target directory - via KubeadmConfig.Files which specifies additional - files to be created on the machine, either with - content inline or by referencing a secret. + description: Directory is a path to a directory that contains files named "target[suffix][+patchtype].extension". For example, "kube-apiserver0+merge.yaml" or just "etcd.json". "target" can be one of "kube-apiserver", "kube-controller-manager", "kube-scheduler", "etcd". "patchtype" can be one of "strategic" "merge" or "json" and they match the patch formats supported by kubectl. The default "patchtype" is "strategic". "extension" must be either "json" or "yaml". "suffix" is an optional string that can be used to determine which patches are applied first alpha-numerically. These files can be written into the target directory via KubeadmConfig.Files which specifies additional files to be created on the machine, either with content inline or by referencing a secret. type: string type: object skipPhases: - description: SkipPhases is a list of phases to skip during - command execution. The list of phases can be obtained - with the "kubeadm init --help" command. This option - takes effect only on Kubernetes >=1.22.0. + description: SkipPhases is a list of phases to skip during command execution. The list of phases can be obtained with the "kubeadm init --help" command. This option takes effect only on Kubernetes >=1.22.0. items: type: string type: array type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration - for the join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal value, - and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate - authority used to secure comunications between node - and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". - TODO: revisit when there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control - plane instance to be deployed on the joining node. If - nil, no additional control plane instance will be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance to be deployed on this - node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for - the API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object type: object discovery: - description: 'Discovery specifies the options for the - kubelet to use during the TLS Bootstrap process TODO: - revisit when there is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the options - for bootstrap token based discovery BootstrapToken - and File are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or domain - name to the API server from which info will - be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set of - public key pins to verify when token-based discovery - is used. The root CA found during discovery - must match one of these values. Specifying an - empty set disables root CA pinning, which can - be unsafe. Each hash is specified as ":", - where the only currently supported type is "sha256". - This is a hex-encoded SHA-256 hash of the Subject - Public Key Info (SPKI) object in DER-encoded - ASN.1. These hashes can be calculated using, - for example, OpenSSL: openssl x509 -pubkey -in - ca.crt openssl rsa -pubin -outform der 2>&/dev/null - | openssl dgst -sha256 -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate - cluster information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since - other nodes can impersonate the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token type: object file: - description: File is used to specify a file or URL - to a kubeconfig file from which to load cluster - information BootstrapToken and File are mutually - exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify - the actual file path or URL to the kubeconfig - file from which to load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -5939,92 +4088,48 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: TLSBootstrapToken is a token used for - TLS bootstrapping. If .BootstrapToken is set, this - field is defaulted to .BootstrapToken.Token, but - can be overridden. If .File is set, this field **must - be set** in case the KubeConfigFile does not contain - any other authentication information + description: TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information type: string type: object kind: - description: 'Kind is a string value representing the - REST resource this object represents. Servers may infer - this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate - to registering the new control-plane node to the cluster. - When used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration - and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice - of pre-flight errors to be ignored when the current - node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here are - passed to the kubelet command line via the environment - file kubeadm writes at runtime for the kubelet to - source. This overrides the generic base-level configuration - in the kubelet-config-1.X ConfigMap Flags have higher - priority when parsing. These values are local and - specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of - the Node API object that will be created in this - `kubeadm init` or `kubeadm join` operation. This - field is also used in the CommonName field of the - kubelet's client certificate to the API server. - Defaults to the hostname of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node - API object should be registered with. If this field - is unset, i.e. nil, in the `kubeadm init` process - it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: - []` in the YAML file. This field is solely used - for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: []` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to - has the "effect" on any pod that does not tolerate - the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint - on pods that do not tolerate the taint. Valid - effects are NoSchedule, PreferNoSchedule and - NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at - which the taint was added. It is only written - for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to - the taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -6033,44 +4138,22 @@ spec: type: array type: object patches: - description: Patches contains options related to applying - patches to components deployed by kubeadm during "kubeadm - join". The minimum kubernetes version needed to support - Patches is v1.22 + description: Patches contains options related to applying patches to components deployed by kubeadm during "kubeadm join". The minimum kubernetes version needed to support Patches is v1.22 properties: directory: - description: Directory is a path to a directory that - contains files named "target[suffix][+patchtype].extension". - For example, "kube-apiserver0+merge.yaml" or just - "etcd.json". "target" can be one of "kube-apiserver", - "kube-controller-manager", "kube-scheduler", "etcd". - "patchtype" can be one of "strategic" "merge" or - "json" and they match the patch formats supported - by kubectl. The default "patchtype" is "strategic". - "extension" must be either "json" or "yaml". "suffix" - is an optional string that can be used to determine - which patches are applied first alpha-numerically. - These files can be written into the target directory - via KubeadmConfig.Files which specifies additional - files to be created on the machine, either with - content inline or by referencing a secret. + description: Directory is a path to a directory that contains files named "target[suffix][+patchtype].extension". For example, "kube-apiserver0+merge.yaml" or just "etcd.json". "target" can be one of "kube-apiserver", "kube-controller-manager", "kube-scheduler", "etcd". "patchtype" can be one of "strategic" "merge" or "json" and they match the patch formats supported by kubectl. The default "patchtype" is "strategic". "extension" must be either "json" or "yaml". "suffix" is an optional string that can be used to determine which patches are applied first alpha-numerically. These files can be written into the target directory via KubeadmConfig.Files which specifies additional files to be created on the machine, either with content inline or by referencing a secret. type: string type: object skipPhases: - description: SkipPhases is a list of phases to skip during - command execution. The list of phases can be obtained - with the "kubeadm init --help" command. This option - takes effect only on Kubernetes >=1.22.0. + description: SkipPhases is a list of phases to skip during command execution. The list of phases can be obtained with the "kubeadm init --help" command. This option takes effect only on Kubernetes >=1.22.0. items: type: string type: array type: object mounts: - description: Mounts specifies a list of mount points to be - setup. + description: Mounts specifies a list of mount points to be setup. items: - description: MountPoints defines input for generated mounts - in cloud-init. + description: MountPoints defines input for generated mounts in cloud-init. items: type: string type: array @@ -6088,76 +4171,55 @@ spec: type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands - to run after kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands to - run before kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic kubeadm - command with a shell script with retries for joins. \n This - is meant to be an experimental temporary workaround on some - environments where joins fail due to timing (and other issues). - The long term goal is to add retries to kubeadm proper and - use that functionality. \n This will add about 40KB to userdata - \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055. - Deprecated: This experimental fix is no longer needed and - this field will be removed in a future release." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055. Deprecated: This experimental fix is no longer needed and this field will be removed in a future release." type: boolean users: description: Users specifies extra users to add items: - description: User defines the input for a generated user - in cloud-init. + description: User defines the input for a generated user in cloud-init. properties: gecos: - description: Gecos specifies the gecos to use for the - user + description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups - for the user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory to - use for the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark the - user as inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password login - should be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name type: string passwd: - description: Passwd specifies a hashed password for - the user + description: Passwd specifies a hashed password for the user type: string passwdFrom: - description: PasswdFrom is a referenced source of passwd - to populate the passwd. + description: PasswdFrom is a referenced source of passwd to populate the passwd. properties: secret: - description: Secret represents a secret that should - populate this password. + description: Secret represents a secret that should populate this password. properties: key: - description: Key is the key in the secret's - data map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -6167,15 +4229,13 @@ spec: - secret type: object primaryGroup: - description: PrimaryGroup specifies the primary group - for the user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list of ssh - authorized keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array @@ -6187,8 +4247,7 @@ spec: type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log level - verbosity. It overrides the `--v` flag in kubeadm commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object @@ -6355,8 +4414,8 @@ spec: - args: - --leader-elect - --metrics-bind-addr=localhost:8080 - # - --feature-gates=MachinePool=${EXP_MACHINE_POOL:=false},KubeadmBootstrapFormatIgnition=${EXP_KUBEADM_BOOTSTRAP_FORMAT_IGNITION:=false} - #- --bootstrap-token-ttl=${KUBEADM_BOOTSTRAP_TOKEN_TTL:=15m} + # - --feature-gates=MachinePool=${EXP_MACHINE_POOL:=false},KubeadmBootstrapFormatIgnition=${EXP_KUBEADM_BOOTSTRAP_FORMAT_IGNITION:=false} + #- --bootstrap-token-ttl=${KUBEADM_BOOTSTRAP_TOKEN_TTL:=15m} command: - /manager image: gcr.io/k8s-staging-cluster-api/kubeadm-bootstrap-controller:main diff --git a/Support/Multitenancy/capi_capm3-mult-instances/cluster-manifests/kubeadm.yaml b/Support/Multitenancy/capi_capm3-mult-instances/cluster-manifests/kubeadm.yaml index 33847e5d..3edf202f 100644 --- a/Support/Multitenancy/capi_capm3-mult-instances/cluster-manifests/kubeadm.yaml +++ b/Support/Multitenancy/capi_capm3-mult-instances/cluster-manifests/kubeadm.yaml @@ -44,8 +44,7 @@ spec: scope: Namespaced versions: - additionalPrinterColumns: - - description: This denotes whether or not the control plane has the uploaded - kubeadm-config configmap + - description: This denotes whether or not the control plane has the uploaded kubeadm-config configmap jsonPath: .status.initialized name: Initialized type: boolean @@ -57,8 +56,7 @@ spec: jsonPath: .spec.version name: Version type: string - - description: Total number of non-terminated machines targeted by this control - plane + - description: Total number of non-terminated machines targeted by this control plane jsonPath: .status.replicas name: Replicas type: integer @@ -66,8 +64,7 @@ spec: jsonPath: .status.readyReplicas name: Ready type: integer - - description: Total number of non-terminated machines targeted by this control - plane that have the desired template spec + - description: Total number of non-terminated machines targeted by this control plane that have the desired template spec jsonPath: .status.updatedReplicas name: Updated type: integer @@ -78,18 +75,13 @@ spec: name: v1alpha3 schema: openAPIV3Schema: - description: KubeadmControlPlane is the Schema for the KubeadmControlPlane - API. + description: KubeadmControlPlane is the Schema for the KubeadmControlPlane API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -97,24 +89,13 @@ spec: description: KubeadmControlPlaneSpec defines the desired state of KubeadmControlPlane. properties: infrastructureTemplate: - description: InfrastructureTemplate is a required reference to a custom - resource offered by an infrastructure provider. + description: InfrastructureTemplate 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.' + 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' @@ -126,8 +107,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -135,45 +115,34 @@ spec: type: object x-kubernetes-map-type: atomic kubeadmConfigSpec: - description: KubeadmConfigSpec is a KubeadmConfigSpec to use for initializing - and joining machines to the control plane. + description: KubeadmConfigSpec is a KubeadmConfigSpec to use for initializing and joining machines to the control plane. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration - are the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for the API - server control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative Names - for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass - to the control plane component. TODO: This is temporary - and ideally we would like to switch all components to - use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that - will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod - where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -182,8 +151,7 @@ spec: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to the - volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -192,66 +160,39 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the timeout - that we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store or - look for all required certificates. NB: if not provided, - this will default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP address - or DNS name for the control plane; it can be a valid IP - address or a RFC-1123 DNS subdomain, both with optional - TCP port. In case the ControlPlaneEndpoint is not specified, - the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint - is specified but without a TCP port, the BindPort is used. - Possible usages are: e.g. In a cluster with more than one - control plane instances, this field should be assigned the - address of the external load balancer in front of the control - plane instances. e.g. in environments with enforced node - recycling, the ControlPlaneEndpoint could be used for assigning - a stable DNS to the control plane. NB: This value defaults - to the first value in the Cluster object status.apiEndpoints - array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings for - the controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass - to the control plane component. TODO: This is temporary - and ideally we would like to switch all components to - use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that - will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod - where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -260,8 +201,7 @@ spec: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to the - volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -271,51 +211,37 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on installed - in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for the - image. In case this value is set, kubeadm does not change - automatically the version of the above components during - upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: description: Type defines the DNS add-on to be used type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: This - value defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect to an external - etcd cluster Local and External are mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate Authority - file used to secure etcd communication. Required - if using a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification file - used to secure etcd communication. Required if using - a TLS connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: - description: Endpoints of etcd members. Required for - ExternalEtcd. + description: Endpoints of etcd members. Required for ExternalEtcd. items: type: string type: array keyFile: - description: KeyFile is an SSL key file used to secure - etcd communication. Required if using a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -324,40 +250,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs for configuring - the local etcd instance Local and External are mutually - exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd will place - its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments provided - to the etcd binary when run inside a static pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for - the image. In case this value is set, kubeadm does - not change automatically the version of the above - components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject Alternative - Names for the etcd server signing cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -369,74 +284,45 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry to - pull images from. If empty, `k8s.gcr.io` will be used by - default; in case of kubernetes version is a CI build (kubernetes - version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` - will be used as a default for control plane components and - for kube-proxy, while `k8s.gcr.io` will be used for all - the other images. + description: ImageRepository sets the container registry to pull images from. If empty, `k8s.gcr.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `k8s.gcr.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version of the - control plane. NB: This value defaults to the Machine object - spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to the - Cluster object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used by k8s services. - Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. If - unset, the API server will not allocate CIDR ranges - for every node. Defaults to a comma-delimited string - of the Cluster object's spec.clusterNetwork.services.cidrBlocks - if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used by k8s services. - Defaults to a comma-delimited string of the Cluster - object's spec.clusterNetwork.pods.cidrBlocks, or to - "10.96.0.0/12" if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for the scheduler - control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass - to the control plane component. TODO: This is temporary - and ideally we would like to switch all components to - use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that - will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod - where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -445,8 +331,7 @@ spec: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to the - volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -456,18 +341,14 @@ spec: type: array type: object useHyperKubeImage: - description: UseHyperKubeImage controls if hyperkube should - be used for Kubernetes components instead of their respective - separate images + description: UseHyperKubeImage controls if hyperkube should be used for Kubernetes components instead of their respective separate images type: boolean type: object diskSetup: - description: DiskSetup specifies options for the creation of partition - tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file systems - to setup. + description: Filesystems specifies the list of file systems to setup. items: description: Filesystem defines the file systems to be created. properties: @@ -475,8 +356,7 @@ spec: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options to add - to the command for creating the file system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array @@ -484,26 +364,16 @@ spec: description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system label to - be used. If set to None, no label is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not to overwrite - any existing filesystem. If true, any pre-existing - file system will be destroyed. Use with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition to use. - The valid options are: "auto|any", "auto", "any", - "none", and , where NUM is the actual partition - number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, used - for Microsoft Azure that instructs cloud-init to replace - a file system of . NOTE: unless you define - a label, this requires the use of the ''any'' partition - directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -512,32 +382,21 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the partitions - to setup. + description: Partitions specifies the list of the partitions to setup. items: - description: Partition defines how to create and layout - a partition. + description: Partition defines how to create and layout a partition. properties: device: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. If - it is true, a single partition will be created for - the entire device. When layout is false, it means - don't partition or ignore existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to skip checks - and create the partition if a partition or filesystem - is found on the device. Use with caution. Default - is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of partition - table. The following are supported: ''mbr'': default - and setups a MS-DOS partition table ''gpt'': setups - a GPT partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -546,30 +405,24 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed to user_data - upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files - in cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: content: description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source of content - to populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that should - populate this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's data - map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -579,85 +432,61 @@ spec: - secret type: object encoding: - description: Encoding specifies the encoding of the file - contents. + description: Encoding specifies the encoding of the file contents. enum: - base64 - gzip - gzip+base64 type: string owner: - description: Owner specifies the ownership of the file, - e.g. "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk where - to store the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions to assign - to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path type: object type: array format: - description: Format specifies the output format of the bootstrap - data + description: Format specifies the output format of the bootstrap data enum: - cloud-config type: string initConfiguration: - description: InitConfiguration along with ClusterConfiguration - are the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm init` - time and describes a set of Bootstrap Tokens to create. - This information IS NOT uploaded to the kubeadm cluster - configmap, partly because of its sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap token, - stored as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly message - why this token exists and what it's used for, so other - administrators can know its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp when this - token expires. Defaults to being set dynamically at - runtime based on the TTL. Expires and TTL are mutually - exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups that - this token will authenticate as when/if used for authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing bidirectional - trust between nodes and control-planes. Used for joining - nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for this token. - Defaults to 24h. Expires and TTL are mutually exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which this - token can be used. Can by default be used for establishing - bidirectional trust, but that can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -666,31 +495,16 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint of the - API server instance that's deployed on this control plane - node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global endpoint - for the cluster, which then loadbalances the requests to - each individual API server. This configuration object lets - you customize what IP/DNS name and port the local API server - advertises it's accessible on. By default, kubeadm tries - to auto-detect the IP of the default interface and use that, - but in case that process fails you may set the desired value - here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address for - the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the API - Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer required: @@ -698,69 +512,36 @@ spec: - bindPort type: object nodeRegistration: - description: NodeRegistration holds fields that relate to - registering the new control-plane node to the cluster. When - used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration and - JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node - API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the - kubelet command line via the environment file kubeadm - writes at runtime for the kubelet to source. This overrides - the generic base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. These - values are local and specific to the node kubeadm is - executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the - Node API object that will be created in this `kubeadm - init` or `kubeadm join` operation. This field is also - used in the CommonName field of the kubelet's client - certificate to the API server. Defaults to the hostname - of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API - object should be registered with. If this field is unset, - i.e. nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: {}` - in the YAML file. This field is solely used for Node - registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has - the "effect" on any pod that does not tolerate the - Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on - pods that do not tolerate the taint. Valid effects - are NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the - taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -770,37 +551,25 @@ spec: type: object type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration for - the join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate - authority used to secure comunications between node and - control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". - TODO: revisit when there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control plane - instance to be deployed on the joining node. If nil, no - additional control plane instance will be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance to be deployed on this node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the - API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer required: @@ -809,58 +578,34 @@ spec: type: object type: object discovery: - description: 'Discovery specifies the options for the kubelet - to use during the TLS Bootstrap process TODO: revisit when - there is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the options - for bootstrap token based discovery BootstrapToken and - File are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or domain - name to the API server from which info will be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set of public - key pins to verify when token-based discovery is - used. The root CA found during discovery must match - one of these values. Specifying an empty set disables - root CA pinning, which can be unsafe. Each hash - is specified as ":", where the only - currently supported type is "sha256". This is a - hex-encoded SHA-256 hash of the Subject Public Key - Info (SPKI) object in DER-encoded ASN.1. These hashes - can be calculated using, for example, OpenSSL: openssl - x509 -pubkey -in ca.crt openssl rsa -pubin -outform - der 2>&/dev/null | openssl dgst -sha256 -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate cluster - information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since other - nodes can impersonate the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token - unsafeSkipCAVerification type: object file: - description: File is used to specify a file or URL to - a kubeconfig file from which to load cluster information - BootstrapToken and File are mutually exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify the - actual file path or URL to the kubeconfig file from - which to load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -869,85 +614,43 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: 'TLSBootstrapToken is a token used for TLS - bootstrapping. If .BootstrapToken is set, this field - is defaulted to .BootstrapToken.Token, but can be overridden. - If .File is set, this field **must be set** in case - the KubeConfigFile does not contain any other authentication - information TODO: revisit when there is defaulting from - k/k' + description: 'TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information TODO: revisit when there is defaulting from k/k' type: string type: object kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate to - registering the new control-plane node to the cluster. When - used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration and - JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node - API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the - kubelet command line via the environment file kubeadm - writes at runtime for the kubelet to source. This overrides - the generic base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. These - values are local and specific to the node kubeadm is - executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the - Node API object that will be created in this `kubeadm - init` or `kubeadm join` operation. This field is also - used in the CommonName field of the kubelet's client - certificate to the API server. Defaults to the hostname - of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API - object should be registered with. If this field is unset, - i.e. nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: {}` - in the YAML file. This field is solely used for Node - registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has - the "effect" on any pod that does not tolerate the - Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on - pods that do not tolerate the taint. Valid effects - are NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the - taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -959,8 +662,7 @@ spec: mounts: description: Mounts specifies a list of mount points to be setup. items: - description: MountPoints defines input for generated mounts - in cloud-init. + description: MountPoints defines input for generated mounts in cloud-init. items: type: string type: array @@ -978,68 +680,52 @@ spec: type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands to run - after kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands to run - before kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic kubeadm - command with a shell script with retries for joins. \n This - is meant to be an experimental temporary workaround on some - environments where joins fail due to timing (and other issues). - The long term goal is to add retries to kubeadm proper and use - that functionality. \n This will add about 40KB to userdata - \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." type: boolean users: description: Users specifies extra users to add items: - description: User defines the input for a generated user in - cloud-init. + description: User defines the input for a generated user in cloud-init. properties: gecos: description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups for - the user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory to use - for the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark the user - as inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password login should - be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name type: string passwd: - description: Passwd specifies a hashed password for the - user + description: Passwd specifies a hashed password for the user type: string primaryGroup: - description: PrimaryGroup specifies the primary group for - the user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list of ssh authorized - keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array @@ -1051,52 +737,36 @@ spec: type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log level - verbosity. It overrides the `--v` flag in kubeadm commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object nodeDrainTimeout: - description: 'NodeDrainTimeout is the total amount of time that the - controller will spend on draining a controlplane 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`' + description: 'NodeDrainTimeout is the total amount of time that the controller will spend on draining a controlplane 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 replicas: - description: Number of desired machines. Defaults to 1. When stacked - etcd is used only odd numbers are permitted, as per [etcd best practice](https://etcd.io/docs/v3.3.12/faq/#why-an-odd-number-of-cluster-members). - This is a pointer to distinguish between explicit zero and not specified. + description: Number of desired machines. Defaults to 1. When stacked etcd is used only odd numbers are permitted, as per [etcd best practice](https://etcd.io/docs/v3.3.12/faq/#why-an-odd-number-of-cluster-members). This is a pointer to distinguish between explicit zero and not specified. format: int32 type: integer rolloutStrategy: - description: The RolloutStrategy to use to replace control plane machines - with new ones. + description: The RolloutStrategy to use to replace control plane machines with new ones. properties: rollingUpdate: - description: Rolling update config params. Present only if RolloutStrategyType - = RollingUpdate. + description: Rolling update config params. Present only if RolloutStrategyType = RollingUpdate. properties: maxSurge: anyOf: - type: integer - type: string - description: 'The maximum number of control planes that can - be scheduled above or under the desired number of control - planes. Value can be an absolute number 1 or 0. Defaults - to 1. Example: when this is set to 1, the control plane - can be scaled up immediately when the rolling update starts.' + description: 'The maximum number of control planes that can be scheduled above or under the desired number of control planes. Value can be an absolute number 1 or 0. Defaults to 1. Example: when this is set to 1, the control plane can be scaled up immediately when the rolling update starts.' x-kubernetes-int-or-string: true type: object type: - description: Type of rollout. Currently the only supported strategy - is "RollingUpdate". Default is RollingUpdate. + description: Type of rollout. Currently the only supported strategy is "RollingUpdate". Default is RollingUpdate. type: string type: object upgradeAfter: - description: UpgradeAfter is a field to indicate an upgrade should - be performed after the specified time even if no changes have been - made to the KubeadmControlPlane + description: UpgradeAfter is a field to indicate an upgrade should be performed after the specified time even if no changes have been made to the KubeadmControlPlane format: date-time type: string version: @@ -1113,41 +783,26 @@ spec: conditions: description: Conditions defines current service state of the KubeadmControlPlane. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -1155,55 +810,38 @@ spec: type: object type: array failureMessage: - description: ErrorMessage indicates that there is a terminal problem - reconciling the state, and will be set to a descriptive error message. + description: ErrorMessage indicates that there is a terminal problem reconciling the state, and will be set to a descriptive error message. type: string failureReason: - description: FailureReason indicates that there is a terminal problem - reconciling the state, and will be set to a token value suitable - for programmatic interpretation. + description: FailureReason indicates that there is a terminal problem reconciling the state, and will be set to a token value suitable for programmatic interpretation. type: string initialized: - description: Initialized denotes whether or not the control plane - has the uploaded kubeadm-config configmap. + description: Initialized denotes whether or not the control plane has the uploaded kubeadm-config configmap. type: boolean observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + description: ObservedGeneration is the latest generation observed by the controller. format: int64 type: integer ready: - description: Ready denotes that the KubeadmControlPlane API Server - is ready to receive requests. + description: Ready denotes that the KubeadmControlPlane API Server is ready to receive requests. type: boolean readyReplicas: - description: Total number of fully running and ready control plane - machines. + description: Total number of fully running and ready control plane machines. format: int32 type: integer replicas: - description: Total number of non-terminated machines targeted by this - control plane (their labels match the selector). + description: Total number of non-terminated machines targeted by this control plane (their labels match the selector). format: int32 type: integer selector: - description: 'Selector is the label selector in string format to avoid - introspection by clients, and is used to provide the CRD-based integration - for the scale subresource and additional integrations for things - like kubectl describe.. 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' + description: 'Selector is the label selector in string format to avoid introspection by clients, and is used to provide the CRD-based integration for the scale subresource and additional integrations for things like kubectl describe.. 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 - control plane. 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 ready or machines - that still have not been created. + description: Total number of unavailable machines targeted by this control plane. 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 ready or machines that still have not been created. format: int32 type: integer updatedReplicas: - description: Total number of non-terminated machines targeted by this - control plane that have the desired template spec. + description: Total number of non-terminated machines targeted by this control plane that have the desired template spec. format: int32 type: integer type: object @@ -1221,8 +859,7 @@ spec: jsonPath: .metadata.creationTimestamp name: Age type: date - - description: This denotes whether or not the control plane has the uploaded - kubeadm-config configmap + - description: This denotes whether or not the control plane has the uploaded kubeadm-config configmap jsonPath: .status.initialized name: Initialized type: boolean @@ -1234,8 +871,7 @@ spec: jsonPath: .spec.version name: Version type: string - - description: Total number of non-terminated machines targeted by this control - plane + - description: Total number of non-terminated machines targeted by this control plane jsonPath: .status.replicas name: Replicas type: integer @@ -1243,8 +879,7 @@ spec: jsonPath: .status.readyReplicas name: Ready type: integer - - description: Total number of non-terminated machines targeted by this control - plane that have the desired template spec + - description: Total number of non-terminated machines targeted by this control plane that have the desired template spec jsonPath: .status.updatedReplicas name: Updated type: integer @@ -1255,18 +890,13 @@ spec: name: v1alpha4 schema: openAPIV3Schema: - description: KubeadmControlPlane is the Schema for the KubeadmControlPlane - API. + description: KubeadmControlPlane is the Schema for the KubeadmControlPlane API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -1274,45 +904,34 @@ spec: description: KubeadmControlPlaneSpec defines the desired state of KubeadmControlPlane. properties: kubeadmConfigSpec: - description: KubeadmConfigSpec is a KubeadmConfigSpec to use for initializing - and joining machines to the control plane. + description: KubeadmConfigSpec is a KubeadmConfigSpec to use for initializing and joining machines to the control plane. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration - are the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for the API - server control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative Names - for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass - to the control plane component. TODO: This is temporary - and ideally we would like to switch all components to - use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that - will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod - where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -1321,8 +940,7 @@ spec: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to the - volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -1331,66 +949,39 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the timeout - that we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store or - look for all required certificates. NB: if not provided, - this will default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP address - or DNS name for the control plane; it can be a valid IP - address or a RFC-1123 DNS subdomain, both with optional - TCP port. In case the ControlPlaneEndpoint is not specified, - the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint - is specified but without a TCP port, the BindPort is used. - Possible usages are: e.g. In a cluster with more than one - control plane instances, this field should be assigned the - address of the external load balancer in front of the control - plane instances. e.g. in environments with enforced node - recycling, the ControlPlaneEndpoint could be used for assigning - a stable DNS to the control plane. NB: This value defaults - to the first value in the Cluster object status.apiEndpoints - array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings for - the controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass - to the control plane component. TODO: This is temporary - and ideally we would like to switch all components to - use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that - will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod - where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -1399,8 +990,7 @@ spec: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to the - volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -1410,48 +1000,34 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on installed - in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for the - image. In case this value is set, kubeadm does not change - automatically the version of the above components during - upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: This - value defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect to an external - etcd cluster Local and External are mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate Authority - file used to secure etcd communication. Required - if using a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification file - used to secure etcd communication. Required if using - a TLS connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: - description: Endpoints of etcd members. Required for - ExternalEtcd. + description: Endpoints of etcd members. Required for ExternalEtcd. items: type: string type: array keyFile: - description: KeyFile is an SSL key file used to secure - etcd communication. Required if using a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -1460,40 +1036,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs for configuring - the local etcd instance Local and External are mutually - exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd will place - its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments provided - to the etcd binary when run inside a static pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for - the image. In case this value is set, kubeadm does - not change automatically the version of the above - components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject Alternative - Names for the etcd server signing cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -1505,74 +1070,45 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry to - pull images from. If empty, `registry.k8s.io` will be used - by default; in case of kubernetes version is a CI build - (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` - will be used as a default for control plane components and - for kube-proxy, while `registry.k8s.io` will be used for - all the other images. + description: ImageRepository sets the container registry to pull images from. If empty, `registry.k8s.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `registry.k8s.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version of the - control plane. NB: This value defaults to the Machine object - spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to the - Cluster object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used by k8s services. - Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. If - unset, the API server will not allocate CIDR ranges - for every node. Defaults to a comma-delimited string - of the Cluster object's spec.clusterNetwork.services.cidrBlocks - if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used by k8s services. - Defaults to a comma-delimited string of the Cluster - object's spec.clusterNetwork.pods.cidrBlocks, or to - "10.96.0.0/12" if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for the scheduler - control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass - to the control plane component. TODO: This is temporary - and ideally we would like to switch all components to - use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that - will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod - where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -1581,8 +1117,7 @@ spec: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to the - volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -1593,12 +1128,10 @@ spec: type: object type: object diskSetup: - description: DiskSetup specifies options for the creation of partition - tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file systems - to setup. + description: Filesystems specifies the list of file systems to setup. items: description: Filesystem defines the file systems to be created. properties: @@ -1606,8 +1139,7 @@ spec: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options to add - to the command for creating the file system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array @@ -1615,26 +1147,16 @@ spec: description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system label to - be used. If set to None, no label is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not to overwrite - any existing filesystem. If true, any pre-existing - file system will be destroyed. Use with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition to use. - The valid options are: "auto|any", "auto", "any", - "none", and , where NUM is the actual partition - number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, used - for Microsoft Azure that instructs cloud-init to replace - a file system of . NOTE: unless you define - a label, this requires the use of the ''any'' partition - directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -1643,32 +1165,21 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the partitions - to setup. + description: Partitions specifies the list of the partitions to setup. items: - description: Partition defines how to create and layout - a partition. + description: Partition defines how to create and layout a partition. properties: device: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. If - it is true, a single partition will be created for - the entire device. When layout is false, it means - don't partition or ignore existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to skip checks - and create the partition if a partition or filesystem - is found on the device. Use with caution. Default - is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of partition - table. The following are supported: ''mbr'': default - and setups a MS-DOS partition table ''gpt'': setups - a GPT partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -1677,30 +1188,24 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed to user_data - upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files - in cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: content: description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source of content - to populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that should - populate this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's data - map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -1710,85 +1215,61 @@ spec: - secret type: object encoding: - description: Encoding specifies the encoding of the file - contents. + description: Encoding specifies the encoding of the file contents. enum: - base64 - gzip - gzip+base64 type: string owner: - description: Owner specifies the ownership of the file, - e.g. "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk where - to store the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions to assign - to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path type: object type: array format: - description: Format specifies the output format of the bootstrap - data + description: Format specifies the output format of the bootstrap data enum: - cloud-config type: string initConfiguration: - description: InitConfiguration along with ClusterConfiguration - are the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm init` - time and describes a set of Bootstrap Tokens to create. - This information IS NOT uploaded to the kubeadm cluster - configmap, partly because of its sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap token, - stored as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly message - why this token exists and what it's used for, so other - administrators can know its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp when this - token expires. Defaults to being set dynamically at - runtime based on the TTL. Expires and TTL are mutually - exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups that - this token will authenticate as when/if used for authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing bidirectional - trust between nodes and control-planes. Used for joining - nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for this token. - Defaults to 24h. Expires and TTL are mutually exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which this - token can be used. Can by default be used for establishing - bidirectional trust, but that can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -1797,105 +1278,55 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint of the - API server instance that's deployed on this control plane - node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global endpoint - for the cluster, which then loadbalances the requests to - each individual API server. This configuration object lets - you customize what IP/DNS name and port the local API server - advertises it's accessible on. By default, kubeadm tries - to auto-detect the IP of the default interface and use that, - but in case that process fails you may set the desired value - here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address for - the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the API - Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object nodeRegistration: - description: NodeRegistration holds fields that relate to - registering the new control-plane node to the cluster. When - used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration and - JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node - API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice of - pre-flight errors to be ignored when the current node - is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the - kubelet command line via the environment file kubeadm - writes at runtime for the kubelet to source. This overrides - the generic base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. These - values are local and specific to the node kubeadm is - executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the - Node API object that will be created in this `kubeadm - init` or `kubeadm join` operation. This field is also - used in the CommonName field of the kubelet's client - certificate to the API server. Defaults to the hostname - of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API - object should be registered with. If this field is unset, - i.e. nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: {}` - in the YAML file. This field is solely used for Node - registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has - the "effect" on any pod that does not tolerate the - Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on - pods that do not tolerate the taint. Valid effects - are NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the - taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -1905,93 +1336,57 @@ spec: type: object type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration for - the join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate - authority used to secure comunications between node and - control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". - TODO: revisit when there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control plane - instance to be deployed on the joining node. If nil, no - additional control plane instance will be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance to be deployed on this node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the - API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object type: object discovery: - description: 'Discovery specifies the options for the kubelet - to use during the TLS Bootstrap process TODO: revisit when - there is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the options - for bootstrap token based discovery BootstrapToken and - File are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or domain - name to the API server from which info will be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set of public - key pins to verify when token-based discovery is - used. The root CA found during discovery must match - one of these values. Specifying an empty set disables - root CA pinning, which can be unsafe. Each hash - is specified as ":", where the only - currently supported type is "sha256". This is a - hex-encoded SHA-256 hash of the Subject Public Key - Info (SPKI) object in DER-encoded ASN.1. These hashes - can be calculated using, for example, OpenSSL: openssl - x509 -pubkey -in ca.crt openssl rsa -pubin -outform - der 2>&/dev/null | openssl dgst -sha256 -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate cluster - information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since other - nodes can impersonate the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token type: object file: - description: File is used to specify a file or URL to - a kubeconfig file from which to load cluster information - BootstrapToken and File are mutually exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify the - actual file path or URL to the kubeconfig file from - which to load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -2000,91 +1395,48 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: TLSBootstrapToken is a token used for TLS - bootstrapping. If .BootstrapToken is set, this field - is defaulted to .BootstrapToken.Token, but can be overridden. - If .File is set, this field **must be set** in case - the KubeConfigFile does not contain any other authentication - information + description: TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information type: string type: object kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate to - registering the new control-plane node to the cluster. When - used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration and - JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node - API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice of - pre-flight errors to be ignored when the current node - is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the - kubelet command line via the environment file kubeadm - writes at runtime for the kubelet to source. This overrides - the generic base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. These - values are local and specific to the node kubeadm is - executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the - Node API object that will be created in this `kubeadm - init` or `kubeadm join` operation. This field is also - used in the CommonName field of the kubelet's client - certificate to the API server. Defaults to the hostname - of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API - object should be registered with. If this field is unset, - i.e. nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: {}` - in the YAML file. This field is solely used for Node - registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has - the "effect" on any pod that does not tolerate the - Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on - pods that do not tolerate the taint. Valid effects - are NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the - taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -2096,8 +1448,7 @@ spec: mounts: description: Mounts specifies a list of mount points to be setup. items: - description: MountPoints defines input for generated mounts - in cloud-init. + description: MountPoints defines input for generated mounts in cloud-init. items: type: string type: array @@ -2115,68 +1466,52 @@ spec: type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands to run - after kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands to run - before kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic kubeadm - command with a shell script with retries for joins. \n This - is meant to be an experimental temporary workaround on some - environments where joins fail due to timing (and other issues). - The long term goal is to add retries to kubeadm proper and use - that functionality. \n This will add about 40KB to userdata - \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." type: boolean users: description: Users specifies extra users to add items: - description: User defines the input for a generated user in - cloud-init. + description: User defines the input for a generated user in cloud-init. properties: gecos: description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups for - the user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory to use - for the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark the user - as inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password login should - be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name type: string passwd: - description: Passwd specifies a hashed password for the - user + description: Passwd specifies a hashed password for the user type: string primaryGroup: - description: PrimaryGroup specifies the primary group for - the user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list of ssh authorized - keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array @@ -2188,34 +1523,21 @@ spec: type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log level - verbosity. It overrides the `--v` flag in kubeadm commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object machineTemplate: - description: MachineTemplate contains information about how machines - should be shaped when creating or updating a control plane. + description: MachineTemplate contains information about how machines should be shaped when creating or updating a control plane. properties: infrastructureRef: - description: InfrastructureRef is a required reference to a custom - resource offered by an infrastructure provider. + 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.' + 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' @@ -2227,8 +1549,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -2241,41 +1562,26 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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' + 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 nodeDrainTimeout: - description: 'NodeDrainTimeout is the total amount of time that - the controller will spend on draining a controlplane 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`' + description: 'NodeDrainTimeout is the total amount of time that the controller will spend on draining a controlplane 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 required: - infrastructureRef type: object replicas: - description: Number of desired machines. Defaults to 1. When stacked - etcd is used only odd numbers are permitted, as per [etcd best practice](https://etcd.io/docs/v3.3.12/faq/#why-an-odd-number-of-cluster-members). - This is a pointer to distinguish between explicit zero and not specified. + description: Number of desired machines. Defaults to 1. When stacked etcd is used only odd numbers are permitted, as per [etcd best practice](https://etcd.io/docs/v3.3.12/faq/#why-an-odd-number-of-cluster-members). This is a pointer to distinguish between explicit zero and not specified. format: int32 type: integer rolloutAfter: - description: RolloutAfter is a field to indicate a rollout should - be performed after the specified time even if no changes have been - made to the KubeadmControlPlane. + description: RolloutAfter is a field to indicate a rollout should be performed after the specified time even if no changes have been made to the KubeadmControlPlane. format: date-time type: string rolloutStrategy: @@ -2283,27 +1589,20 @@ spec: rollingUpdate: maxSurge: 1 type: RollingUpdate - description: The RolloutStrategy to use to replace control plane machines - with new ones. + description: The RolloutStrategy to use to replace control plane machines with new ones. properties: rollingUpdate: - description: Rolling update config params. Present only if RolloutStrategyType - = RollingUpdate. + description: Rolling update config params. Present only if RolloutStrategyType = RollingUpdate. properties: maxSurge: anyOf: - type: integer - type: string - description: 'The maximum number of control planes that can - be scheduled above or under the desired number of control - planes. Value can be an absolute number 1 or 0. Defaults - to 1. Example: when this is set to 1, the control plane - can be scaled up immediately when the rolling update starts.' + description: 'The maximum number of control planes that can be scheduled above or under the desired number of control planes. Value can be an absolute number 1 or 0. Defaults to 1. Example: when this is set to 1, the control plane can be scaled up immediately when the rolling update starts.' x-kubernetes-int-or-string: true type: object type: - description: Type of rollout. Currently the only supported strategy - is "RollingUpdate". Default is RollingUpdate. + description: Type of rollout. Currently the only supported strategy is "RollingUpdate". Default is RollingUpdate. type: string type: object version: @@ -2320,41 +1619,26 @@ spec: conditions: description: Conditions defines current service state of the KubeadmControlPlane. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -2362,60 +1646,42 @@ spec: type: object type: array failureMessage: - description: ErrorMessage indicates that there is a terminal problem - reconciling the state, and will be set to a descriptive error message. + description: ErrorMessage indicates that there is a terminal problem reconciling the state, and will be set to a descriptive error message. type: string failureReason: - description: FailureReason indicates that there is a terminal problem - reconciling the state, and will be set to a token value suitable - for programmatic interpretation. + description: FailureReason indicates that there is a terminal problem reconciling the state, and will be set to a token value suitable for programmatic interpretation. type: string initialized: - description: Initialized denotes whether or not the control plane - has the uploaded kubeadm-config configmap. + description: Initialized denotes whether or not the control plane has the uploaded kubeadm-config configmap. type: boolean observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + description: ObservedGeneration is the latest generation observed by the controller. format: int64 type: integer ready: - description: Ready denotes that the KubeadmControlPlane API Server - is ready to receive requests. + description: Ready denotes that the KubeadmControlPlane API Server is ready to receive requests. type: boolean readyReplicas: - description: Total number of fully running and ready control plane - machines. + description: Total number of fully running and ready control plane machines. format: int32 type: integer replicas: - description: Total number of non-terminated machines targeted by this - control plane (their labels match the selector). + description: Total number of non-terminated machines targeted by this control plane (their labels match the selector). format: int32 type: integer selector: - description: 'Selector is the label selector in string format to avoid - introspection by clients, and is used to provide the CRD-based integration - for the scale subresource and additional integrations for things - like kubectl describe.. 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' + description: 'Selector is the label selector in string format to avoid introspection by clients, and is used to provide the CRD-based integration for the scale subresource and additional integrations for things like kubectl describe.. 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 - control plane. 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 ready or machines - that still have not been created. + description: Total number of unavailable machines targeted by this control plane. 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 ready or machines that still have not been created. format: int32 type: integer updatedReplicas: - description: Total number of non-terminated machines targeted by this - control plane that have the desired template spec. + description: Total number of non-terminated machines targeted by this control plane that have the desired template spec. format: int32 type: integer version: - description: Version represents the minimum Kubernetes version for - the control plane machines in the cluster. + description: Version represents the minimum Kubernetes version for the control plane machines in the cluster. type: string type: object type: object @@ -2432,8 +1698,7 @@ spec: jsonPath: .metadata.labels['cluster\.x-k8s\.io/cluster-name'] name: Cluster type: string - - description: This denotes whether or not the control plane has the uploaded - kubeadm-config configmap + - description: This denotes whether or not the control plane has the uploaded kubeadm-config configmap jsonPath: .status.initialized name: Initialized type: boolean @@ -2446,8 +1711,7 @@ spec: name: Desired priority: 10 type: integer - - description: Total number of non-terminated machines targeted by this control - plane + - description: Total number of non-terminated machines targeted by this control plane jsonPath: .status.replicas name: Replicas type: integer @@ -2455,8 +1719,7 @@ spec: jsonPath: .status.readyReplicas name: Ready type: integer - - description: Total number of non-terminated machines targeted by this control - plane that have the desired template spec + - description: Total number of non-terminated machines targeted by this control plane that have the desired template spec jsonPath: .status.updatedReplicas name: Updated type: integer @@ -2475,18 +1738,13 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: KubeadmControlPlane is the Schema for the KubeadmControlPlane - API. + description: KubeadmControlPlane is the Schema for the KubeadmControlPlane API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -2494,45 +1752,34 @@ spec: description: KubeadmControlPlaneSpec defines the desired state of KubeadmControlPlane. properties: kubeadmConfigSpec: - description: KubeadmConfigSpec is a KubeadmConfigSpec to use for initializing - and joining machines to the control plane. + description: KubeadmConfigSpec is a KubeadmConfigSpec to use for initializing and joining machines to the control plane. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration - are the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for the API - server control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative Names - for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass - to the control plane component. TODO: This is temporary - and ideally we would like to switch all components to - use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that - will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod - where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -2541,8 +1788,7 @@ spec: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to the - volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -2551,66 +1797,39 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the timeout - that we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store or - look for all required certificates. NB: if not provided, - this will default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP address - or DNS name for the control plane; it can be a valid IP - address or a RFC-1123 DNS subdomain, both with optional - TCP port. In case the ControlPlaneEndpoint is not specified, - the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint - is specified but without a TCP port, the BindPort is used. - Possible usages are: e.g. In a cluster with more than one - control plane instances, this field should be assigned the - address of the external load balancer in front of the control - plane instances. e.g. in environments with enforced node - recycling, the ControlPlaneEndpoint could be used for assigning - a stable DNS to the control plane. NB: This value defaults - to the first value in the Cluster object status.apiEndpoints - array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings for - the controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass - to the control plane component. TODO: This is temporary - and ideally we would like to switch all components to - use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that - will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod - where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -2619,8 +1838,7 @@ spec: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to the - volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -2630,48 +1848,34 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on installed - in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for the - image. In case this value is set, kubeadm does not change - automatically the version of the above components during - upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: This - value defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect to an external - etcd cluster Local and External are mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate Authority - file used to secure etcd communication. Required - if using a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification file - used to secure etcd communication. Required if using - a TLS connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: - description: Endpoints of etcd members. Required for - ExternalEtcd. + description: Endpoints of etcd members. Required for ExternalEtcd. items: type: string type: array keyFile: - description: KeyFile is an SSL key file used to secure - etcd communication. Required if using a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -2680,40 +1884,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs for configuring - the local etcd instance Local and External are mutually - exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd will place - its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments provided - to the etcd binary when run inside a static pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for - the image. In case this value is set, kubeadm does - not change automatically the version of the above - components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject Alternative - Names for the etcd server signing cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -2725,74 +1918,45 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry to - pull images from. If empty, `registry.k8s.io` will be used - by default; in case of kubernetes version is a CI build - (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` - will be used as a default for control plane components and - for kube-proxy, while `registry.k8s.io` will be used for - all the other images. + description: ImageRepository sets the container registry to pull images from. If empty, `registry.k8s.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `registry.k8s.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version of the - control plane. NB: This value defaults to the Machine object - spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to the - Cluster object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used by k8s services. - Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. If - unset, the API server will not allocate CIDR ranges - for every node. Defaults to a comma-delimited string - of the Cluster object's spec.clusterNetwork.services.cidrBlocks - if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used by k8s services. - Defaults to a comma-delimited string of the Cluster - object's spec.clusterNetwork.pods.cidrBlocks, or to - "10.96.0.0/12" if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for the scheduler - control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass - to the control plane component. TODO: This is temporary - and ideally we would like to switch all components to - use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that - will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod - where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -2801,8 +1965,7 @@ spec: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to the - volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -2813,12 +1976,10 @@ spec: type: object type: object diskSetup: - description: DiskSetup specifies options for the creation of partition - tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file systems - to setup. + description: Filesystems specifies the list of file systems to setup. items: description: Filesystem defines the file systems to be created. properties: @@ -2826,8 +1987,7 @@ spec: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options to add - to the command for creating the file system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array @@ -2835,26 +1995,16 @@ spec: description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system label to - be used. If set to None, no label is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not to overwrite - any existing filesystem. If true, any pre-existing - file system will be destroyed. Use with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition to use. - The valid options are: "auto|any", "auto", "any", - "none", and , where NUM is the actual partition - number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, used - for Microsoft Azure that instructs cloud-init to replace - a file system of . NOTE: unless you define - a label, this requires the use of the ''any'' partition - directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -2863,32 +2013,21 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the partitions - to setup. + description: Partitions specifies the list of the partitions to setup. items: - description: Partition defines how to create and layout - a partition. + description: Partition defines how to create and layout a partition. properties: device: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. If - it is true, a single partition will be created for - the entire device. When layout is false, it means - don't partition or ignore existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to skip checks - and create the partition if a partition or filesystem - is found on the device. Use with caution. Default - is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of partition - table. The following are supported: ''mbr'': default - and setups a MS-DOS partition table ''gpt'': setups - a GPT partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -2897,34 +2036,27 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed to user_data - upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files - in cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: append: - description: Append specifies whether to append Content - to existing file if Path exists. + description: Append specifies whether to append Content to existing file if Path exists. type: boolean content: description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source of content - to populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that should - populate this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's data - map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -2934,32 +2066,27 @@ spec: - secret type: object encoding: - description: Encoding specifies the encoding of the file - contents. + description: Encoding specifies the encoding of the file contents. enum: - base64 - gzip - gzip+base64 type: string owner: - description: Owner specifies the ownership of the file, - e.g. "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk where - to store the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions to assign - to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path type: object type: array format: - description: Format specifies the output format of the bootstrap - data + description: Format specifies the output format of the bootstrap data enum: - cloud-config - ignition @@ -2971,67 +2098,44 @@ spec: description: ContainerLinuxConfig contains CLC specific configuration. properties: additionalConfig: - description: "AdditionalConfig contains additional configuration - to be merged with the Ignition configuration generated - by the bootstrapper controller. More info: https://coreos.github.io/ignition/operator-notes/#config-merging - \n The data format is documented here: https://kinvolk.io/docs/flatcar-container-linux/latest/provisioning/cl-config/" + description: "AdditionalConfig contains additional configuration to be merged with the Ignition configuration generated by the bootstrapper controller. More info: https://coreos.github.io/ignition/operator-notes/#config-merging \n The data format is documented here: https://kinvolk.io/docs/flatcar-container-linux/latest/provisioning/cl-config/" type: string strict: - description: Strict controls if AdditionalConfig should - be strictly parsed. If so, warnings are treated as errors. + description: Strict controls if AdditionalConfig should be strictly parsed. If so, warnings are treated as errors. type: boolean type: object type: object initConfiguration: - description: InitConfiguration along with ClusterConfiguration - are the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm init` - time and describes a set of Bootstrap Tokens to create. - This information IS NOT uploaded to the kubeadm cluster - configmap, partly because of its sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap token, - stored as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly message - why this token exists and what it's used for, so other - administrators can know its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp when this - token expires. Defaults to being set dynamically at - runtime based on the TTL. Expires and TTL are mutually - exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups that - this token will authenticate as when/if used for authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing bidirectional - trust between nodes and control-planes. Used for joining - nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for this token. - Defaults to 24h. Expires and TTL are mutually exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which this - token can be used. Can by default be used for establishing - bidirectional trust, but that can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -3040,105 +2144,55 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint of the - API server instance that's deployed on this control plane - node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global endpoint - for the cluster, which then loadbalances the requests to - each individual API server. This configuration object lets - you customize what IP/DNS name and port the local API server - advertises it's accessible on. By default, kubeadm tries - to auto-detect the IP of the default interface and use that, - but in case that process fails you may set the desired value - here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address for - the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the API - Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object nodeRegistration: - description: NodeRegistration holds fields that relate to - registering the new control-plane node to the cluster. When - used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration and - JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node - API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice of - pre-flight errors to be ignored when the current node - is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the - kubelet command line via the environment file kubeadm - writes at runtime for the kubelet to source. This overrides - the generic base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. These - values are local and specific to the node kubeadm is - executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the - Node API object that will be created in this `kubeadm - init` or `kubeadm join` operation. This field is also - used in the CommonName field of the kubelet's client - certificate to the API server. Defaults to the hostname - of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API - object should be registered with. If this field is unset, - i.e. nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: []` - in the YAML file. This field is solely used for Node - registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: []` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has - the "effect" on any pod that does not tolerate the - Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on - pods that do not tolerate the taint. Valid effects - are NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the - taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -3147,125 +2201,70 @@ spec: type: array type: object patches: - description: Patches contains options related to applying - patches to components deployed by kubeadm during "kubeadm - init". The minimum kubernetes version needed to support - Patches is v1.22 + description: Patches contains options related to applying patches to components deployed by kubeadm during "kubeadm init". The minimum kubernetes version needed to support Patches is v1.22 properties: directory: - description: Directory is a path to a directory that contains - files named "target[suffix][+patchtype].extension". - For example, "kube-apiserver0+merge.yaml" or just "etcd.json". - "target" can be one of "kube-apiserver", "kube-controller-manager", - "kube-scheduler", "etcd". "patchtype" can be one of - "strategic" "merge" or "json" and they match the patch - formats supported by kubectl. The default "patchtype" - is "strategic". "extension" must be either "json" or - "yaml". "suffix" is an optional string that can be used - to determine which patches are applied first alpha-numerically. - These files can be written into the target directory - via KubeadmConfig.Files which specifies additional files - to be created on the machine, either with content inline - or by referencing a secret. + description: Directory is a path to a directory that contains files named "target[suffix][+patchtype].extension". For example, "kube-apiserver0+merge.yaml" or just "etcd.json". "target" can be one of "kube-apiserver", "kube-controller-manager", "kube-scheduler", "etcd". "patchtype" can be one of "strategic" "merge" or "json" and they match the patch formats supported by kubectl. The default "patchtype" is "strategic". "extension" must be either "json" or "yaml". "suffix" is an optional string that can be used to determine which patches are applied first alpha-numerically. These files can be written into the target directory via KubeadmConfig.Files which specifies additional files to be created on the machine, either with content inline or by referencing a secret. type: string type: object skipPhases: - description: SkipPhases is a list of phases to skip during - command execution. The list of phases can be obtained with - the "kubeadm init --help" command. This option takes effect - only on Kubernetes >=1.22.0. + description: SkipPhases is a list of phases to skip during command execution. The list of phases can be obtained with the "kubeadm init --help" command. This option takes effect only on Kubernetes >=1.22.0. items: type: string type: array type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration for - the join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate - authority used to secure comunications between node and - control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". - TODO: revisit when there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control plane - instance to be deployed on the joining node. If nil, no - additional control plane instance will be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance to be deployed on this node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the - API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object type: object discovery: - description: 'Discovery specifies the options for the kubelet - to use during the TLS Bootstrap process TODO: revisit when - there is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the options - for bootstrap token based discovery BootstrapToken and - File are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or domain - name to the API server from which info will be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set of public - key pins to verify when token-based discovery is - used. The root CA found during discovery must match - one of these values. Specifying an empty set disables - root CA pinning, which can be unsafe. Each hash - is specified as ":", where the only - currently supported type is "sha256". This is a - hex-encoded SHA-256 hash of the Subject Public Key - Info (SPKI) object in DER-encoded ASN.1. These hashes - can be calculated using, for example, OpenSSL: openssl - x509 -pubkey -in ca.crt openssl rsa -pubin -outform - der 2>&/dev/null | openssl dgst -sha256 -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate cluster - information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since other - nodes can impersonate the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token type: object file: - description: File is used to specify a file or URL to - a kubeconfig file from which to load cluster information - BootstrapToken and File are mutually exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify the - actual file path or URL to the kubeconfig file from - which to load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -3274,91 +2273,48 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: TLSBootstrapToken is a token used for TLS - bootstrapping. If .BootstrapToken is set, this field - is defaulted to .BootstrapToken.Token, but can be overridden. - If .File is set, this field **must be set** in case - the KubeConfigFile does not contain any other authentication - information + description: TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information type: string type: object kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate to - registering the new control-plane node to the cluster. When - used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration and - JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node - API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice of - pre-flight errors to be ignored when the current node - is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the - kubelet command line via the environment file kubeadm - writes at runtime for the kubelet to source. This overrides - the generic base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. These - values are local and specific to the node kubeadm is - executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the - Node API object that will be created in this `kubeadm - init` or `kubeadm join` operation. This field is also - used in the CommonName field of the kubelet's client - certificate to the API server. Defaults to the hostname - of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API - object should be registered with. If this field is unset, - i.e. nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: []` - in the YAML file. This field is solely used for Node - registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: []` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has - the "effect" on any pod that does not tolerate the - Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on - pods that do not tolerate the taint. Valid effects - are NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the - taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -3367,33 +2323,14 @@ spec: type: array type: object patches: - description: Patches contains options related to applying - patches to components deployed by kubeadm during "kubeadm - join". The minimum kubernetes version needed to support - Patches is v1.22 + description: Patches contains options related to applying patches to components deployed by kubeadm during "kubeadm join". The minimum kubernetes version needed to support Patches is v1.22 properties: directory: - description: Directory is a path to a directory that contains - files named "target[suffix][+patchtype].extension". - For example, "kube-apiserver0+merge.yaml" or just "etcd.json". - "target" can be one of "kube-apiserver", "kube-controller-manager", - "kube-scheduler", "etcd". "patchtype" can be one of - "strategic" "merge" or "json" and they match the patch - formats supported by kubectl. The default "patchtype" - is "strategic". "extension" must be either "json" or - "yaml". "suffix" is an optional string that can be used - to determine which patches are applied first alpha-numerically. - These files can be written into the target directory - via KubeadmConfig.Files which specifies additional files - to be created on the machine, either with content inline - or by referencing a secret. + description: Directory is a path to a directory that contains files named "target[suffix][+patchtype].extension". For example, "kube-apiserver0+merge.yaml" or just "etcd.json". "target" can be one of "kube-apiserver", "kube-controller-manager", "kube-scheduler", "etcd". "patchtype" can be one of "strategic" "merge" or "json" and they match the patch formats supported by kubectl. The default "patchtype" is "strategic". "extension" must be either "json" or "yaml". "suffix" is an optional string that can be used to determine which patches are applied first alpha-numerically. These files can be written into the target directory via KubeadmConfig.Files which specifies additional files to be created on the machine, either with content inline or by referencing a secret. type: string type: object skipPhases: - description: SkipPhases is a list of phases to skip during - command execution. The list of phases can be obtained with - the "kubeadm init --help" command. This option takes effect - only on Kubernetes >=1.22.0. + description: SkipPhases is a list of phases to skip during command execution. The list of phases can be obtained with the "kubeadm init --help" command. This option takes effect only on Kubernetes >=1.22.0. items: type: string type: array @@ -3401,8 +2338,7 @@ spec: mounts: description: Mounts specifies a list of mount points to be setup. items: - description: MountPoints defines input for generated mounts - in cloud-init. + description: MountPoints defines input for generated mounts in cloud-init. items: type: string type: array @@ -3420,75 +2356,55 @@ spec: type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands to run - after kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands to run - before kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic kubeadm - command with a shell script with retries for joins. \n This - is meant to be an experimental temporary workaround on some - environments where joins fail due to timing (and other issues). - The long term goal is to add retries to kubeadm proper and use - that functionality. \n This will add about 40KB to userdata - \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055. - Deprecated: This experimental fix is no longer needed and this - field will be removed in a future release." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055. Deprecated: This experimental fix is no longer needed and this field will be removed in a future release." type: boolean users: description: Users specifies extra users to add items: - description: User defines the input for a generated user in - cloud-init. + description: User defines the input for a generated user in cloud-init. properties: gecos: description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups for - the user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory to use - for the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark the user - as inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password login should - be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name type: string passwd: - description: Passwd specifies a hashed password for the - user + description: Passwd specifies a hashed password for the user type: string passwdFrom: - description: PasswdFrom is a referenced source of passwd - to populate the passwd. + description: PasswdFrom is a referenced source of passwd to populate the passwd. properties: secret: - description: Secret represents a secret that should - populate this password. + description: Secret represents a secret that should populate this password. properties: key: - description: Key is the key in the secret's data - map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -3498,15 +2414,13 @@ spec: - secret type: object primaryGroup: - description: PrimaryGroup specifies the primary group for - the user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list of ssh authorized - keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array @@ -3518,34 +2432,21 @@ spec: type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log level - verbosity. It overrides the `--v` flag in kubeadm commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object machineTemplate: - description: MachineTemplate contains information about how machines - should be shaped when creating or updating a control plane. + description: MachineTemplate contains information about how machines should be shaped when creating or updating a control plane. properties: infrastructureRef: - description: InfrastructureRef is a required reference to a custom - resource offered by an infrastructure provider. + 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.' + 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' @@ -3557,8 +2458,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -3571,49 +2471,29 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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' + 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 machine - 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. If no value is provided, - the default value for this property of the Machine resource - will be used. + description: NodeDeletionTimeout defines how long the machine 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. If no value is provided, the default value for this property of the Machine resource will be used. type: string nodeDrainTimeout: - description: 'NodeDrainTimeout is the total amount of time that - the controller will spend on draining a controlplane 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`' + description: 'NodeDrainTimeout is the total amount of time that the controller will spend on draining a controlplane 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 required: - infrastructureRef type: object replicas: - description: Number of desired machines. Defaults to 1. When stacked - etcd is used only odd numbers are permitted, as per [etcd best practice](https://etcd.io/docs/v3.3.12/faq/#why-an-odd-number-of-cluster-members). - This is a pointer to distinguish between explicit zero and not specified. + description: Number of desired machines. Defaults to 1. When stacked etcd is used only odd numbers are permitted, as per [etcd best practice](https://etcd.io/docs/v3.3.12/faq/#why-an-odd-number-of-cluster-members). This is a pointer to distinguish between explicit zero and not specified. format: int32 type: integer rolloutAfter: - description: RolloutAfter is a field to indicate a rollout should - be performed after the specified time even if no changes have been - made to the KubeadmControlPlane. + description: RolloutAfter is a field to indicate a rollout should be performed after the specified time even if no changes have been made to the KubeadmControlPlane. format: date-time type: string rolloutStrategy: @@ -3621,27 +2501,20 @@ spec: rollingUpdate: maxSurge: 1 type: RollingUpdate - description: The RolloutStrategy to use to replace control plane machines - with new ones. + description: The RolloutStrategy to use to replace control plane machines with new ones. properties: rollingUpdate: - description: Rolling update config params. Present only if RolloutStrategyType - = RollingUpdate. + description: Rolling update config params. Present only if RolloutStrategyType = RollingUpdate. properties: maxSurge: anyOf: - type: integer - type: string - description: 'The maximum number of control planes that can - be scheduled above or under the desired number of control - planes. Value can be an absolute number 1 or 0. Defaults - to 1. Example: when this is set to 1, the control plane - can be scaled up immediately when the rolling update starts.' + description: 'The maximum number of control planes that can be scheduled above or under the desired number of control planes. Value can be an absolute number 1 or 0. Defaults to 1. Example: when this is set to 1, the control plane can be scaled up immediately when the rolling update starts.' x-kubernetes-int-or-string: true type: object type: - description: Type of rollout. Currently the only supported strategy - is "RollingUpdate". Default is RollingUpdate. + description: Type of rollout. Currently the only supported strategy is "RollingUpdate". Default is RollingUpdate. type: string type: object version: @@ -3658,41 +2531,26 @@ spec: conditions: description: Conditions defines current service state of the KubeadmControlPlane. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -3701,60 +2559,42 @@ spec: type: object type: array failureMessage: - description: ErrorMessage indicates that there is a terminal problem - reconciling the state, and will be set to a descriptive error message. + description: ErrorMessage indicates that there is a terminal problem reconciling the state, and will be set to a descriptive error message. type: string failureReason: - description: FailureReason indicates that there is a terminal problem - reconciling the state, and will be set to a token value suitable - for programmatic interpretation. + description: FailureReason indicates that there is a terminal problem reconciling the state, and will be set to a token value suitable for programmatic interpretation. type: string initialized: - description: Initialized denotes whether or not the control plane - has the uploaded kubeadm-config configmap. + description: Initialized denotes whether or not the control plane has the uploaded kubeadm-config configmap. type: boolean observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + description: ObservedGeneration is the latest generation observed by the controller. format: int64 type: integer ready: - description: Ready denotes that the KubeadmControlPlane API Server - is ready to receive requests. + description: Ready denotes that the KubeadmControlPlane API Server is ready to receive requests. type: boolean readyReplicas: - description: Total number of fully running and ready control plane - machines. + description: Total number of fully running and ready control plane machines. format: int32 type: integer replicas: - description: Total number of non-terminated machines targeted by this - control plane (their labels match the selector). + description: Total number of non-terminated machines targeted by this control plane (their labels match the selector). format: int32 type: integer selector: - description: 'Selector is the label selector in string format to avoid - introspection by clients, and is used to provide the CRD-based integration - for the scale subresource and additional integrations for things - like kubectl describe.. 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' + description: 'Selector is the label selector in string format to avoid introspection by clients, and is used to provide the CRD-based integration for the scale subresource and additional integrations for things like kubectl describe.. 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 - control plane. 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 ready or machines - that still have not been created. + description: Total number of unavailable machines targeted by this control plane. 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 ready or machines that still have not been created. format: int32 type: integer updatedReplicas: - description: Total number of non-terminated machines targeted by this - control plane that have the desired template spec. + description: Total number of non-terminated machines targeted by this control plane that have the desired template spec. format: int32 type: integer version: - description: Version represents the minimum Kubernetes version for - the control plane machines in the cluster. + description: Version represents the minimum Kubernetes version for the control plane machines in the cluster. type: string type: object type: object @@ -3810,87 +2650,63 @@ spec: name: v1alpha4 schema: openAPIV3Schema: - description: KubeadmControlPlaneTemplate is the Schema for the kubeadmcontrolplanetemplates - API. + description: KubeadmControlPlaneTemplate is the Schema for the kubeadmcontrolplanetemplates API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: - description: KubeadmControlPlaneTemplateSpec defines the desired state - of KubeadmControlPlaneTemplate. + description: KubeadmControlPlaneTemplateSpec defines the desired state of KubeadmControlPlaneTemplate. properties: template: - description: KubeadmControlPlaneTemplateResource describes the data - needed to create a KubeadmControlPlane from a template. + description: KubeadmControlPlaneTemplateResource describes the data needed to create a KubeadmControlPlane from a template. properties: spec: - description: KubeadmControlPlaneSpec defines the desired state - of KubeadmControlPlane. + description: KubeadmControlPlaneSpec defines the desired state of KubeadmControlPlane. properties: kubeadmConfigSpec: - description: KubeadmConfigSpec is a KubeadmConfigSpec to use - for initializing and joining machines to the control plane. + description: KubeadmConfigSpec is a KubeadmConfigSpec to use for initializing and joining machines to the control plane. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration - are the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for - the API server control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative - Names for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags - to pass to the control plane component. TODO: - This is temporary and ideally we would like - to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements - describing volumes that are mounted from the - host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the - host that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside - the pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the - pod template. + description: Name of the volume inside the pod template. type: string pathType: - description: PathType is the type of the - HostPath. + description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -3899,83 +2715,48 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the - timeout that we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal - value, and may reject unrecognized values. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store - or look for all required certificates. NB: if not - provided, this will default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP - address or DNS name for the control plane; it can - be a valid IP address or a RFC-1123 DNS subdomain, - both with optional TCP port. In case the ControlPlaneEndpoint - is not specified, the AdvertiseAddress + BindPort - are used; in case the ControlPlaneEndpoint is specified - but without a TCP port, the BindPort is used. Possible - usages are: e.g. In a cluster with more than one - control plane instances, this field should be assigned - the address of the external load balancer in front - of the control plane instances. e.g. in environments - with enforced node recycling, the ControlPlaneEndpoint - could be used for assigning a stable DNS to the - control plane. NB: This value defaults to the first - value in the Cluster object status.apiEndpoints - array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings - for the controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags - to pass to the control plane component. TODO: - This is temporary and ideally we would like - to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements - describing volumes that are mounted from the - host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the - host that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside - the pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the - pod template. + description: Name of the volume inside the pod template. type: string pathType: - description: PathType is the type of the - HostPath. + description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -3985,51 +2766,34 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on - installed in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container - registry to pull images from. if not set, the - ImageRepository defined in ClusterConfiguration - will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag - for the image. In case this value is set, kubeadm - does not change automatically the version of - the above components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: - This value defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect - to an external etcd cluster Local and External - are mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate - Authority file used to secure etcd communication. - Required if using a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification - file used to secure etcd communication. - Required if using a TLS connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: - description: Endpoints of etcd members. Required - for ExternalEtcd. + description: Endpoints of etcd members. Required for ExternalEtcd. items: type: string type: array keyFile: - description: KeyFile is an SSL key file used - to secure etcd communication. Required if - using a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -4038,45 +2802,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs - for configuring the local etcd instance Local - and External are mutually exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd - will place its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments - provided to the etcd binary when run inside - a static pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container - registry to pull images from. if not set, - the ImageRepository defined in ClusterConfiguration - will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a - tag for the image. In case this value is - set, kubeadm does not change automatically - the version of the above components during - upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject - Alternative Names for the etcd peer signing - cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject - Alternative Names for the etcd server signing - cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -4088,90 +2836,54 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. If empty, `registry.k8s.io` - will be used by default; in case of kubernetes version - is a CI build (kubernetes version starts with `ci/` - or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will - be used as a default for control plane components - and for kube-proxy, while `registry.k8s.io` will - be used for all the other images. + description: ImageRepository sets the container registry to pull images from. If empty, `registry.k8s.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `registry.k8s.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing - the REST resource this object represents. Servers - may infer this from the endpoint the client submits - requests to. Cannot be updated. In CamelCase. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version - of the control plane. NB: This value defaults to - the Machine object spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the - networking topology of the cluster. NB: This value - defaults to the Cluster object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used - by k8s services. Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. - If unset, the API server will not allocate CIDR - ranges for every node. Defaults to a comma-delimited - string of the Cluster object's spec.clusterNetwork.services.cidrBlocks - if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used - by k8s services. Defaults to a comma-delimited - string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, - or to "10.96.0.0/12" if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for - the scheduler control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags - to pass to the control plane component. TODO: - This is temporary and ideally we would like - to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements - describing volumes that are mounted from the - host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the - host that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside - the pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the - pod template. + description: Name of the volume inside the pod template. type: string pathType: - description: PathType is the type of the - HostPath. + description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -4182,53 +2894,35 @@ spec: type: object type: object diskSetup: - description: DiskSetup specifies options for the creation - of partition tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file - systems to setup. + description: Filesystems specifies the list of file systems to setup. items: - description: Filesystem defines the file systems - to be created. + description: Filesystem defines the file systems to be created. properties: device: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options - to add to the command for creating the file - system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array filesystem: - description: Filesystem specifies the file system - type. + description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system - label to be used. If set to None, no label - is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not - to overwrite any existing filesystem. If true, - any pre-existing file system will be destroyed. - Use with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition - to use. The valid options are: "auto|any", - "auto", "any", "none", and , where NUM - is the actual partition number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, - used for Microsoft Azure that instructs cloud-init - to replace a file system of . NOTE: - unless you define a label, this requires the - use of the ''any'' partition directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -4237,33 +2931,21 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the - partitions to setup. + description: Partitions specifies the list of the partitions to setup. items: - description: Partition defines how to create and - layout a partition. + description: Partition defines how to create and layout a partition. properties: device: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. - If it is true, a single partition will be - created for the entire device. When layout - is false, it means don't partition or ignore - existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to - skip checks and create the partition if a - partition or filesystem is found on the device. - Use with caution. Default is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of - partition table. The following are supported: - ''mbr'': default and setups a MS-DOS partition - table ''gpt'': setups a GPT partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -4272,31 +2954,24 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed - to user_data upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files - in cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: content: - description: Content is the actual content of the - file. + description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source - of content to populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that - should populate this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's - data map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -4306,91 +2981,61 @@ spec: - secret type: object encoding: - description: Encoding specifies the encoding of - the file contents. + description: Encoding specifies the encoding of the file contents. enum: - base64 - gzip - gzip+base64 type: string owner: - description: Owner specifies the ownership of the - file, e.g. "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk - where to store the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions - to assign to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path type: object type: array format: - description: Format specifies the output format of the - bootstrap data + description: Format specifies the output format of the bootstrap data enum: - cloud-config type: string initConfiguration: - description: InitConfiguration along with ClusterConfiguration - are the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal - value, and may reject unrecognized values. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm - init` time and describes a set of Bootstrap Tokens - to create. This information IS NOT uploaded to the - kubeadm cluster configmap, partly because of its - sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap - token, stored as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly - message why this token exists and what it's - used for, so other administrators can know - its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp - when this token expires. Defaults to being - set dynamically at runtime based on the TTL. - Expires and TTL are mutually exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups - that this token will authenticate as when/if - used for authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing - bidirectional trust between nodes and control-planes. - Used for joining nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for - this token. Defaults to 24h. Expires and TTL - are mutually exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which - this token can be used. Can by default be - used for establishing bidirectional trust, - but that can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -4399,111 +3044,55 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing - the REST resource this object represents. Servers - may infer this from the endpoint the client submits - requests to. Cannot be updated. In CamelCase. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance that's deployed on this - control plane node In HA setups, this differs from - ClusterConfiguration.ControlPlaneEndpoint in the - sense that ControlPlaneEndpoint is the global endpoint - for the cluster, which then loadbalances the requests - to each individual API server. This configuration - object lets you customize what IP/DNS name and port - the local API server advertises it's accessible - on. By default, kubeadm tries to auto-detect the - IP of the default interface and use that, but in - case that process fails you may set the desired - value here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for - the API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object nodeRegistration: - description: NodeRegistration holds fields that relate - to registering the new control-plane node to the - cluster. When used in the context of control plane - nodes, NodeRegistration should remain consistent - across both InitConfiguration and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a - slice of pre-flight errors to be ignored when - the current node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here - are passed to the kubelet command line via the - environment file kubeadm writes at runtime for - the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. - These values are local and specific to the node - kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field - of the Node API object that will be created - in this `kubeadm init` or `kubeadm join` operation. - This field is also used in the CommonName field - of the kubelet's client certificate to the API - server. Defaults to the hostname of the node - if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the - Node API object should be registered with. If - this field is unset, i.e. nil, in the `kubeadm - init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane - node, set this field to an empty slice, i.e. - `taints: {}` in the YAML file. This field is - solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached - to has the "effect" on any pod that does not - tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the - taint on pods that do not tolerate the - taint. Valid effects are NoSchedule, PreferNoSchedule - and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to - be applied to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time - at which the taint was added. It is only - written for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding - to the taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -4513,103 +3102,57 @@ spec: type: object type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration - for the join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal - value, and may reject unrecognized values. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate - authority used to secure comunications between node - and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". - TODO: revisit when there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control - plane instance to be deployed on the joining node. - If nil, no additional control plane instance will - be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance to be deployed on - this node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP - address for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port - for the API Server to bind to. Defaults - to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object type: object discovery: - description: 'Discovery specifies the options for - the kubelet to use during the TLS Bootstrap process - TODO: revisit when there is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the - options for bootstrap token based discovery - BootstrapToken and File are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or - domain name to the API server from which - info will be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set - of public key pins to verify when token-based - discovery is used. The root CA found during - discovery must match one of these values. - Specifying an empty set disables root CA - pinning, which can be unsafe. Each hash - is specified as ":", where - the only currently supported type is "sha256". - This is a hex-encoded SHA-256 hash of the - Subject Public Key Info (SPKI) object in - DER-encoded ASN.1. These hashes can be calculated - using, for example, OpenSSL: openssl x509 - -pubkey -in ca.crt openssl rsa -pubin -outform - der 2>&/dev/null | openssl dgst -sha256 - -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate - cluster information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows - token-based discovery without CA verification - via CACertHashes. This can weaken the security - of kubeadm since other nodes can impersonate - the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token type: object file: - description: File is used to specify a file or - URL to a kubeconfig file from which to load - cluster information BootstrapToken and File - are mutually exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify - the actual file path or URL to the kubeconfig - file from which to load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -4618,95 +3161,48 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: TLSBootstrapToken is a token used - for TLS bootstrapping. If .BootstrapToken is - set, this field is defaulted to .BootstrapToken.Token, - but can be overridden. If .File is set, this - field **must be set** in case the KubeConfigFile - does not contain any other authentication information + description: TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information type: string type: object kind: - description: 'Kind is a string value representing - the REST resource this object represents. Servers - may infer this from the endpoint the client submits - requests to. Cannot be updated. In CamelCase. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate - to registering the new control-plane node to the - cluster. When used in the context of control plane - nodes, NodeRegistration should remain consistent - across both InitConfiguration and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a - slice of pre-flight errors to be ignored when - the current node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here - are passed to the kubelet command line via the - environment file kubeadm writes at runtime for - the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. - These values are local and specific to the node - kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field - of the Node API object that will be created - in this `kubeadm init` or `kubeadm join` operation. - This field is also used in the CommonName field - of the kubelet's client certificate to the API - server. Defaults to the hostname of the node - if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the - Node API object should be registered with. If - this field is unset, i.e. nil, in the `kubeadm - init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane - node, set this field to an empty slice, i.e. - `taints: {}` in the YAML file. This field is - solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached - to has the "effect" on any pod that does not - tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the - taint on pods that do not tolerate the - taint. Valid effects are NoSchedule, PreferNoSchedule - and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to - be applied to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time - at which the taint was added. It is only - written for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding - to the taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -4716,11 +3212,9 @@ spec: type: object type: object mounts: - description: Mounts specifies a list of mount points to - be setup. + description: Mounts specifies a list of mount points to be setup. items: - description: MountPoints defines input for generated - mounts in cloud-init. + description: MountPoints defines input for generated mounts in cloud-init. items: type: string type: array @@ -4729,125 +3223,87 @@ spec: description: NTP specifies NTP configuration properties: enabled: - description: Enabled specifies whether NTP should - be enabled + description: Enabled specifies whether NTP should be enabled type: boolean servers: - description: Servers specifies which NTP servers to - use + description: Servers specifies which NTP servers to use items: type: string type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands - to run after kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands - to run before kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic - kubeadm command with a shell script with retries for - joins. \n This is meant to be an experimental temporary - workaround on some environments where joins fail due - to timing (and other issues). The long term goal is - to add retries to kubeadm proper and use that functionality. - \n This will add about 40KB to userdata \n For more - information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." type: boolean users: description: Users specifies extra users to add items: - description: User defines the input for a generated - user in cloud-init. + description: User defines the input for a generated user in cloud-init. properties: gecos: - description: Gecos specifies the gecos to use for - the user + description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups - for the user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory - to use for the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark - the user as inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password - login should be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name type: string passwd: - description: Passwd specifies a hashed password - for the user + description: Passwd specifies a hashed password for the user type: string primaryGroup: - description: PrimaryGroup specifies the primary - group for the user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list - of ssh authorized keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array sudo: - description: Sudo specifies a sudo role for the - user + description: Sudo specifies a sudo role for the user type: string required: - name type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log - level verbosity. It overrides the `--v` flag in kubeadm - commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object machineTemplate: - description: MachineTemplate contains information about how - machines should be shaped when creating or updating a control - plane. + description: MachineTemplate contains information about how machines should be shaped when creating or updating a control plane. properties: infrastructureRef: - description: InfrastructureRef is a required reference - to a custom resource offered by an infrastructure provider. + 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.' + 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' @@ -4856,12 +3312,10 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -4869,49 +3323,31 @@ spec: type: object x-kubernetes-map-type: atomic metadata: - description: 'Standard object''s metadata. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#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' + 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' + 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 nodeDrainTimeout: - description: 'NodeDrainTimeout is the total amount of - time that the controller will spend on draining a controlplane - 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`' + description: 'NodeDrainTimeout is the total amount of time that the controller will spend on draining a controlplane 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 required: - infrastructureRef type: object replicas: - description: Number of desired machines. Defaults to 1. When - stacked etcd is used only odd numbers are permitted, as - per [etcd best practice](https://etcd.io/docs/v3.3.12/faq/#why-an-odd-number-of-cluster-members). - This is a pointer to distinguish between explicit zero and - not specified. + description: Number of desired machines. Defaults to 1. When stacked etcd is used only odd numbers are permitted, as per [etcd best practice](https://etcd.io/docs/v3.3.12/faq/#why-an-odd-number-of-cluster-members). This is a pointer to distinguish between explicit zero and not specified. format: int32 type: integer rolloutAfter: - description: RolloutAfter is a field to indicate a rollout - should be performed after the specified time even if no - changes have been made to the KubeadmControlPlane. + description: RolloutAfter is a field to indicate a rollout should be performed after the specified time even if no changes have been made to the KubeadmControlPlane. format: date-time type: string rolloutStrategy: @@ -4919,28 +3355,20 @@ spec: rollingUpdate: maxSurge: 1 type: RollingUpdate - description: The RolloutStrategy to use to replace control - plane machines with new ones. + description: The RolloutStrategy to use to replace control plane machines with new ones. properties: rollingUpdate: - description: Rolling update config params. Present only - if RolloutStrategyType = RollingUpdate. + description: Rolling update config params. Present only if RolloutStrategyType = RollingUpdate. properties: maxSurge: anyOf: - type: integer - type: string - description: 'The maximum number of control planes - that can be scheduled above or under the desired - number of control planes. Value can be an absolute - number 1 or 0. Defaults to 1. Example: when this - is set to 1, the control plane can be scaled up - immediately when the rolling update starts.' + description: 'The maximum number of control planes that can be scheduled above or under the desired number of control planes. Value can be an absolute number 1 or 0. Defaults to 1. Example: when this is set to 1, the control plane can be scaled up immediately when the rolling update starts.' x-kubernetes-int-or-string: true type: object type: - description: Type of rollout. Currently the only supported - strategy is "RollingUpdate". Default is RollingUpdate. + description: Type of rollout. Currently the only supported strategy is "RollingUpdate". Default is RollingUpdate. type: string type: object version: @@ -4969,91 +3397,63 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: KubeadmControlPlaneTemplate is the Schema for the kubeadmcontrolplanetemplates - API. + description: KubeadmControlPlaneTemplate is the Schema for the kubeadmcontrolplanetemplates API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: - description: KubeadmControlPlaneTemplateSpec defines the desired state - of KubeadmControlPlaneTemplate. + description: KubeadmControlPlaneTemplateSpec defines the desired state of KubeadmControlPlaneTemplate. properties: template: - description: KubeadmControlPlaneTemplateResource describes the data - needed to create a KubeadmControlPlane from a template. + description: KubeadmControlPlaneTemplateResource describes the data needed to create a KubeadmControlPlane from a template. properties: spec: - description: 'KubeadmControlPlaneTemplateResourceSpec defines - the desired state of KubeadmControlPlane. NOTE: KubeadmControlPlaneTemplateResourceSpec - is similar to KubeadmControlPlaneSpec but omits Replicas and - Version fields. These fields do not make sense on the KubeadmControlPlaneTemplate, - because they are calculated by the Cluster topology reconciler - during reconciliation and thus cannot be configured on the KubeadmControlPlaneTemplate.' + description: 'KubeadmControlPlaneTemplateResourceSpec defines the desired state of KubeadmControlPlane. NOTE: KubeadmControlPlaneTemplateResourceSpec is similar to KubeadmControlPlaneSpec but omits Replicas and Version fields. These fields do not make sense on the KubeadmControlPlaneTemplate, because they are calculated by the Cluster topology reconciler during reconciliation and thus cannot be configured on the KubeadmControlPlaneTemplate.' properties: kubeadmConfigSpec: - description: KubeadmConfigSpec is a KubeadmConfigSpec to use - for initializing and joining machines to the control plane. + description: KubeadmConfigSpec is a KubeadmConfigSpec to use for initializing and joining machines to the control plane. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration - are the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for - the API server control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative - Names for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags - to pass to the control plane component. TODO: - This is temporary and ideally we would like - to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements - describing volumes that are mounted from the - host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the - host that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside - the pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the - pod template. + description: Name of the volume inside the pod template. type: string pathType: - description: PathType is the type of the - HostPath. + description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -5062,83 +3462,48 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the - timeout that we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal - value, and may reject unrecognized values. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store - or look for all required certificates. NB: if not - provided, this will default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP - address or DNS name for the control plane; it can - be a valid IP address or a RFC-1123 DNS subdomain, - both with optional TCP port. In case the ControlPlaneEndpoint - is not specified, the AdvertiseAddress + BindPort - are used; in case the ControlPlaneEndpoint is specified - but without a TCP port, the BindPort is used. Possible - usages are: e.g. In a cluster with more than one - control plane instances, this field should be assigned - the address of the external load balancer in front - of the control plane instances. e.g. in environments - with enforced node recycling, the ControlPlaneEndpoint - could be used for assigning a stable DNS to the - control plane. NB: This value defaults to the first - value in the Cluster object status.apiEndpoints - array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings - for the controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags - to pass to the control plane component. TODO: - This is temporary and ideally we would like - to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements - describing volumes that are mounted from the - host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the - host that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside - the pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the - pod template. + description: Name of the volume inside the pod template. type: string pathType: - description: PathType is the type of the - HostPath. + description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -5148,51 +3513,34 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on - installed in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container - registry to pull images from. if not set, the - ImageRepository defined in ClusterConfiguration - will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag - for the image. In case this value is set, kubeadm - does not change automatically the version of - the above components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: - This value defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect - to an external etcd cluster Local and External - are mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate - Authority file used to secure etcd communication. - Required if using a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification - file used to secure etcd communication. - Required if using a TLS connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: - description: Endpoints of etcd members. Required - for ExternalEtcd. + description: Endpoints of etcd members. Required for ExternalEtcd. items: type: string type: array keyFile: - description: KeyFile is an SSL key file used - to secure etcd communication. Required if - using a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -5201,45 +3549,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs - for configuring the local etcd instance Local - and External are mutually exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd - will place its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments - provided to the etcd binary when run inside - a static pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container - registry to pull images from. if not set, - the ImageRepository defined in ClusterConfiguration - will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a - tag for the image. In case this value is - set, kubeadm does not change automatically - the version of the above components during - upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject - Alternative Names for the etcd peer signing - cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject - Alternative Names for the etcd server signing - cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -5251,90 +3583,54 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. If empty, `registry.k8s.io` - will be used by default; in case of kubernetes version - is a CI build (kubernetes version starts with `ci/` - or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will - be used as a default for control plane components - and for kube-proxy, while `registry.k8s.io` will - be used for all the other images. + description: ImageRepository sets the container registry to pull images from. If empty, `registry.k8s.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `registry.k8s.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing - the REST resource this object represents. Servers - may infer this from the endpoint the client submits - requests to. Cannot be updated. In CamelCase. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version - of the control plane. NB: This value defaults to - the Machine object spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the - networking topology of the cluster. NB: This value - defaults to the Cluster object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used - by k8s services. Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. - If unset, the API server will not allocate CIDR - ranges for every node. Defaults to a comma-delimited - string of the Cluster object's spec.clusterNetwork.services.cidrBlocks - if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used - by k8s services. Defaults to a comma-delimited - string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, - or to "10.96.0.0/12" if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for - the scheduler control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags - to pass to the control plane component. TODO: - This is temporary and ideally we would like - to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements - describing volumes that are mounted from the - host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the - host that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside - the pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the - pod template. + description: Name of the volume inside the pod template. type: string pathType: - description: PathType is the type of the - HostPath. + description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -5345,53 +3641,35 @@ spec: type: object type: object diskSetup: - description: DiskSetup specifies options for the creation - of partition tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file - systems to setup. + description: Filesystems specifies the list of file systems to setup. items: - description: Filesystem defines the file systems - to be created. + description: Filesystem defines the file systems to be created. properties: device: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options - to add to the command for creating the file - system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array filesystem: - description: Filesystem specifies the file system - type. + description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system - label to be used. If set to None, no label - is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not - to overwrite any existing filesystem. If true, - any pre-existing file system will be destroyed. - Use with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition - to use. The valid options are: "auto|any", - "auto", "any", "none", and , where NUM - is the actual partition number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, - used for Microsoft Azure that instructs cloud-init - to replace a file system of . NOTE: - unless you define a label, this requires the - use of the ''any'' partition directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -5400,33 +3678,21 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the - partitions to setup. + description: Partitions specifies the list of the partitions to setup. items: - description: Partition defines how to create and - layout a partition. + description: Partition defines how to create and layout a partition. properties: device: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. - If it is true, a single partition will be - created for the entire device. When layout - is false, it means don't partition or ignore - existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to - skip checks and create the partition if a - partition or filesystem is found on the device. - Use with caution. Default is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of - partition table. The following are supported: - ''mbr'': default and setups a MS-DOS partition - table ''gpt'': setups a GPT partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -5435,35 +3701,27 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed - to user_data upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files - in cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: append: - description: Append specifies whether to append - Content to existing file if Path exists. + description: Append specifies whether to append Content to existing file if Path exists. type: boolean content: - description: Content is the actual content of the - file. + description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source - of content to populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that - should populate this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's - data map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -5473,32 +3731,27 @@ spec: - secret type: object encoding: - description: Encoding specifies the encoding of - the file contents. + description: Encoding specifies the encoding of the file contents. enum: - base64 - gzip - gzip+base64 type: string owner: - description: Owner specifies the ownership of the - file, e.g. "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk - where to store the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions - to assign to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path type: object type: array format: - description: Format specifies the output format of the - bootstrap data + description: Format specifies the output format of the bootstrap data enum: - cloud-config - ignition @@ -5507,79 +3760,47 @@ spec: description: Ignition contains Ignition specific configuration. properties: containerLinuxConfig: - description: ContainerLinuxConfig contains CLC specific - configuration. + description: ContainerLinuxConfig contains CLC specific configuration. properties: additionalConfig: - description: "AdditionalConfig contains additional - configuration to be merged with the Ignition - configuration generated by the bootstrapper - controller. More info: https://coreos.github.io/ignition/operator-notes/#config-merging - \n The data format is documented here: https://kinvolk.io/docs/flatcar-container-linux/latest/provisioning/cl-config/" + description: "AdditionalConfig contains additional configuration to be merged with the Ignition configuration generated by the bootstrapper controller. More info: https://coreos.github.io/ignition/operator-notes/#config-merging \n The data format is documented here: https://kinvolk.io/docs/flatcar-container-linux/latest/provisioning/cl-config/" type: string strict: - description: Strict controls if AdditionalConfig - should be strictly parsed. If so, warnings are - treated as errors. + description: Strict controls if AdditionalConfig should be strictly parsed. If so, warnings are treated as errors. type: boolean type: object type: object initConfiguration: - description: InitConfiguration along with ClusterConfiguration - are the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal - value, and may reject unrecognized values. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm - init` time and describes a set of Bootstrap Tokens - to create. This information IS NOT uploaded to the - kubeadm cluster configmap, partly because of its - sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap - token, stored as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly - message why this token exists and what it's - used for, so other administrators can know - its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp - when this token expires. Defaults to being - set dynamically at runtime based on the TTL. - Expires and TTL are mutually exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups - that this token will authenticate as when/if - used for authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing - bidirectional trust between nodes and control-planes. - Used for joining nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for - this token. Defaults to 24h. Expires and TTL - are mutually exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which - this token can be used. Can by default be - used for establishing bidirectional trust, - but that can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -5588,111 +3809,55 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing - the REST resource this object represents. Servers - may infer this from the endpoint the client submits - requests to. Cannot be updated. In CamelCase. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance that's deployed on this - control plane node In HA setups, this differs from - ClusterConfiguration.ControlPlaneEndpoint in the - sense that ControlPlaneEndpoint is the global endpoint - for the cluster, which then loadbalances the requests - to each individual API server. This configuration - object lets you customize what IP/DNS name and port - the local API server advertises it's accessible - on. By default, kubeadm tries to auto-detect the - IP of the default interface and use that, but in - case that process fails you may set the desired - value here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for - the API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object nodeRegistration: - description: NodeRegistration holds fields that relate - to registering the new control-plane node to the - cluster. When used in the context of control plane - nodes, NodeRegistration should remain consistent - across both InitConfiguration and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a - slice of pre-flight errors to be ignored when - the current node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here - are passed to the kubelet command line via the - environment file kubeadm writes at runtime for - the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. - These values are local and specific to the node - kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field - of the Node API object that will be created - in this `kubeadm init` or `kubeadm join` operation. - This field is also used in the CommonName field - of the kubelet's client certificate to the API - server. Defaults to the hostname of the node - if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the - Node API object should be registered with. If - this field is unset, i.e. nil, in the `kubeadm - init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane - node, set this field to an empty slice, i.e. - `taints: []` in the YAML file. This field is - solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: []` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached - to has the "effect" on any pod that does not - tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the - taint on pods that do not tolerate the - taint. Valid effects are NoSchedule, PreferNoSchedule - and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to - be applied to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time - at which the taint was added. It is only - written for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding - to the taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -5701,137 +3866,70 @@ spec: type: array type: object patches: - description: Patches contains options related to applying - patches to components deployed by kubeadm during - "kubeadm init". The minimum kubernetes version needed - to support Patches is v1.22 + description: Patches contains options related to applying patches to components deployed by kubeadm during "kubeadm init". The minimum kubernetes version needed to support Patches is v1.22 properties: directory: - description: Directory is a path to a directory - that contains files named "target[suffix][+patchtype].extension". - For example, "kube-apiserver0+merge.yaml" or - just "etcd.json". "target" can be one of "kube-apiserver", - "kube-controller-manager", "kube-scheduler", - "etcd". "patchtype" can be one of "strategic" - "merge" or "json" and they match the patch formats - supported by kubectl. The default "patchtype" - is "strategic". "extension" must be either "json" - or "yaml". "suffix" is an optional string that - can be used to determine which patches are applied - first alpha-numerically. These files can be - written into the target directory via KubeadmConfig.Files - which specifies additional files to be created - on the machine, either with content inline or - by referencing a secret. + description: Directory is a path to a directory that contains files named "target[suffix][+patchtype].extension". For example, "kube-apiserver0+merge.yaml" or just "etcd.json". "target" can be one of "kube-apiserver", "kube-controller-manager", "kube-scheduler", "etcd". "patchtype" can be one of "strategic" "merge" or "json" and they match the patch formats supported by kubectl. The default "patchtype" is "strategic". "extension" must be either "json" or "yaml". "suffix" is an optional string that can be used to determine which patches are applied first alpha-numerically. These files can be written into the target directory via KubeadmConfig.Files which specifies additional files to be created on the machine, either with content inline or by referencing a secret. type: string type: object skipPhases: - description: SkipPhases is a list of phases to skip - during command execution. The list of phases can - be obtained with the "kubeadm init --help" command. - This option takes effect only on Kubernetes >=1.22.0. + description: SkipPhases is a list of phases to skip during command execution. The list of phases can be obtained with the "kubeadm init --help" command. This option takes effect only on Kubernetes >=1.22.0. items: type: string type: array type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration - for the join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal - value, and may reject unrecognized values. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate - authority used to secure comunications between node - and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". - TODO: revisit when there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control - plane instance to be deployed on the joining node. - If nil, no additional control plane instance will - be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance to be deployed on - this node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP - address for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port - for the API Server to bind to. Defaults - to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object type: object discovery: - description: 'Discovery specifies the options for - the kubelet to use during the TLS Bootstrap process - TODO: revisit when there is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the - options for bootstrap token based discovery - BootstrapToken and File are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or - domain name to the API server from which - info will be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set - of public key pins to verify when token-based - discovery is used. The root CA found during - discovery must match one of these values. - Specifying an empty set disables root CA - pinning, which can be unsafe. Each hash - is specified as ":", where - the only currently supported type is "sha256". - This is a hex-encoded SHA-256 hash of the - Subject Public Key Info (SPKI) object in - DER-encoded ASN.1. These hashes can be calculated - using, for example, OpenSSL: openssl x509 - -pubkey -in ca.crt openssl rsa -pubin -outform - der 2>&/dev/null | openssl dgst -sha256 - -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate - cluster information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows - token-based discovery without CA verification - via CACertHashes. This can weaken the security - of kubeadm since other nodes can impersonate - the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token type: object file: - description: File is used to specify a file or - URL to a kubeconfig file from which to load - cluster information BootstrapToken and File - are mutually exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify - the actual file path or URL to the kubeconfig - file from which to load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -5840,95 +3938,48 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: TLSBootstrapToken is a token used - for TLS bootstrapping. If .BootstrapToken is - set, this field is defaulted to .BootstrapToken.Token, - but can be overridden. If .File is set, this - field **must be set** in case the KubeConfigFile - does not contain any other authentication information + description: TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information type: string type: object kind: - description: 'Kind is a string value representing - the REST resource this object represents. Servers - may infer this from the endpoint the client submits - requests to. Cannot be updated. In CamelCase. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate - to registering the new control-plane node to the - cluster. When used in the context of control plane - nodes, NodeRegistration should remain consistent - across both InitConfiguration and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a - slice of pre-flight errors to be ignored when - the current node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here - are passed to the kubelet command line via the - environment file kubeadm writes at runtime for - the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. - These values are local and specific to the node - kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field - of the Node API object that will be created - in this `kubeadm init` or `kubeadm join` operation. - This field is also used in the CommonName field - of the kubelet's client certificate to the API - server. Defaults to the hostname of the node - if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the - Node API object should be registered with. If - this field is unset, i.e. nil, in the `kubeadm - init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane - node, set this field to an empty slice, i.e. - `taints: []` in the YAML file. This field is - solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: []` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached - to has the "effect" on any pod that does not - tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the - taint on pods that do not tolerate the - taint. Valid effects are NoSchedule, PreferNoSchedule - and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to - be applied to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time - at which the taint was added. It is only - written for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding - to the taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -5937,45 +3988,22 @@ spec: type: array type: object patches: - description: Patches contains options related to applying - patches to components deployed by kubeadm during - "kubeadm join". The minimum kubernetes version needed - to support Patches is v1.22 + description: Patches contains options related to applying patches to components deployed by kubeadm during "kubeadm join". The minimum kubernetes version needed to support Patches is v1.22 properties: directory: - description: Directory is a path to a directory - that contains files named "target[suffix][+patchtype].extension". - For example, "kube-apiserver0+merge.yaml" or - just "etcd.json". "target" can be one of "kube-apiserver", - "kube-controller-manager", "kube-scheduler", - "etcd". "patchtype" can be one of "strategic" - "merge" or "json" and they match the patch formats - supported by kubectl. The default "patchtype" - is "strategic". "extension" must be either "json" - or "yaml". "suffix" is an optional string that - can be used to determine which patches are applied - first alpha-numerically. These files can be - written into the target directory via KubeadmConfig.Files - which specifies additional files to be created - on the machine, either with content inline or - by referencing a secret. + description: Directory is a path to a directory that contains files named "target[suffix][+patchtype].extension". For example, "kube-apiserver0+merge.yaml" or just "etcd.json". "target" can be one of "kube-apiserver", "kube-controller-manager", "kube-scheduler", "etcd". "patchtype" can be one of "strategic" "merge" or "json" and they match the patch formats supported by kubectl. The default "patchtype" is "strategic". "extension" must be either "json" or "yaml". "suffix" is an optional string that can be used to determine which patches are applied first alpha-numerically. These files can be written into the target directory via KubeadmConfig.Files which specifies additional files to be created on the machine, either with content inline or by referencing a secret. type: string type: object skipPhases: - description: SkipPhases is a list of phases to skip - during command execution. The list of phases can - be obtained with the "kubeadm init --help" command. - This option takes effect only on Kubernetes >=1.22.0. + description: SkipPhases is a list of phases to skip during command execution. The list of phases can be obtained with the "kubeadm init --help" command. This option takes effect only on Kubernetes >=1.22.0. items: type: string type: array type: object mounts: - description: Mounts specifies a list of mount points to - be setup. + description: Mounts specifies a list of mount points to be setup. items: - description: MountPoints defines input for generated - mounts in cloud-init. + description: MountPoints defines input for generated mounts in cloud-init. items: type: string type: array @@ -5984,88 +4012,64 @@ spec: description: NTP specifies NTP configuration properties: enabled: - description: Enabled specifies whether NTP should - be enabled + description: Enabled specifies whether NTP should be enabled type: boolean servers: - description: Servers specifies which NTP servers to - use + description: Servers specifies which NTP servers to use items: type: string type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands - to run after kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands - to run before kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic - kubeadm command with a shell script with retries for - joins. \n This is meant to be an experimental temporary - workaround on some environments where joins fail due - to timing (and other issues). The long term goal is - to add retries to kubeadm proper and use that functionality. - \n This will add about 40KB to userdata \n For more - information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055. - Deprecated: This experimental fix is no longer needed - and this field will be removed in a future release." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055. Deprecated: This experimental fix is no longer needed and this field will be removed in a future release." type: boolean users: description: Users specifies extra users to add items: - description: User defines the input for a generated - user in cloud-init. + description: User defines the input for a generated user in cloud-init. properties: gecos: - description: Gecos specifies the gecos to use for - the user + description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups - for the user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory - to use for the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark - the user as inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password - login should be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name type: string passwd: - description: Passwd specifies a hashed password - for the user + description: Passwd specifies a hashed password for the user type: string passwdFrom: - description: PasswdFrom is a referenced source of - passwd to populate the passwd. + description: PasswdFrom is a referenced source of passwd to populate the passwd. properties: secret: - description: Secret represents a secret that - should populate this password. + description: Secret represents a secret that should populate this password. properties: key: - description: Key is the key in the secret's - data map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -6075,58 +4079,40 @@ spec: - secret type: object primaryGroup: - description: PrimaryGroup specifies the primary - group for the user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list - of ssh authorized keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array sudo: - description: Sudo specifies a sudo role for the - user + description: Sudo specifies a sudo role for the user type: string required: - name type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log - level verbosity. It overrides the `--v` flag in kubeadm - commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object machineTemplate: - description: MachineTemplate contains information about how - machines should be shaped when creating or updating a control - plane. + description: MachineTemplate contains information about how machines should be shaped when creating or updating a control plane. properties: nodeDeletionTimeout: - description: NodeDeletionTimeout defines how long the - machine 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. If - no value is provided, the default value for this property - of the Machine resource will be used. + description: NodeDeletionTimeout defines how long the machine 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. If no value is provided, the default value for this property of the Machine resource will be used. type: string nodeDrainTimeout: - description: 'NodeDrainTimeout is the total amount of - time that the controller will spend on draining a controlplane - 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`' + description: 'NodeDrainTimeout is the total amount of time that the controller will spend on draining a controlplane 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 type: object rolloutAfter: - description: RolloutAfter is a field to indicate a rollout - should be performed after the specified time even if no - changes have been made to the KubeadmControlPlane. + description: RolloutAfter is a field to indicate a rollout should be performed after the specified time even if no changes have been made to the KubeadmControlPlane. format: date-time type: string rolloutStrategy: @@ -6134,28 +4120,20 @@ spec: rollingUpdate: maxSurge: 1 type: RollingUpdate - description: The RolloutStrategy to use to replace control - plane machines with new ones. + description: The RolloutStrategy to use to replace control plane machines with new ones. properties: rollingUpdate: - description: Rolling update config params. Present only - if RolloutStrategyType = RollingUpdate. + description: Rolling update config params. Present only if RolloutStrategyType = RollingUpdate. properties: maxSurge: anyOf: - type: integer - type: string - description: 'The maximum number of control planes - that can be scheduled above or under the desired - number of control planes. Value can be an absolute - number 1 or 0. Defaults to 1. Example: when this - is set to 1, the control plane can be scaled up - immediately when the rolling update starts.' + description: 'The maximum number of control planes that can be scheduled above or under the desired number of control planes. Value can be an absolute number 1 or 0. Defaults to 1. Example: when this is set to 1, the control plane can be scaled up immediately when the rolling update starts.' x-kubernetes-int-or-string: true type: object type: - description: Type of rollout. Currently the only supported - strategy is "RollingUpdate". Default is RollingUpdate. + description: Type of rollout. Currently the only supported strategy is "RollingUpdate". Default is RollingUpdate. type: string type: object required: @@ -6362,7 +4340,7 @@ spec: - args: - --leader-elect - --metrics-bind-addr=localhost:8080 - #- --feature-gates=ClusterTopology=${CLUSTER_TOPOLOGY:=false},KubeadmBootstrapFormatIgnition=${EXP_KUBEADM_BOOTSTRAP_FORMAT_IGNITION:=false} + #- --feature-gates=ClusterTopology=${CLUSTER_TOPOLOGY:=false},KubeadmBootstrapFormatIgnition=${EXP_KUBEADM_BOOTSTRAP_FORMAT_IGNITION:=false} command: - /manager env: diff --git a/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/bmh.yaml b/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/bmh.yaml index f74f84d8..a2362d9e 100644 --- a/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/bmh.yaml +++ b/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/bmh.yaml @@ -1,4 +1,3 @@ ---- apiVersion: v1 kind: Secret metadata: @@ -20,4 +19,3 @@ spec: bmc: address: ipmi://192.168.111.1:6230 credentialsName: node-1-bmc-secret - diff --git a/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/bmo.yaml b/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/bmo.yaml index 833d2ee0..dba71e83 100644 --- a/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/bmo.yaml +++ b/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/bmo.yaml @@ -66,14 +66,10 @@ spec: description: BareMetalHost is the Schema for the baremetalhosts API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -82,8 +78,7 @@ spec: properties: automatedCleaningMode: default: metadata - description: When set to disabled, automated cleaning will be avoided - during provisioning and deprovisioning. + description: When set to disabled, automated cleaning will be avoided during provisioning and deprovisioning. enum: - metadata - disabled @@ -92,57 +87,37 @@ spec: description: How do we connect to the BMC? properties: address: - description: Address holds the URL for accessing the controller - on the network. + description: Address holds the URL for accessing the controller on the network. type: string credentialsName: - description: The name of the secret containing the BMC credentials - (requires keys "username" and "password"). + description: The name of the secret containing the BMC credentials (requires keys "username" and "password"). type: string disableCertificateVerification: - description: DisableCertificateVerification disables verification - of server certificates when using HTTPS to connect to the BMC. - This is required when the server certificate is self-signed, - but is insecure because it allows a man-in-the-middle to intercept - the connection. + description: DisableCertificateVerification disables verification of server certificates when using HTTPS to connect to the BMC. This is required when the server certificate is self-signed, but is insecure because it allows a man-in-the-middle to intercept the connection. type: boolean required: - address - credentialsName type: object bootMACAddress: - description: Which MAC address will PXE boot? This is optional for - some types, but required for libvirt VMs driven by vbmc. + description: Which MAC address will PXE boot? This is optional for some types, but required for libvirt VMs driven by vbmc. pattern: '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}' type: string bootMode: - description: Select the method of initializing the hardware during - boot. Defaults to UEFI. + description: Select the method of initializing the hardware during boot. Defaults to UEFI. enum: - UEFI - UEFISecureBoot - legacy type: string consumerRef: - description: ConsumerRef can be used to store information about something - that is using a host. When it is not empty, the host is considered - "in use". + description: ConsumerRef can be used to store information about something that is using a host. When it is not empty, the host is considered "in use". properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -154,8 +129,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -165,54 +139,41 @@ spec: description: A custom deploy procedure. properties: method: - description: Custom deploy method name. This name is specific - to the deploy ramdisk used. If you don't have a custom deploy - ramdisk, you shouldn't use CustomDeploy. + description: Custom deploy method name. This name is specific to the deploy ramdisk used. If you don't have a custom deploy ramdisk, you shouldn't use CustomDeploy. type: string required: - method type: object description: - description: Description is a human-entered text used to help identify - the host + description: Description is a human-entered text used to help identify the host type: string externallyProvisioned: - description: ExternallyProvisioned means something else is managing - the image running on the host and the operator should only manage - the power status and hardware inventory inspection. If the Image - field is filled in, this field is ignored. + description: ExternallyProvisioned means something else is managing the image running on the host and the operator should only manage the power status and hardware inventory inspection. If the Image field is filled in, this field is ignored. type: boolean firmware: description: BIOS configuration for bare metal server properties: simultaneousMultithreadingEnabled: - description: 'Allows a single physical processor core to appear - as several logical processors. This supports following options: - true, false.' + description: 'Allows a single physical processor core to appear as several logical processors. This supports following options: true, false.' enum: - true - false type: boolean sriovEnabled: - description: 'SR-IOV support enables a hypervisor to create virtual - instances of a PCI-express device, potentially increasing performance. - This supports following options: true, false.' + description: 'SR-IOV support enables a hypervisor to create virtual instances of a PCI-express device, potentially increasing performance. This supports following options: true, false.' enum: - true - false type: boolean virtualizationEnabled: - description: 'Supports the virtualization of platform hardware. - This supports following options: true, false.' + description: 'Supports the virtualization of platform hardware. This supports following options: true, false.' enum: - true - false type: boolean type: object hardwareProfile: - description: What is the name of the hardware profile for this host? - It should only be necessary to set this when inspection cannot automatically - determine the profile. + description: What is the name of the hardware profile for this host? It should only be necessary to set this when inspection cannot automatically determine the profile. type: string image: description: Image holds the details of the image to be provisioned. @@ -221,19 +182,14 @@ spec: description: Checksum is the checksum for the image. type: string checksumType: - description: ChecksumType is the checksum algorithm for the image. - e.g md5, sha256, sha512 + description: ChecksumType is the checksum algorithm for the image. e.g md5, sha256, sha512 enum: - md5 - sha256 - sha512 type: string format: - description: DiskFormat contains the format of the image (raw, - qcow2, ...). Needs to be set to raw for raw images streaming. - Note live-iso means an iso referenced by the url will be live-booted - and not deployed to disk, and in this case the checksum options - are not required and if specified will be ignored. + description: DiskFormat contains the format of the image (raw, qcow2, ...). Needs to be set to raw for raw images streaming. Note live-iso means an iso referenced by the url will be live-booted and not deployed to disk, and in this case the checksum options are not required and if specified will be ignored. enum: - raw - qcow2 @@ -248,59 +204,44 @@ spec: - url type: object metaData: - description: MetaData holds the reference to the Secret containing - host metadata (e.g. meta_data.json) which is passed to the Config - Drive. + description: MetaData holds the reference to the Secret containing host metadata (e.g. meta_data.json) which is passed to the Config Drive. properties: name: - description: Name is unique within a namespace to reference a - secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which the secret - name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object networkData: - description: NetworkData holds the reference to the Secret containing - network configuration (e.g content of network_data.json) which is - passed to the Config Drive. + description: NetworkData holds the reference to the Secret containing network configuration (e.g content of network_data.json) which is passed to the Config Drive. properties: name: - description: Name is unique within a namespace to reference a - secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which the secret - name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object online: description: Should the server be online? type: boolean preprovisioningNetworkDataName: - description: PreprovisioningNetworkDataName is the name of the Secret - in the local namespace containing network configuration (e.g content - of network_data.json) which is passed to the preprovisioning image, - and to the Config Drive if not overridden by specifying NetworkData. + description: PreprovisioningNetworkDataName is the name of the Secret in the local namespace containing network configuration (e.g content of network_data.json) which is passed to the preprovisioning image, and to the Config Drive if not overridden by specifying NetworkData. type: string raid: description: RAID configuration for bare metal server properties: hardwareRAIDVolumes: - description: The list of logical disks for hardware RAID, if rootDeviceHints - isn't used, first volume is root volume. You can set the value - of this field to `[]` to clear all the hardware RAID configurations. + description: The list of logical disks for hardware RAID, if rootDeviceHints isn't used, first volume is root volume. You can set the value of this field to `[]` to clear all the hardware RAID configurations. items: - description: HardwareRAIDVolume defines the desired configuration - of volume in hardware RAID + description: HardwareRAIDVolume defines the desired configuration of volume in hardware RAID properties: controller: description: The name of the RAID controller to use type: string level: - description: 'RAID level for the logical disk. The following - levels are supported: 0;1;2;5;6;1+0;5+0;6+0.' + description: 'RAID level for the logical disk. The following levels are supported: 0;1;2;5;6;1+0;5+0;6+0.' enum: - "0" - "1" @@ -312,32 +253,23 @@ spec: - 6+0 type: string name: - description: Name of the volume. Should be unique within - the Node. If not specified, volume name will be auto-generated. + description: Name of the volume. Should be unique within the Node. If not specified, volume name will be auto-generated. maxLength: 64 type: string numberOfPhysicalDisks: - description: Integer, number of physical disks to use for - the logical disk. Defaults to minimum number of disks - required for the particular RAID level. + description: Integer, number of physical disks to use for the logical disk. Defaults to minimum number of disks required for the particular RAID level. minimum: 1 type: integer physicalDisks: - description: Optional list of physical disk names to be - used for the Hardware RAID volumes. The disk names are - interpreted by the Hardware RAID controller, and the format - is hardware specific. + description: Optional list of physical disk names to be used for the Hardware RAID volumes. The disk names are interpreted by the Hardware RAID controller, and the format is hardware specific. items: type: string type: array rotational: - description: Select disks with only rotational or solid-state - storage + description: Select disks with only rotational or solid-state storage type: boolean sizeGibibytes: - description: Size (Integer) of the logical disk to be created - in GiB. If unspecified or set be 0, the maximum capacity - of disk will be used for logical disk. + description: Size (Integer) of the logical disk to be created in GiB. If unspecified or set be 0, the maximum capacity of disk will be used for logical disk. minimum: 0 type: integer required: @@ -346,85 +278,58 @@ spec: nullable: true type: array softwareRAIDVolumes: - description: The list of logical disks for software RAID, if rootDeviceHints - isn't used, first volume is root volume. If HardwareRAIDVolumes - is set this item will be invalid. The number of created Software - RAID devices must be 1 or 2. If there is only one Software RAID - device, it has to be a RAID-1. If there are two, the first one - has to be a RAID-1, while the RAID level for the second one - can be 0, 1, or 1+0. As the first RAID device will be the deployment - device, enforcing a RAID-1 reduces the risk of ending up with - a non-booting node in case of a disk failure. Software RAID - will always be deleted. + description: The list of logical disks for software RAID, if rootDeviceHints isn't used, first volume is root volume. If HardwareRAIDVolumes is set this item will be invalid. The number of created Software RAID devices must be 1 or 2. If there is only one Software RAID device, it has to be a RAID-1. If there are two, the first one has to be a RAID-1, while the RAID level for the second one can be 0, 1, or 1+0. As the first RAID device will be the deployment device, enforcing a RAID-1 reduces the risk of ending up with a non-booting node in case of a disk failure. Software RAID will always be deleted. items: - description: SoftwareRAIDVolume defines the desired configuration - of volume in software RAID + description: SoftwareRAIDVolume defines the desired configuration of volume in software RAID properties: level: - description: 'RAID level for the logical disk. The following - levels are supported: 0;1;1+0.' + description: 'RAID level for the logical disk. The following levels are supported: 0;1;1+0.' enum: - "0" - "1" - 1+0 type: string physicalDisks: - description: A list of device hints, the number of items - should be greater than or equal to 2. + description: A list of device hints, the number of items should be greater than or equal to 2. items: - description: RootDeviceHints holds the hints for specifying - the storage location for the root filesystem for the - image. + description: RootDeviceHints holds the hints for specifying the storage location for the root filesystem for the image. properties: deviceName: - description: A Linux device name like "/dev/vda". - The hint must match the actual value exactly. + description: A Linux device name like "/dev/vda". The hint must match the actual value exactly. type: string hctl: - description: A SCSI bus address like 0:0:0:0. The - hint must match the actual value exactly. + description: A SCSI bus address like 0:0:0:0. The hint must match the actual value exactly. type: string minSizeGigabytes: description: The minimum size of the device in Gigabytes. minimum: 0 type: integer model: - description: A vendor-specific device identifier. - The hint can be a substring of the actual value. + description: A vendor-specific device identifier. The hint can be a substring of the actual value. type: string rotational: - description: True if the device should use spinning - media, false otherwise. + description: True if the device should use spinning media, false otherwise. type: boolean serialNumber: - description: Device serial number. The hint must match - the actual value exactly. + description: Device serial number. The hint must match the actual value exactly. type: string vendor: - description: The name of the vendor or manufacturer - of the device. The hint can be a substring of the - actual value. + description: The name of the vendor or manufacturer of the device. The hint can be a substring of the actual value. type: string wwn: - description: Unique storage identifier. The hint must - match the actual value exactly. + description: Unique storage identifier. The hint must match the actual value exactly. type: string wwnVendorExtension: - description: Unique vendor storage identifier. The - hint must match the actual value exactly. + description: Unique vendor storage identifier. The hint must match the actual value exactly. type: string wwnWithExtension: - description: Unique storage identifier with the vendor - extension appended. The hint must match the actual - value exactly. + description: Unique storage identifier with the vendor extension appended. The hint must match the actual value exactly. type: string type: object minItems: 2 type: array sizeGibibytes: - description: Size (Integer) of the logical disk to be created - in GiB. If unspecified or set be 0, the maximum capacity - of disk will be used for logical disk. + description: Size (Integer) of the logical disk to be created in GiB. If unspecified or set be 0, the maximum capacity of disk will be used for logical disk. minimum: 0 type: integer required: @@ -435,69 +340,53 @@ spec: type: array type: object rootDeviceHints: - description: Provide guidance about how to choose the device for the - image being provisioned. + description: Provide guidance about how to choose the device for the image being provisioned. properties: deviceName: - description: A Linux device name like "/dev/vda". The hint must - match the actual value exactly. + description: A Linux device name like "/dev/vda". The hint must match the actual value exactly. type: string hctl: - description: A SCSI bus address like 0:0:0:0. The hint must match - the actual value exactly. + description: A SCSI bus address like 0:0:0:0. The hint must match the actual value exactly. type: string minSizeGigabytes: description: The minimum size of the device in Gigabytes. minimum: 0 type: integer model: - description: A vendor-specific device identifier. The hint can - be a substring of the actual value. + description: A vendor-specific device identifier. The hint can be a substring of the actual value. type: string rotational: - description: True if the device should use spinning media, false - otherwise. + description: True if the device should use spinning media, false otherwise. type: boolean serialNumber: - description: Device serial number. The hint must match the actual - value exactly. + description: Device serial number. The hint must match the actual value exactly. type: string vendor: - description: The name of the vendor or manufacturer of the device. - The hint can be a substring of the actual value. + description: The name of the vendor or manufacturer of the device. The hint can be a substring of the actual value. type: string wwn: - description: Unique storage identifier. The hint must match the - actual value exactly. + description: Unique storage identifier. The hint must match the actual value exactly. type: string wwnVendorExtension: - description: Unique vendor storage identifier. The hint must match - the actual value exactly. + description: Unique vendor storage identifier. The hint must match the actual value exactly. type: string wwnWithExtension: - description: Unique storage identifier with the vendor extension - appended. The hint must match the actual value exactly. + description: Unique storage identifier with the vendor extension appended. The hint must match the actual value exactly. type: string type: object taints: - description: Taints is the full, authoritative list of taints to apply - to the corresponding Machine. This list will overwrite any modifications - made to the Machine on an ongoing basis. + description: Taints is the full, authoritative list of taints to apply to the corresponding Machine. This list will overwrite any modifications made to the Machine on an ongoing basis. items: - description: The node this Taint is attached to has the "effect" - on any pod that does not tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on pods that - do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule - and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which the taint - was added. It is only written for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: @@ -509,16 +398,13 @@ spec: type: object type: array userData: - description: UserData holds the reference to the Secret containing - the user data to be passed to the host before it boots. + description: UserData holds the reference to the Secret containing the user data to be passed to the host before it boots. properties: name: - description: Name is unique within a namespace to reference a - secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which the secret - name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object required: @@ -529,15 +415,13 @@ spec: properties: errorCount: default: 0 - description: ErrorCount records how many times the host has encoutered - an error since the last successful operation + description: ErrorCount records how many times the host has encoutered an error since the last successful operation type: integer errorMessage: description: the last error message reported by the provisioning subsystem type: string errorType: - description: ErrorType indicates the type of failure encountered when - the OperationalStatus is OperationalStatusError + description: ErrorType indicates the type of failure encountered when the OperationalStatus is OperationalStatusError enum: - provisioned registration error - registration error @@ -550,16 +434,13 @@ spec: description: the last credentials we were able to validate as working properties: credentials: - description: SecretReference represents a Secret Reference. It - has enough information to retrieve secret in any namespace + description: SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace properties: name: - description: Name is unique within a namespace to reference - a secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which the - secret name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object credentialsVersion: @@ -610,18 +491,14 @@ spec: description: NIC describes one network interface on the host. properties: ip: - description: The IP address of the interface. This will - be an IPv4 or IPv6 address if one is present. If both - IPv4 and IPv6 addresses are present in a dual-stack environment, - two nics will be output, one with each IP. + description: The IP address of the interface. This will be an IPv4 or IPv6 address if one is present. If both IPv4 and IPv6 addresses are present in a dual-stack environment, two nics will be output, one with each IP. type: string mac: description: The device MAC address pattern: '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}' type: string model: - description: The vendor and product IDs of the NIC, e.g. - "0x8086 0x1572" + description: The vendor and product IDs of the NIC, e.g. "0x8086 0x1572" type: string name: description: The name of the network interface, e.g. "en0" @@ -659,8 +536,7 @@ spec: type: integer storage: items: - description: Storage describes one storage device (disk, SSD, - etc.) on the host. + description: Storage describes one storage device (disk, SSD, etc.) on the host. properties: hctl: description: The SCSI location of the device @@ -669,14 +545,10 @@ spec: description: Hardware model type: string name: - description: The Linux device name of the disk, e.g. "/dev/sda". - Note that this may not be stable across reboots. + description: The Linux device name of the disk, e.g. "/dev/sda". Note that this may not be stable across reboots. type: string rotational: - description: Whether this disk represents rotational storage. - This field is not recommended for usage, please prefer - using 'Type' field instead, this field will be deprecated - eventually. + description: Whether this disk represents rotational storage. This field is not recommended for usage, please prefer using 'Type' field instead, this field will be deprecated eventually. type: boolean serialNumber: description: The serial number of the device @@ -707,8 +579,7 @@ spec: type: object type: array systemVendor: - description: HardwareSystemVendor stores details about the whole - hardware system. + description: HardwareSystemVendor stores details about the whole hardware system. properties: manufacturer: type: string @@ -726,12 +597,10 @@ spec: format: date-time type: string operationHistory: - description: OperationHistory holds information about operations performed - on this host. + description: OperationHistory holds information about operations performed on this host. properties: deprovision: - description: OperationMetric contains metadata about an operation - (inspection, provisioning, etc.) used for tracking metrics. + description: OperationMetric contains metadata about an operation (inspection, provisioning, etc.) used for tracking metrics. properties: end: format: date-time @@ -743,8 +612,7 @@ spec: type: string type: object inspect: - description: OperationMetric contains metadata about an operation - (inspection, provisioning, etc.) used for tracking metrics. + description: OperationMetric contains metadata about an operation (inspection, provisioning, etc.) used for tracking metrics. properties: end: format: date-time @@ -756,8 +624,7 @@ spec: type: string type: object provision: - description: OperationMetric contains metadata about an operation - (inspection, provisioning, etc.) used for tracking metrics. + description: OperationMetric contains metadata about an operation (inspection, provisioning, etc.) used for tracking metrics. properties: end: format: date-time @@ -769,8 +636,7 @@ spec: type: string type: object register: - description: OperationMetric contains metadata about an operation - (inspection, provisioning, etc.) used for tracking metrics. + description: OperationMetric contains metadata about an operation (inspection, provisioning, etc.) used for tracking metrics. properties: end: format: date-time @@ -799,12 +665,10 @@ spec: description: Information tracked by the provisioner. properties: ID: - description: The machine's UUID from the underlying provisioning - tool + description: The machine's UUID from the underlying provisioning tool type: string bootMode: - description: BootMode indicates the boot mode used to provision - the node + description: BootMode indicates the boot mode used to provision the node enum: - UEFI - UEFISecureBoot @@ -814,9 +678,7 @@ spec: description: Custom deploy procedure applied to the host. properties: method: - description: Custom deploy method name. This name is specific - to the deploy ramdisk used. If you don't have a custom deploy - ramdisk, you shouldn't use CustomDeploy. + description: Custom deploy method name. This name is specific to the deploy ramdisk used. If you don't have a custom deploy ramdisk, you shouldn't use CustomDeploy. type: string required: - method @@ -825,51 +687,39 @@ spec: description: The Bios set by the user properties: simultaneousMultithreadingEnabled: - description: 'Allows a single physical processor core to appear - as several logical processors. This supports following options: - true, false.' + description: 'Allows a single physical processor core to appear as several logical processors. This supports following options: true, false.' enum: - true - false type: boolean sriovEnabled: - description: 'SR-IOV support enables a hypervisor to create - virtual instances of a PCI-express device, potentially increasing - performance. This supports following options: true, false.' + description: 'SR-IOV support enables a hypervisor to create virtual instances of a PCI-express device, potentially increasing performance. This supports following options: true, false.' enum: - true - false type: boolean virtualizationEnabled: - description: 'Supports the virtualization of platform hardware. - This supports following options: true, false.' + description: 'Supports the virtualization of platform hardware. This supports following options: true, false.' enum: - true - false type: boolean type: object image: - description: Image holds the details of the last image successfully - provisioned to the host. + description: Image holds the details of the last image successfully provisioned to the host. properties: checksum: description: Checksum is the checksum for the image. type: string checksumType: - description: ChecksumType is the checksum algorithm for the - image. e.g md5, sha256, sha512 + description: ChecksumType is the checksum algorithm for the image. e.g md5, sha256, sha512 enum: - md5 - sha256 - sha512 type: string format: - description: DiskFormat contains the format of the image (raw, - qcow2, ...). Needs to be set to raw for raw images streaming. - Note live-iso means an iso referenced by the url will be - live-booted and not deployed to disk, and in this case the - checksum options are not required and if specified will - be ignored. + description: DiskFormat contains the format of the image (raw, qcow2, ...). Needs to be set to raw for raw images streaming. Note live-iso means an iso referenced by the url will be live-booted and not deployed to disk, and in this case the checksum options are not required and if specified will be ignored. enum: - raw - qcow2 @@ -887,20 +737,15 @@ spec: description: The Raid set by the user properties: hardwareRAIDVolumes: - description: The list of logical disks for hardware RAID, - if rootDeviceHints isn't used, first volume is root volume. - You can set the value of this field to `[]` to clear all - the hardware RAID configurations. + description: The list of logical disks for hardware RAID, if rootDeviceHints isn't used, first volume is root volume. You can set the value of this field to `[]` to clear all the hardware RAID configurations. items: - description: HardwareRAIDVolume defines the desired configuration - of volume in hardware RAID + description: HardwareRAIDVolume defines the desired configuration of volume in hardware RAID properties: controller: description: The name of the RAID controller to use type: string level: - description: 'RAID level for the logical disk. The following - levels are supported: 0;1;2;5;6;1+0;5+0;6+0.' + description: 'RAID level for the logical disk. The following levels are supported: 0;1;2;5;6;1+0;5+0;6+0.' enum: - "0" - "1" @@ -912,32 +757,23 @@ spec: - 6+0 type: string name: - description: Name of the volume. Should be unique within - the Node. If not specified, volume name will be auto-generated. + description: Name of the volume. Should be unique within the Node. If not specified, volume name will be auto-generated. maxLength: 64 type: string numberOfPhysicalDisks: - description: Integer, number of physical disks to use - for the logical disk. Defaults to minimum number of - disks required for the particular RAID level. + description: Integer, number of physical disks to use for the logical disk. Defaults to minimum number of disks required for the particular RAID level. minimum: 1 type: integer physicalDisks: - description: Optional list of physical disk names to - be used for the Hardware RAID volumes. The disk names - are interpreted by the Hardware RAID controller, and - the format is hardware specific. + description: Optional list of physical disk names to be used for the Hardware RAID volumes. The disk names are interpreted by the Hardware RAID controller, and the format is hardware specific. items: type: string type: array rotational: - description: Select disks with only rotational or solid-state - storage + description: Select disks with only rotational or solid-state storage type: boolean sizeGibibytes: - description: Size (Integer) of the logical disk to be - created in GiB. If unspecified or set be 0, the maximum - capacity of disk will be used for logical disk. + description: Size (Integer) of the logical disk to be created in GiB. If unspecified or set be 0, the maximum capacity of disk will be used for logical disk. minimum: 0 type: integer required: @@ -946,87 +782,58 @@ spec: nullable: true type: array softwareRAIDVolumes: - description: The list of logical disks for software RAID, - if rootDeviceHints isn't used, first volume is root volume. - If HardwareRAIDVolumes is set this item will be invalid. - The number of created Software RAID devices must be 1 or - 2. If there is only one Software RAID device, it has to - be a RAID-1. If there are two, the first one has to be a - RAID-1, while the RAID level for the second one can be 0, - 1, or 1+0. As the first RAID device will be the deployment - device, enforcing a RAID-1 reduces the risk of ending up - with a non-booting node in case of a disk failure. Software - RAID will always be deleted. + description: The list of logical disks for software RAID, if rootDeviceHints isn't used, first volume is root volume. If HardwareRAIDVolumes is set this item will be invalid. The number of created Software RAID devices must be 1 or 2. If there is only one Software RAID device, it has to be a RAID-1. If there are two, the first one has to be a RAID-1, while the RAID level for the second one can be 0, 1, or 1+0. As the first RAID device will be the deployment device, enforcing a RAID-1 reduces the risk of ending up with a non-booting node in case of a disk failure. Software RAID will always be deleted. items: - description: SoftwareRAIDVolume defines the desired configuration - of volume in software RAID + description: SoftwareRAIDVolume defines the desired configuration of volume in software RAID properties: level: - description: 'RAID level for the logical disk. The following - levels are supported: 0;1;1+0.' + description: 'RAID level for the logical disk. The following levels are supported: 0;1;1+0.' enum: - "0" - "1" - 1+0 type: string physicalDisks: - description: A list of device hints, the number of items - should be greater than or equal to 2. + description: A list of device hints, the number of items should be greater than or equal to 2. items: - description: RootDeviceHints holds the hints for specifying - the storage location for the root filesystem for - the image. + description: RootDeviceHints holds the hints for specifying the storage location for the root filesystem for the image. properties: deviceName: - description: A Linux device name like "/dev/vda". - The hint must match the actual value exactly. + description: A Linux device name like "/dev/vda". The hint must match the actual value exactly. type: string hctl: - description: A SCSI bus address like 0:0:0:0. - The hint must match the actual value exactly. + description: A SCSI bus address like 0:0:0:0. The hint must match the actual value exactly. type: string minSizeGigabytes: - description: The minimum size of the device in - Gigabytes. + description: The minimum size of the device in Gigabytes. minimum: 0 type: integer model: - description: A vendor-specific device identifier. - The hint can be a substring of the actual value. + description: A vendor-specific device identifier. The hint can be a substring of the actual value. type: string rotational: - description: True if the device should use spinning - media, false otherwise. + description: True if the device should use spinning media, false otherwise. type: boolean serialNumber: - description: Device serial number. The hint must - match the actual value exactly. + description: Device serial number. The hint must match the actual value exactly. type: string vendor: - description: The name of the vendor or manufacturer - of the device. The hint can be a substring of - the actual value. + description: The name of the vendor or manufacturer of the device. The hint can be a substring of the actual value. type: string wwn: - description: Unique storage identifier. The hint - must match the actual value exactly. + description: Unique storage identifier. The hint must match the actual value exactly. type: string wwnVendorExtension: - description: Unique vendor storage identifier. - The hint must match the actual value exactly. + description: Unique vendor storage identifier. The hint must match the actual value exactly. type: string wwnWithExtension: - description: Unique storage identifier with the - vendor extension appended. The hint must match - the actual value exactly. + description: Unique storage identifier with the vendor extension appended. The hint must match the actual value exactly. type: string type: object minItems: 2 type: array sizeGibibytes: - description: Size (Integer) of the logical disk to be - created in GiB. If unspecified or set be 0, the maximum - capacity of disk will be used for logical disk. + description: Size (Integer) of the logical disk to be created in GiB. If unspecified or set be 0, the maximum capacity of disk will be used for logical disk. minimum: 0 type: integer required: @@ -1040,49 +847,39 @@ spec: description: The RootDevicehints set by the user properties: deviceName: - description: A Linux device name like "/dev/vda". The hint - must match the actual value exactly. + description: A Linux device name like "/dev/vda". The hint must match the actual value exactly. type: string hctl: - description: A SCSI bus address like 0:0:0:0. The hint must - match the actual value exactly. + description: A SCSI bus address like 0:0:0:0. The hint must match the actual value exactly. type: string minSizeGigabytes: description: The minimum size of the device in Gigabytes. minimum: 0 type: integer model: - description: A vendor-specific device identifier. The hint - can be a substring of the actual value. + description: A vendor-specific device identifier. The hint can be a substring of the actual value. type: string rotational: - description: True if the device should use spinning media, - false otherwise. + description: True if the device should use spinning media, false otherwise. type: boolean serialNumber: - description: Device serial number. The hint must match the - actual value exactly. + description: Device serial number. The hint must match the actual value exactly. type: string vendor: - description: The name of the vendor or manufacturer of the - device. The hint can be a substring of the actual value. + description: The name of the vendor or manufacturer of the device. The hint can be a substring of the actual value. type: string wwn: - description: Unique storage identifier. The hint must match - the actual value exactly. + description: Unique storage identifier. The hint must match the actual value exactly. type: string wwnVendorExtension: - description: Unique vendor storage identifier. The hint must - match the actual value exactly. + description: Unique vendor storage identifier. The hint must match the actual value exactly. type: string wwnWithExtension: - description: Unique storage identifier with the vendor extension - appended. The hint must match the actual value exactly. + description: Unique storage identifier with the vendor extension appended. The hint must match the actual value exactly. type: string type: object state: - description: An indiciator for what the provisioner is doing with - the host. + description: An indiciator for what the provisioner is doing with the host. type: string required: - ID @@ -1092,16 +889,13 @@ spec: description: the last credentials we sent to the provisioning backend properties: credentials: - description: SecretReference represents a Secret Reference. It - has enough information to retrieve secret in any namespace + description: SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace properties: name: - description: Name is unique within a namespace to reference - a secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which the - secret name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object credentialsVersion: @@ -1161,14 +955,10 @@ spec: description: BMCEventSubscription is the Schema for the fast eventing API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -1184,16 +974,13 @@ spec: description: A reference to a BareMetalHost type: string httpHeadersRef: - description: A secret containing HTTP headers which should be passed - along to the Destination when making a request + description: A secret containing HTTP headers which should be passed along to the Destination when making a request properties: name: - description: Name is unique within a namespace to reference a - secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which the secret - name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object type: object @@ -1238,14 +1025,10 @@ spec: description: FirmwareSchema is the Schema for the firmwareschemas API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -1289,8 +1072,7 @@ spec: description: Whether or not this setting is read only. type: boolean unique: - description: Whether or not this setting's value is unique to - this node, e.g. a serial number. + description: Whether or not this setting's value is unique to this node, e.g. a serial number. type: boolean upper_bound: description: The highest value for an Integer type setting. @@ -1340,14 +1122,10 @@ spec: description: HardwareData is the Schema for the hardwaredata API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -1399,18 +1177,14 @@ spec: description: NIC describes one network interface on the host. properties: ip: - description: The IP address of the interface. This will - be an IPv4 or IPv6 address if one is present. If both - IPv4 and IPv6 addresses are present in a dual-stack environment, - two nics will be output, one with each IP. + description: The IP address of the interface. This will be an IPv4 or IPv6 address if one is present. If both IPv4 and IPv6 addresses are present in a dual-stack environment, two nics will be output, one with each IP. type: string mac: description: The device MAC address pattern: '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}' type: string model: - description: The vendor and product IDs of the NIC, e.g. - "0x8086 0x1572" + description: The vendor and product IDs of the NIC, e.g. "0x8086 0x1572" type: string name: description: The name of the network interface, e.g. "en0" @@ -1448,8 +1222,7 @@ spec: type: integer storage: items: - description: Storage describes one storage device (disk, SSD, - etc.) on the host. + description: Storage describes one storage device (disk, SSD, etc.) on the host. properties: hctl: description: The SCSI location of the device @@ -1458,14 +1231,10 @@ spec: description: Hardware model type: string name: - description: The Linux device name of the disk, e.g. "/dev/sda". - Note that this may not be stable across reboots. + description: The Linux device name of the disk, e.g. "/dev/sda". Note that this may not be stable across reboots. type: string rotational: - description: Whether this disk represents rotational storage. - This field is not recommended for usage, please prefer - using 'Type' field instead, this field will be deprecated - eventually. + description: Whether this disk represents rotational storage. This field is not recommended for usage, please prefer using 'Type' field instead, this field will be deprecated eventually. type: boolean serialNumber: description: The serial number of the device @@ -1496,8 +1265,7 @@ spec: type: object type: array systemVendor: - description: HardwareSystemVendor stores details about the whole - hardware system. + description: HardwareSystemVendor stores details about the whole hardware system. properties: manufacturer: type: string @@ -1540,18 +1308,13 @@ spec: - name: v1alpha1 schema: openAPIV3Schema: - description: HostFirmwareSettings is the Schema for the hostfirmwaresettings - API + description: HostFirmwareSettings is the Schema for the hostfirmwaresettings API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -1564,58 +1327,34 @@ spec: - type: integer - type: string x-kubernetes-int-or-string: true - description: Settings are the desired firmware settings stored as - name/value pairs. + description: Settings are the desired firmware settings stored as name/value pairs. type: object required: - settings type: object status: - description: HostFirmwareSettingsStatus defines the observed state of - HostFirmwareSettings + description: HostFirmwareSettingsStatus defines the observed state of HostFirmwareSettings properties: conditions: - description: Track whether settings stored in the spec are valid based - on the schema + description: Track whether settings stored in the spec are valid based on the schema items: - description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - type FooStatus struct{ // Represents the observations of a foo's - current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" properties: lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. + description: lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. + description: message is a human readable message indicating details about the transition. This may be an empty string. maxLength: 32768 type: string observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. + description: observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. format: int64 minimum: 0 type: integer reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. - This field may not be empty. + description: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. maxLength: 1024 minLength: 1 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ @@ -1628,11 +1367,7 @@ spec: - Unknown type: string type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + description: type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string @@ -1652,16 +1387,13 @@ spec: format: date-time type: string schema: - description: FirmwareSchema is a reference to the Schema used to describe - each FirmwareSetting. By default, this will be a Schema in the same - Namespace as the settings but it can be overwritten in the Spec + description: FirmwareSchema is a reference to the Schema used to describe each FirmwareSetting. By default, this will be a Schema in the same Namespace as the settings but it can be overwritten in the Spec properties: name: description: '`name` is the reference to the schema.' type: string namespace: - description: '`namespace` is the namespace of the where the schema - is stored.' + description: '`namespace` is the namespace of the where the schema is stored.' type: string required: - name @@ -1670,8 +1402,7 @@ spec: settings: additionalProperties: type: string - description: Settings are the firmware settings stored as name/value - pairs + description: Settings are the firmware settings stored as name/value pairs type: object required: - settings @@ -1718,18 +1449,13 @@ spec: name: v1alpha1 schema: openAPIV3Schema: - description: PreprovisioningImage is the Schema for the preprovisioningimages - API + description: PreprovisioningImage is the Schema for the preprovisioningimages API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -1746,63 +1472,38 @@ spec: type: string type: array architecture: - description: architecture is the processor architecture for which - to build the image. + description: architecture is the processor architecture for which to build the image. type: string networkDataName: - description: networkDataName is the name of a Secret in the local - namespace that contains network data to build in to the image. + description: networkDataName is the name of a Secret in the local namespace that contains network data to build in to the image. type: string type: object status: - description: PreprovisioningImageStatus defines the observed state of - PreprovisioningImage + description: PreprovisioningImageStatus defines the observed state of PreprovisioningImage properties: architecture: - description: architecture is the processor architecture for which - the image is built + description: architecture is the processor architecture for which the image is built type: string conditions: description: conditions describe the state of the built image items: - description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - type FooStatus struct{ // Represents the observations of a foo's - current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" properties: lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. + description: lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. + description: message is a human readable message indicating details about the transition. This may be an empty string. maxLength: 32768 type: string observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. + description: observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. format: int64 minimum: 0 type: integer reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. - This field may not be empty. + description: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. maxLength: 1024 minLength: 1 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ @@ -1815,11 +1516,7 @@ spec: - Unknown type: string type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + description: type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string @@ -1835,28 +1532,22 @@ spec: - type x-kubernetes-list-type: map extraKernelParams: - description: extraKernelParams is a string with extra parameters to - pass to the kernel when booting the image over network. Only makes - sense for initrd images. + description: extraKernelParams is a string with extra parameters to pass to the kernel when booting the image over network. Only makes sense for initrd images. type: string format: - description: 'format is the type of image that is available at the - download url: either iso or initrd.' + description: 'format is the type of image that is available at the download url: either iso or initrd.' enum: - iso - initrd type: string imageUrl: - description: imageUrl is the URL from which the built image can be - downloaded. + description: imageUrl is the URL from which the built image can be downloaded. type: string kernelUrl: - description: kernelUrl is the URL from which the kernel of the image - can be downloaded. Only makes sense for initrd images. + description: kernelUrl is the URL from which the kernel of the image can be downloaded. Only makes sense for initrd images. type: string networkData: - description: networkData is a reference to the version of the Secret - containing the network data used to build the image. + description: networkData is a reference to the version of the Secret containing the network data used to build the image. properties: name: type: string diff --git a/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/capi.yaml b/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/capi.yaml index e82f9828..0be03253 100644 --- a/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/capi.yaml +++ b/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/capi.yaml @@ -48,18 +48,13 @@ spec: name: v1alpha4 schema: openAPIV3Schema: - description: ClusterClass is a template which can be used to create managed - topologies. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -67,35 +62,19 @@ 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. + 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." + 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. + 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.' + 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' @@ -107,8 +86,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -119,49 +97,27 @@ spec: - 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." + 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' + 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' + 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. + 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.' + 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' @@ -173,8 +129,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -185,31 +140,16 @@ spec: - 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. + 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. + 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.' + 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' @@ -221,8 +161,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -233,77 +172,45 @@ spec: - 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. + 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. + 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`. + 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. + 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. + 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. + 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. + 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.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: - description: 'Kind of the referent. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which - this reference is made, if any. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: - description: 'UID of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object x-kubernetes-map-type: atomic @@ -311,54 +218,31 @@ spec: - ref type: object infrastructure: - description: Infrastructure contains the infrastructure - template reference to be used for the creation of - worker Machines. + 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. + 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.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: - description: 'Kind of the referent. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which - this reference is made, if any. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: - description: 'UID of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object x-kubernetes-map-type: atomic @@ -366,27 +250,17 @@ spec: - 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. + 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' + 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' + 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: @@ -412,18 +286,13 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: ClusterClass is a template which can be used to create managed - topologies. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -431,53 +300,28 @@ 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. + 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. + 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. + 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. + 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." + 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.' + 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' @@ -489,8 +333,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -498,15 +341,9 @@ spec: 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. + 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. + 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 @@ -523,41 +360,21 @@ spec: 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' + 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." + 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. + 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.' + 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' @@ -569,8 +386,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -581,49 +397,27 @@ spec: - 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." + 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' + 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' + 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. + 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.' + 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' @@ -635,8 +429,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -647,31 +440,16 @@ spec: - 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. + 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. + 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.' + 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' @@ -683,8 +461,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -695,71 +472,37 @@ spec: - 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.' + 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. + 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.' + 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. + 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.' + 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.' + 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' + 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' + 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.' + 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.' + 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. + 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: @@ -768,8 +511,7 @@ spec: type: object type: array selector: - description: Selector defines on which templates the patch - should be applied. + description: Selector defines on which templates the patch should be applied. properties: apiVersion: description: APIVersion filters templates by apiVersion. @@ -778,27 +520,19 @@ spec: description: Kind filters templates by kind. type: string matchResources: - description: MatchResources selects templates based - on where they are referenced. + 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).' + 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. + description: InfrastructureCluster selects templates referenced in .spec.infrastructure. type: boolean machineDeploymentClass: - description: MachineDeploymentClass selects templates - referenced in specific MachineDeploymentClasses - in .spec.workers.machineDeployments. + description: MachineDeploymentClass selects templates referenced in specific MachineDeploymentClasses in .spec.workers.machineDeployments. properties: names: - description: Names selects templates by class - names. + description: Names selects templates by class names. items: type: string type: array @@ -815,28 +549,19 @@ spec: type: object type: array description: - description: Description is a human-readable description of - this patch. + 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. + 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.' + 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. + 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. + description: ValidateExtension references an extension which is called to validate the topology. type: string type: object name: @@ -847,48 +572,33 @@ spec: type: object type: array variables: - description: Variables defines the variables which can be configured - in the Cluster topology and are then used in patches. + 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. + 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.' + 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. + 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.' + 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.' + 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. + 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.' + 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 @@ -896,94 +606,57 @@ spec: 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.' + 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.' + 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.' + 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.' + 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.' + 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.' + 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.' + 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.' + 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.' + 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.' + 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.' + 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.' + 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.' + 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.' + 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.' + description: 'UniqueItems specifies if items in an array must be unique. NOTE: Can only be set if type is array.' type: boolean required: - type @@ -998,69 +671,36 @@ spec: 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. + 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. + 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`. + 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. + 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 machineHealthCheck: - description: MachineHealthCheck defines a MachineHealthCheck - for this MachineDeploymentClass. + 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. + 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. + 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." + 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.' + 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' @@ -1069,12 +709,10 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which - this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -1082,17 +720,9 @@ spec: 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. + 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. + 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 @@ -1109,69 +739,39 @@ spec: 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' + 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 template: - description: Template is a local struct containing a collection - of templates for creation of MachineDeployment objects - representing a set of worker nodes. + 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. + 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. + 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.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: - description: 'Kind of the referent. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which - this reference is made, if any. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: - description: 'UID of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object x-kubernetes-map-type: atomic @@ -1179,54 +779,31 @@ spec: - ref type: object infrastructure: - description: Infrastructure contains the infrastructure - template reference to be used for the creation of - worker Machines. + 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. + 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.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: - description: 'Kind of the referent. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which - this reference is made, if any. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: - description: 'UID of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object x-kubernetes-map-type: atomic @@ -1234,27 +811,17 @@ spec: - 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. + 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' + 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' + 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: @@ -1308,68 +875,50 @@ spec: - name: v1alpha3 schema: openAPIV3Schema: - description: ClusterResourceSetBinding lists all matching ClusterResourceSets - with the cluster it belongs to. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: - description: ClusterResourceSetBindingSpec defines the desired state of - ClusterResourceSetBinding. + 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. + 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. + 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. + 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. + 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. + 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. + 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.' + 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. + 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. + description: Name of the resource that is in the same namespace with ClusterResourceSet object. minLength: 1 type: string required: @@ -1396,68 +945,50 @@ spec: name: v1alpha4 schema: openAPIV3Schema: - description: ClusterResourceSetBinding lists all matching ClusterResourceSets - with the cluster it belongs to. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: - description: ClusterResourceSetBindingSpec defines the desired state of - ClusterResourceSetBinding. + 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. + 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. + 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. + 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. + 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. + 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. + 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.' + 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. + 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. + description: Name of the resource that is in the same namespace with ClusterResourceSet object. minLength: 1 type: string required: @@ -1484,68 +1015,50 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: ClusterResourceSetBinding lists all matching ClusterResourceSets - with the cluster it belongs to. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: - description: ClusterResourceSetBindingSpec defines the desired state of - ClusterResourceSetBinding. + 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. + 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. + 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. + 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. + 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. + 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. + 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.' + 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. + 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. + description: Name of the resource that is in the same namespace with ClusterResourceSet object. minLength: 1 type: string required: @@ -1600,18 +1113,13 @@ spec: - name: v1alpha3 schema: openAPIV3Schema: - description: ClusterResourceSet is the Schema for the clusterresourcesets - API. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -1619,33 +1127,21 @@ 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. + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -1657,29 +1153,22 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object resources: - description: Resources is a list of Secrets/ConfigMaps where each - contains 1 or more resources to be applied to remote clusters. + 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.' + 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. + description: Name of the resource that is in the same namespace with ClusterResourceSet object. minLength: 1 type: string required: @@ -1688,8 +1177,7 @@ spec: type: object type: array strategy: - description: Strategy is the strategy to be used during applying resources. - Defaults to ApplyOnce. This field is immutable. + description: Strategy is the strategy to be used during applying resources. Defaults to ApplyOnce. This field is immutable. enum: - ApplyOnce type: string @@ -1702,41 +1190,26 @@ spec: conditions: description: Conditions defines current state of the ClusterResourceSet. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -1744,8 +1217,7 @@ spec: type: object type: array observedGeneration: - description: ObservedGeneration reflects the generation of the most - recently observed ClusterResourceSet. + description: ObservedGeneration reflects the generation of the most recently observed ClusterResourceSet. format: int64 type: integer type: object @@ -1762,18 +1234,13 @@ spec: name: v1alpha4 schema: openAPIV3Schema: - description: ClusterResourceSet is the Schema for the clusterresourcesets - API. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -1781,34 +1248,21 @@ 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. + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -1820,29 +1274,22 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object resources: - description: Resources is a list of Secrets/ConfigMaps where each - contains 1 or more resources to be applied to remote clusters. + 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.' + 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. + description: Name of the resource that is in the same namespace with ClusterResourceSet object. minLength: 1 type: string required: @@ -1851,8 +1298,7 @@ spec: type: object type: array strategy: - description: Strategy is the strategy to be used during applying resources. - Defaults to ApplyOnce. This field is immutable. + description: Strategy is the strategy to be used during applying resources. Defaults to ApplyOnce. This field is immutable. enum: - ApplyOnce type: string @@ -1865,41 +1311,26 @@ spec: conditions: description: Conditions defines current state of the ClusterResourceSet. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -1907,8 +1338,7 @@ spec: type: object type: array observedGeneration: - description: ObservedGeneration reflects the generation of the most - recently observed ClusterResourceSet. + description: ObservedGeneration reflects the generation of the most recently observed ClusterResourceSet. format: int64 type: integer type: object @@ -1925,18 +1355,13 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: ClusterResourceSet is the Schema for the clusterresourcesets - API. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -1944,34 +1369,21 @@ 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. + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -1983,29 +1395,22 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object resources: - description: Resources is a list of Secrets/ConfigMaps where each - contains 1 or more resources to be applied to remote clusters. + 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.' + 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. + description: Name of the resource that is in the same namespace with ClusterResourceSet object. minLength: 1 type: string required: @@ -2014,8 +1419,7 @@ spec: type: object type: array strategy: - description: Strategy is the strategy to be used during applying resources. - Defaults to ApplyOnce. This field is immutable. + description: Strategy is the strategy to be used during applying resources. Defaults to ApplyOnce. This field is immutable. enum: - ApplyOnce type: string @@ -2028,41 +1432,26 @@ spec: conditions: description: Conditions defines current state of the ClusterResourceSet. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -2071,8 +1460,7 @@ spec: type: object type: array observedGeneration: - description: ObservedGeneration reflects the generation of the most - recently observed ClusterResourceSet. + description: ObservedGeneration reflects the generation of the most recently observed ClusterResourceSet. format: int64 type: integer type: object @@ -2127,14 +1515,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -2145,8 +1529,7 @@ spec: description: Cluster network configuration. properties: apiServerPort: - description: APIServerPort specifies the port the API Server should - bind to. Defaults to 6443. + description: APIServerPort specifies the port the API Server should bind to. Defaults to 6443. format: int32 type: integer pods: @@ -2174,8 +1557,7 @@ spec: type: object type: object controlPlaneEndpoint: - description: ControlPlaneEndpoint represents the endpoint used to - communicate with the control plane. + description: ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. properties: host: description: The hostname on which the API server is serving. @@ -2189,25 +1571,13 @@ spec: - 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. + 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.' + 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' @@ -2219,8 +1589,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -2228,25 +1597,13 @@ spec: 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. + 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.' + 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' @@ -2258,8 +1615,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -2267,8 +1623,7 @@ spec: 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. + description: Paused can be used to prevent controllers from processing the Cluster and all its associated objects. type: boolean type: object status: @@ -2277,41 +1632,26 @@ spec: conditions: description: Conditions defines current service state of the cluster. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -2319,53 +1659,41 @@ spec: type: object type: array controlPlaneInitialized: - description: ControlPlaneInitialized defines if the control plane - has been initialized. + 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. + 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. + 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. + 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. + 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. + 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. + 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + 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. + description: Phase represents the current phase of cluster actuation. E.g. Pending, Running, Terminating, Failed etc. type: string type: object type: object @@ -2388,14 +1716,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -2406,8 +1730,7 @@ spec: description: Cluster network configuration. properties: apiServerPort: - description: APIServerPort specifies the port the API Server should - bind to. Defaults to 6443. + description: APIServerPort specifies the port the API Server should bind to. Defaults to 6443. format: int32 type: integer pods: @@ -2435,8 +1758,7 @@ spec: type: object type: object controlPlaneEndpoint: - description: ControlPlaneEndpoint represents the endpoint used to - communicate with the control plane. + description: ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. properties: host: description: The hostname on which the API server is serving. @@ -2450,25 +1772,13 @@ spec: - 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. + 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.' + 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' @@ -2480,8 +1790,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -2489,25 +1798,13 @@ spec: 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. + 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.' + 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' @@ -2519,8 +1816,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -2528,126 +1824,73 @@ spec: 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. + 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.' + 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. + 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." + 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' + 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' + 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. + 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. + 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. + 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. + 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. + 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. + 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. + 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' + 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' + 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. + 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. + 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: @@ -2667,41 +1910,26 @@ spec: conditions: description: Conditions defines current service state of the cluster. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -2713,45 +1941,34 @@ spec: 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. + 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. + 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. + 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. + 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. + 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. + 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + 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. + description: Phase represents the current phase of cluster actuation. E.g. Pending, Running, Terminating, Failed etc. type: string type: object type: object @@ -2778,14 +1995,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -2796,8 +2009,7 @@ spec: description: Cluster network configuration. properties: apiServerPort: - description: APIServerPort specifies the port the API Server should - bind to. Defaults to 6443. + description: APIServerPort specifies the port the API Server should bind to. Defaults to 6443. format: int32 type: integer pods: @@ -2825,8 +2037,7 @@ spec: type: object type: object controlPlaneEndpoint: - description: ControlPlaneEndpoint represents the endpoint used to - communicate with the control plane. + description: ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. properties: host: description: The hostname on which the API server is serving. @@ -2840,25 +2051,13 @@ spec: - 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. + 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.' + 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' @@ -2870,8 +2069,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -2879,25 +2077,13 @@ spec: 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. + 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.' + 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' @@ -2909,8 +2095,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -2918,97 +2103,56 @@ spec: 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. + 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.' + 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. + 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." + 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' + 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' + 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. + 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`' + 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 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. + 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. + 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. + 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. + 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' + 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 @@ -3019,113 +2163,59 @@ spec: description: The Kubernetes version of the cluster. type: string workers: - description: Workers encapsulates the different constructs that - form the worker nodes for the cluster. + 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. + 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. + 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. + 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. + 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 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. + 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' + 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' + 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. + 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. + 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`' + 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 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. + 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 variables: - description: Variables can be used to customize the - MachineDeployment through patches. + description: Variables can be used to customize the MachineDeployment through patches. properties: overrides: - description: Overrides can be used to override Cluster - level variables. + 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. + 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' + 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 @@ -3150,41 +2240,26 @@ spec: conditions: description: Conditions defines current service state of the cluster. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -3197,45 +2272,34 @@ spec: 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. + 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. + 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. + 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. + 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. + 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. + 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + 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. + description: Phase represents the current phase of cluster actuation. E.g. Pending, Running, Terminating, Failed etc. type: string type: object type: object @@ -3277,14 +2341,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -3292,19 +2352,14 @@ spec: description: ExtensionConfigSpec is the desired state of the ExtensionConfig properties: clientConfig: - description: ClientConfig defines how to communicate with the Extension - server. + 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. + 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`." + 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. @@ -3313,14 +2368,10 @@ spec: 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. + 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). + 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: @@ -3328,47 +2379,25 @@ spec: - 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." + 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. + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -3380,11 +2409,7 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object required: @@ -3396,41 +2421,26 @@ spec: conditions: description: Conditions define the current service state of the ExtensionConfig. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -3439,27 +2449,21 @@ spec: type: object type: array handlers: - description: Handlers defines the current ExtensionHandlers supported - by an Extension. + 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. + 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. + 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. + description: RequestHook defines the versioned runtime hook which this ExtensionHandler serves. properties: apiVersion: - description: APIVersion is the group and version of the - Hook. + description: APIVersion is the group and version of the Hook. type: string hook: description: Hook is the name of the hook. @@ -3469,9 +2473,7 @@ spec: - hook type: object timeoutSeconds: - description: TimeoutSeconds defines the timeout duration for - client calls to the ExtensionHandler. Defaults to 10 is not - set. + description: TimeoutSeconds defines the timeout duration for client calls to the ExtensionHandler. Defaults to 10 is not set. format: int32 type: integer required: @@ -3524,14 +2526,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -3539,14 +2537,10 @@ 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. + 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. + 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 @@ -3566,52 +2560,35 @@ spec: 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. + 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?' + 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. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -3667,14 +2644,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -3685,27 +2658,20 @@ spec: description: Address is the IP address. type: string claimRef: - description: ClaimRef is a reference to the claim this IPAddress was - created for. + 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?' + 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. + 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. + 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. + 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 @@ -3780,8 +2746,7 @@ spec: jsonPath: .status.readyReplicas name: Ready type: integer - - description: Total number of non-terminated machines targeted by this deployment - that have the desired template spec + - description: Total number of non-terminated machines targeted by this deployment that have the desired template spec jsonPath: .status.updatedReplicas name: Updated type: integer @@ -3795,14 +2760,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -3810,67 +2771,44 @@ spec: description: MachineDeploymentSpec defines the desired state of MachineDeployment. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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) + 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. + 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. + 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. + 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. + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -3882,60 +2820,31 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic strategy: - description: The deployment strategy to use to replace existing machines - with new ones. + 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. + 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.' + 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.' + 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. + description: Type of deployment. Currently the only supported strategy is "RollingUpdate". Default is RollingUpdate. type: string type: object template: @@ -3947,91 +2856,35 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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." + 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' + 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." + 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." + 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." + 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. + 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. + 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. + 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' @@ -4052,37 +2905,19 @@ spec: 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' + 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. + 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. + 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.' + 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' @@ -4091,12 +2926,10 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -4104,47 +2937,27 @@ spec: 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." + 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. + 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. + 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. + 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. + 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.' + 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' @@ -4156,8 +2969,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -4165,33 +2977,13 @@ spec: 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -4208,8 +3000,7 @@ spec: 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. + description: Total number of available machines (ready for at least minReadySeconds) targeted by this deployment. format: int32 type: integer observedGeneration: @@ -4217,35 +3008,25 @@ spec: format: int64 type: integer phase: - description: Phase represents the current phase of a MachineDeployment - (ScalingUp, ScalingDown, Running, Failed, or Unknown). + 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). + 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' + 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. + 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. + description: Total number of non-terminated machines targeted by this deployment that have the desired template spec. format: int32 type: integer type: object @@ -4279,8 +3060,7 @@ spec: jsonPath: .status.readyReplicas name: Ready type: integer - - description: Total number of non-terminated machines targeted by this deployment - that have the desired template spec + - description: Total number of non-terminated machines targeted by this deployment that have the desired template spec jsonPath: .status.updatedReplicas name: Updated type: integer @@ -4294,14 +3074,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -4309,68 +3085,45 @@ spec: description: MachineDeploymentSpec defines the desired state of MachineDeployment. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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) + 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. + 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. + 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. + 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. + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -4382,27 +3135,18 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic strategy: - description: The deployment strategy to use to replace existing machines - with new ones. + 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. + 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 + 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 @@ -4412,35 +3156,13 @@ spec: 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.' + 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.' + 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: @@ -4459,53 +3181,28 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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' + 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' + 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. + 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. + 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.' + 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' @@ -4514,12 +3211,10 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -4527,41 +3222,24 @@ spec: 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. + 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. + 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. + 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. + 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.' + 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' @@ -4573,8 +3251,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -4582,33 +3259,13 @@ spec: 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -4625,48 +3282,32 @@ spec: 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. + 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. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -4678,35 +3319,25 @@ spec: format: int64 type: integer phase: - description: Phase represents the current phase of a MachineDeployment - (ScalingUp, ScalingDown, Running, Failed, or Unknown). + 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). + 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' + 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. + 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. + description: Total number of non-terminated machines targeted by this deployment that have the desired template spec. format: int32 type: integer type: object @@ -4737,8 +3368,7 @@ spec: jsonPath: .status.readyReplicas name: Ready type: integer - - description: Total number of non-terminated machines targeted by this deployment - that have the desired template spec + - description: Total number of non-terminated machines targeted by this deployment that have the desired template spec jsonPath: .status.updatedReplicas name: Updated type: integer @@ -4764,14 +3394,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -4779,68 +3405,45 @@ spec: description: MachineDeploymentSpec defines the desired state of MachineDeployment. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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) + 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. + 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. + 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. + 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. + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -4852,27 +3455,18 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic strategy: - description: The deployment strategy to use to replace existing machines - with new ones. + 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. + 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 + 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 @@ -4882,35 +3476,13 @@ spec: 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.' + 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.' + 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: @@ -4929,53 +3501,28 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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' + 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' + 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. + 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. + 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.' + 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' @@ -4984,12 +3531,10 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -4997,41 +3542,24 @@ spec: 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. + 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. + 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. + 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. + 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.' + 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' @@ -5043,8 +3571,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -5052,39 +3579,16 @@ spec: 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. + 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -5101,48 +3605,32 @@ spec: 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. + 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. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -5155,35 +3643,25 @@ spec: format: int64 type: integer phase: - description: Phase represents the current phase of a MachineDeployment - (ScalingUp, ScalingDown, Running, Failed, or Unknown). + 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). + 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' + 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. + 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. + description: Total number of non-terminated machines targeted by this deployment that have the desired template spec. format: int32 type: integer type: object @@ -5248,18 +3726,13 @@ spec: name: v1alpha3 schema: openAPIV3Schema: - description: MachineHealthCheck is the Schema for the machinehealthchecks - API. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -5267,44 +3740,26 @@ spec: description: Specification of machine health check policy properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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. + 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. + 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." + 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.' + 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' @@ -5316,8 +3771,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -5325,32 +3779,21 @@ spec: type: object x-kubernetes-map-type: atomic selector: - description: Label selector to match machines whose health will be - exercised + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -5362,24 +3805,14 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic 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. + 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. + 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 @@ -5407,41 +3840,26 @@ spec: conditions: description: Conditions defines current service state of the MachineHealthCheck. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -5449,32 +3867,26 @@ spec: type: object type: array currentHealthy: - description: total number of healthy machines counted by this machine - health check + 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 + 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. + 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 + 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 + description: Targets shows the current list of machines the machine health check is watching items: type: string type: array @@ -5508,18 +3920,13 @@ spec: name: v1alpha4 schema: openAPIV3Schema: - description: MachineHealthCheck is the Schema for the machinehealthchecks - API. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -5527,46 +3934,26 @@ spec: description: Specification of machine health check policy properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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. + 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. + 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." + 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.' + 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' @@ -5578,8 +3965,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -5587,32 +3973,21 @@ spec: type: object x-kubernetes-map-type: atomic selector: - description: Label selector to match machines whose health will be - exercised + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -5624,24 +3999,14 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic 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. + 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. + 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 @@ -5659,12 +4024,7 @@ spec: 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' + 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: @@ -5678,41 +4038,26 @@ spec: conditions: description: Conditions defines current service state of the MachineHealthCheck. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -5720,32 +4065,26 @@ spec: type: object type: array currentHealthy: - description: total number of healthy machines counted by this machine - health check + 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 + 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. + 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 + 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 + description: Targets shows the current list of machines the machine health check is watching items: type: string type: array @@ -5779,18 +4118,13 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: MachineHealthCheck is the Schema for the machinehealthchecks - API. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -5798,46 +4132,26 @@ spec: description: Specification of machine health check policy properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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. + 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. + 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." + 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.' + 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' @@ -5849,8 +4163,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -5858,32 +4171,21 @@ spec: type: object x-kubernetes-map-type: atomic selector: - description: Label selector to match machines whose health will be - exercised + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -5895,24 +4197,14 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic 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. + 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. + 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 @@ -5930,12 +4222,7 @@ spec: 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' + 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: @@ -5949,41 +4236,26 @@ spec: conditions: description: Conditions defines current service state of the MachineHealthCheck. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -5992,32 +4264,26 @@ spec: type: object type: array currentHealthy: - description: total number of healthy machines counted by this machine - health check + 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 + 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. + 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 + 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 + description: Targets shows the current list of machines the machine health check is watching items: type: string type: array @@ -6067,8 +4333,7 @@ spec: jsonPath: .status.replicas name: Replicas type: string - - description: MachinePool status such as Terminating/Pending/Provisioning/Running/Failed - etc + - description: MachinePool status such as Terminating/Pending/Provisioning/Running/Failed etc jsonPath: .status.phase name: Phase type: string @@ -6082,14 +4347,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -6097,81 +4358,48 @@ spec: description: MachinePoolSpec defines the desired state of MachinePool. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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. + 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) + 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. + 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. + 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. + 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. + 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.' + 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.' + 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. + description: Type of deployment. Currently the only supported strategy is "RollingUpdate". Default is RollingUpdate. type: string type: object template: @@ -6183,91 +4411,35 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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." + 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' + 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." + 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." + 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." + 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. + 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. + 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. + 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' @@ -6288,37 +4460,19 @@ spec: 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' + 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. + 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. + 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.' + 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' @@ -6327,12 +4481,10 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -6340,47 +4492,27 @@ spec: 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." + 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. + 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. + 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. + 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. + 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.' + 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' @@ -6392,8 +4524,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -6401,33 +4532,13 @@ spec: 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -6443,8 +4554,7 @@ spec: description: MachinePoolStatus defines the observed state of MachinePool. properties: availableReplicas: - description: The number of available replicas (ready for at least - minReadySeconds) for this MachinePool. + description: The number of available replicas (ready for at least minReadySeconds) for this MachinePool. format: int32 type: integer bootstrapReady: @@ -6453,41 +4563,26 @@ spec: conditions: description: Conditions define the current service state of the MachinePool. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -6495,63 +4590,24 @@ spec: 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. + 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. + 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean nodeRefs: - description: NodeRefs will point to the corresponding Nodes if it - they exist. + 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. Instead of using this type, create - a locally provided and used type that is well-focused on your - reference. For example, ServiceReferences for admission registration: - https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 - .' + description: 'ObjectReference contains enough information to let you inspect or modify the referred object. --- New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". Those cannot be well described when embedded. 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple and the version of the actual struct is irrelevant. 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type will affect numerous schemas. Don''t make new APIs embed an underspecified API type they do not control. Instead of using this type, create a locally provided and used type that is well-focused on your reference. For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 .' properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -6563,8 +4619,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -6572,18 +4627,14 @@ spec: type: object type: array observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + 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. + 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". + 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: @@ -6591,12 +4642,7 @@ spec: 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. + 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 @@ -6617,8 +4663,7 @@ spec: jsonPath: .status.replicas name: Replicas type: string - - description: MachinePool status such as Terminating/Pending/Provisioning/Running/Failed - etc + - description: MachinePool status such as Terminating/Pending/Provisioning/Running/Failed etc jsonPath: .status.phase name: Phase type: string @@ -6632,14 +4677,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -6647,33 +4688,25 @@ spec: description: MachinePoolSpec defines the desired state of MachinePool. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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. + 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) + 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. + 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. + 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: @@ -6685,53 +4718,28 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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' + 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' + 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. + 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. + 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.' + 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' @@ -6740,12 +4748,10 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -6753,41 +4759,24 @@ spec: 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. + 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. + 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. + 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. + 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.' + 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' @@ -6799,8 +4788,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -6808,33 +4796,13 @@ spec: 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -6850,8 +4818,7 @@ spec: description: MachinePoolStatus defines the observed state of MachinePool. properties: availableReplicas: - description: The number of available replicas (ready for at least - minReadySeconds) for this MachinePool. + description: The number of available replicas (ready for at least minReadySeconds) for this MachinePool. format: int32 type: integer bootstrapReady: @@ -6860,41 +4827,26 @@ spec: conditions: description: Conditions define the current service state of the MachinePool. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -6902,63 +4854,24 @@ spec: 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. + 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. + 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean nodeRefs: - description: NodeRefs will point to the corresponding Nodes if it - they exist. + 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. Instead of using this type, create - a locally provided and used type that is well-focused on your - reference. For example, ServiceReferences for admission registration: - https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 - .' + description: 'ObjectReference contains enough information to let you inspect or modify the referred object. --- New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". Those cannot be well described when embedded. 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple and the version of the actual struct is irrelevant. 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type will affect numerous schemas. Don''t make new APIs embed an underspecified API type they do not control. Instead of using this type, create a locally provided and used type that is well-focused on your reference. For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 .' properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -6970,8 +4883,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -6979,18 +4891,14 @@ spec: type: object type: array observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + 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. + 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". + 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: @@ -6998,12 +4906,7 @@ spec: 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. + 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 @@ -7029,8 +4932,7 @@ spec: jsonPath: .status.replicas name: Replicas type: string - - description: MachinePool status such as Terminating/Pending/Provisioning/Running/Failed - etc + - description: MachinePool status such as Terminating/Pending/Provisioning/Running/Failed etc jsonPath: .status.phase name: Phase type: string @@ -7048,14 +4950,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -7063,33 +4961,25 @@ spec: description: MachinePoolSpec defines the desired state of MachinePool. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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. + 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) + 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. + 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. + 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: @@ -7101,53 +4991,28 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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' + 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' + 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. + 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. + 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.' + 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' @@ -7156,12 +5021,10 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -7169,41 +5032,24 @@ spec: 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. + 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. + 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. + 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. + 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.' + 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' @@ -7215,8 +5061,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -7224,39 +5069,16 @@ spec: 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. + 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -7272,8 +5094,7 @@ spec: description: MachinePoolStatus defines the observed state of MachinePool. properties: availableReplicas: - description: The number of available replicas (ready for at least - minReadySeconds) for this MachinePool. + description: The number of available replicas (ready for at least minReadySeconds) for this MachinePool. format: int32 type: integer bootstrapReady: @@ -7282,41 +5103,26 @@ spec: conditions: description: Conditions define the current service state of the MachinePool. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -7325,63 +5131,24 @@ spec: 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. + 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. + 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean nodeRefs: - description: NodeRefs will point to the corresponding Nodes if it - they exist. + 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. Instead of using this type, create - a locally provided and used type that is well-focused on your - reference. For example, ServiceReferences for admission registration: - https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 - .' + description: 'ObjectReference contains enough information to let you inspect or modify the referred object. --- New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". Those cannot be well described when embedded. 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple and the version of the actual struct is irrelevant. 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type will affect numerous schemas. Don''t make new APIs embed an underspecified API type they do not control. Instead of using this type, create a locally provided and used type that is well-focused on your reference. For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 .' properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -7393,8 +5160,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -7402,18 +5168,14 @@ spec: type: object type: array observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + 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. + 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". + 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: @@ -7421,12 +5183,7 @@ spec: 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. + 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 @@ -7497,14 +5254,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -7512,30 +5265,16 @@ 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. + 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. + 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.' + 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' @@ -7547,8 +5286,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -7556,45 +5294,27 @@ spec: 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." + 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. + 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. + 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. + 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. + 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.' + 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' @@ -7606,8 +5326,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -7615,30 +5334,13 @@ spec: 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -7649,18 +5351,15 @@ spec: 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. + 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. + 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. + description: Machine address type, one of Hostname, ExternalIP or InternalIP. type: string required: - address @@ -7673,41 +5372,26 @@ spec: conditions: description: Conditions defines current service state of the Machine. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -7715,42 +5399,16 @@ spec: 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." + 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." + 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean lastUpdated: - description: LastUpdated identifies when the phase of the Machine - last transitioned. + description: LastUpdated identifies when the phase of the Machine last transitioned. format: date-time type: string nodeRef: @@ -7760,17 +5418,7 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -7782,8 +5430,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -7791,19 +5438,14 @@ spec: type: object x-kubernetes-map-type: atomic observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + 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. + 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. + 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 @@ -7843,14 +5485,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -7858,30 +5496,16 @@ 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. + 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. + 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.' + 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' @@ -7893,8 +5517,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -7902,40 +5525,24 @@ spec: 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. + 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. + 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. + 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. + 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.' + 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' @@ -7947,8 +5554,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -7956,30 +5562,13 @@ spec: 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -7990,18 +5579,15 @@ spec: 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. + 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. + 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. + description: Machine address type, one of Hostname, ExternalIP or InternalIP. type: string required: - address @@ -8014,41 +5600,26 @@ spec: conditions: description: Conditions defines current service state of the Machine. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -8056,47 +5627,20 @@ spec: 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." + 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." + 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean lastUpdated: - description: LastUpdated identifies when the phase of the Machine - last transitioned. + 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' + 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 @@ -8105,12 +5649,10 @@ spec: 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). + 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). + 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. @@ -8119,21 +5661,16 @@ spec: 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' + 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)). + 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 + 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 @@ -8154,17 +5691,7 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -8176,8 +5703,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -8185,19 +5711,14 @@ spec: type: object x-kubernetes-map-type: atomic observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + 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. + 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. + 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 @@ -8236,14 +5757,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -8251,30 +5768,16 @@ 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. + 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. + 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.' + 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' @@ -8286,8 +5789,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -8295,40 +5797,24 @@ spec: 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. + 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. + 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. + 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. + 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.' + 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' @@ -8340,8 +5826,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -8349,36 +5834,16 @@ spec: 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. + 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -8389,18 +5854,15 @@ spec: 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. + 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. + 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. + description: Machine address type, one of Hostname, ExternalIP or InternalIP. type: string required: - address @@ -8413,41 +5875,26 @@ spec: conditions: description: Conditions defines current service state of the Machine. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -8456,47 +5903,20 @@ spec: 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." + 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." + 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean lastUpdated: - description: LastUpdated identifies when the phase of the Machine - last transitioned. + 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' + 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 @@ -8505,12 +5925,10 @@ spec: 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). + 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). + 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. @@ -8519,21 +5937,16 @@ spec: 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' + 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)). + 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 + 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 @@ -8554,17 +5967,7 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -8576,8 +5979,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -8585,13 +5987,11 @@ spec: type: object x-kubernetes-map-type: atomic observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + 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. + description: Phase represents the current phase of machine actuation. E.g. Pending, Running, Terminating, Failed etc. type: string type: object type: object @@ -8653,14 +6053,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -8668,60 +6064,40 @@ spec: description: MachineSetSpec defines the desired state of MachineSet. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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" + 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) + 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. + 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' + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -8733,18 +6109,12 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic template: - description: Template is the object that describes the machine that - will be created if insufficient replicas are detected. Object references - to custom resources resources are treated as templates. + description: Template is the object that describes the machine that will be created if insufficient replicas are detected. Object references to custom resources 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' @@ -8752,91 +6122,35 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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." + 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' + 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." + 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." + 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." + 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. + 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. + 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. + 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' @@ -8857,37 +6171,19 @@ spec: 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' + 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. + 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. + 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.' + 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' @@ -8896,12 +6192,10 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -8909,47 +6203,27 @@ spec: 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." + 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. + 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. + 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. + 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. + 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.' + 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' @@ -8961,8 +6235,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -8970,33 +6243,13 @@ spec: 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -9012,43 +6265,24 @@ spec: description: MachineSetStatus defines the observed state of MachineSet. properties: availableReplicas: - description: The number of available replicas (ready for at least - minReadySeconds) for this MachineSet. + 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." + 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. + 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. + 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". + 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: @@ -9056,10 +6290,7 @@ spec: 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' + 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 @@ -9098,14 +6329,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -9113,61 +6340,41 @@ spec: description: MachineSetSpec defines the desired state of MachineSet. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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" + 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) + 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. + 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' + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -9179,18 +6386,12 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic template: - description: Template is the object that describes the machine that - will be created if insufficient replicas are detected. Object references - to custom resources resources are treated as templates. + description: Template is the object that describes the machine that will be created if insufficient replicas are detected. Object references to custom resources 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' @@ -9198,53 +6399,28 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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' + 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' + 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. + 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. + 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.' + 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' @@ -9253,12 +6429,10 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -9266,41 +6440,24 @@ spec: 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. + 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. + 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. + 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. + 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.' + 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' @@ -9312,8 +6469,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -9321,33 +6477,13 @@ spec: 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -9363,48 +6499,32 @@ spec: description: MachineSetStatus defines the observed state of MachineSet. properties: availableReplicas: - description: The number of available replicas (ready for at least - minReadySeconds) for this MachineSet. + 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. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -9414,36 +6534,18 @@ spec: 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." + 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. + 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. + 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". + 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: @@ -9451,10 +6553,7 @@ spec: 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' + 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 @@ -9502,14 +6601,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -9517,61 +6612,41 @@ spec: description: MachineSetSpec defines the desired state of MachineSet. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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" + 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) + 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. + 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' + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -9583,18 +6658,12 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic template: - description: Template is the object that describes the machine that - will be created if insufficient replicas are detected. Object references - to custom resources resources are treated as templates. + description: Template is the object that describes the machine that will be created if insufficient replicas are detected. Object references to custom resources 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' @@ -9602,53 +6671,28 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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' + 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' + 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. + 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. + 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.' + 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' @@ -9657,12 +6701,10 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -9670,41 +6712,24 @@ spec: 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. + 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. + 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. + 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. + 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.' + 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' @@ -9716,8 +6741,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -9725,39 +6749,16 @@ spec: 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. + 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -9773,48 +6774,32 @@ spec: description: MachineSetStatus defines the observed state of MachineSet. properties: availableReplicas: - description: The number of available replicas (ready for at least - minReadySeconds) for this MachineSet. + 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. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -9825,36 +6810,18 @@ spec: 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." + 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. + 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. + 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". + 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: @@ -9862,10 +6829,7 @@ spec: 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' + 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 @@ -10322,7 +7286,7 @@ spec: - --namespace=test1 - --leader-elect - --metrics-bind-addr=localhost:8080 - #- --feature-gates=MachinePool=${EXP_MACHINE_POOL:=false},ClusterResourceSet=${EXP_CLUSTER_RESOURCE_SET:=false},ClusterTopology=${CLUSTER_TOPOLOGY:=false},RuntimeSDK=${EXP_RUNTIME_SDK:=false} + #- --feature-gates=MachinePool=${EXP_MACHINE_POOL:=false},ClusterResourceSet=${EXP_CLUSTER_RESOURCE_SET:=false},ClusterTopology=${CLUSTER_TOPOLOGY:=false},RuntimeSDK=${EXP_RUNTIME_SDK:=false} command: - /manager env: diff --git a/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/capm3-test1-v1.2.yaml b/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/capm3-test1-v1.2.yaml index bbb40acf..7919e649 100644 --- a/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/capm3-test1-v1.2.yaml +++ b/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/capm3-test1-v1.2.yaml @@ -79,14 +79,10 @@ spec: description: Metal3Cluster is the Schema for the metal3clusters API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -94,8 +90,7 @@ spec: description: Metal3ClusterSpec defines the desired state of Metal3Cluster. properties: controlPlaneEndpoint: - description: ControlPlaneEndpoint represents the endpoint used to - communicate with the control plane. + description: ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. properties: host: description: Host is the hostname on which the API server is serving. @@ -108,11 +103,7 @@ spec: - port type: object noCloudProvider: - description: Determines if the cluster is not to be deployed with - an external cloud provider. If set to true, CAPM3 will use node - labels to set providerID on the kubernetes nodes. If set to false, - providerID is set on nodes by other entities and CAPM3 uses the - value of the providerID on the m3m resource. + description: Determines if the cluster is not to be deployed with an external cloud provider. If set to true, CAPM3 will use node labels to set providerID on the kubernetes nodes. If set to false, providerID is set on nodes by other entities and CAPM3 uses the value of the providerID on the m3m resource. type: boolean required: - controlPlaneEndpoint @@ -121,23 +112,17 @@ spec: description: Metal3ClusterStatus defines the observed state of Metal3Cluster. properties: failureMessage: - description: FailureMessage indicates that there is a fatal problem - reconciling the state, and will be set to a descriptive error message. + 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. + 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 lastUpdated: description: LastUpdated identifies when this status was last observed. format: date-time type: string ready: - description: Ready denotes that the Metal3 cluster (infrastructure) - is ready. In Baremetal case, it does not mean anything for now as - no infrastructure steps need to be performed. Required by Cluster - API. Set to True by the metal3Cluster controller after creation. + description: Ready denotes that the Metal3 cluster (infrastructure) is ready. In Baremetal case, it does not mean anything for now as no infrastructure steps need to be performed. Required by Cluster API. Set to True by the metal3Cluster controller after creation. type: boolean required: - ready @@ -174,14 +159,10 @@ spec: description: Metal3Cluster is the Schema for the metal3clusters API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -189,8 +170,7 @@ spec: description: Metal3ClusterSpec defines the desired state of Metal3Cluster. properties: controlPlaneEndpoint: - description: ControlPlaneEndpoint represents the endpoint used to - communicate with the control plane. + description: ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. properties: host: description: Host is the hostname on which the API server is serving. @@ -203,11 +183,7 @@ spec: - port type: object noCloudProvider: - description: Determines if the cluster is not to be deployed with - an external cloud provider. If set to true, CAPM3 will use node - labels to set providerID on the kubernetes nodes. If set to false, - providerID is set on nodes by other entities and CAPM3 uses the - value of the providerID on the m3m resource. + description: Determines if the cluster is not to be deployed with an external cloud provider. If set to true, CAPM3 will use node labels to set providerID on the kubernetes nodes. If set to false, providerID is set on nodes by other entities and CAPM3 uses the value of the providerID on the m3m resource. type: boolean type: object status: @@ -216,41 +192,26 @@ spec: conditions: description: Conditions defines current service state of the Metal3Cluster. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -259,23 +220,17 @@ spec: type: object type: array failureMessage: - description: FailureMessage indicates that there is a fatal problem - reconciling the state, and will be set to a descriptive error message. + 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. + 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 lastUpdated: description: LastUpdated identifies when this status was last observed. format: date-time type: string ready: - description: Ready denotes that the Metal3 cluster (infrastructure) - is ready. In Baremetal case, it does not mean anything for now as - no infrastructure steps need to be performed. Required by Cluster - API. Set to True by the metal3Cluster controller after creation. + description: Ready denotes that the Metal3 cluster (infrastructure) is ready. In Baremetal case, it does not mean anything for now as no infrastructure steps need to be performed. Required by Cluster API. Set to True by the metal3Cluster controller after creation. type: boolean type: object type: object @@ -335,14 +290,10 @@ spec: description: Metal3DataClaim is the Schema for the metal3datas API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -350,24 +301,13 @@ spec: description: Metal3DataClaimSpec defines the desired state of Metal3DataClaim. properties: template: - description: Template is the Metal3DataTemplate this was generated - for. + description: Template is the Metal3DataTemplate this was generated for. properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -379,8 +319,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -403,17 +342,7 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -425,8 +354,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -450,14 +378,10 @@ spec: description: Metal3DataClaim is the Schema for the metal3datas API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -465,24 +389,13 @@ spec: description: Metal3DataClaimSpec defines the desired state of Metal3DataClaim. properties: template: - description: Template is the Metal3DataTemplate this was generated - for. + description: Template is the Metal3DataTemplate this was generated for. properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -494,8 +407,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -518,17 +430,7 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -540,8 +442,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -606,14 +507,10 @@ spec: description: Metal3Data is the Schema for the metal3datas API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -621,24 +518,13 @@ spec: description: Metal3DataSpec defines the desired state of Metal3Data. properties: claim: - description: DataClaim points to the Metal3DataClaim the Metal3Data - was created for. + description: DataClaim points to the Metal3DataClaim the Metal3Data was created for. properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -650,8 +536,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -659,19 +544,16 @@ spec: type: object x-kubernetes-map-type: atomic index: - description: Index stores the index value of this instance in the - Metal3DataTemplate. + description: Index stores the index value of this instance in the Metal3DataTemplate. type: integer metaData: description: MetaData points to the rendered MetaData secret. properties: name: - description: name is unique within a namespace to reference a - secret resource. + description: name is unique within a namespace to reference a secret resource. type: string namespace: - description: namespace defines the space within which the secret - name must be unique. + description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic @@ -679,34 +561,21 @@ spec: description: NetworkData points to the rendered NetworkData secret. properties: name: - description: name is unique within a namespace to reference a - secret resource. + description: name is unique within a namespace to reference a secret resource. type: string namespace: - description: namespace defines the space within which the secret - name must be unique. + description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic template: - description: DataTemplate is the Metal3DataTemplate this was generated - from. + description: DataTemplate is the Metal3DataTemplate this was generated from. properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -718,8 +587,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -727,9 +595,7 @@ spec: type: object x-kubernetes-map-type: atomic templateReference: - description: TemplateReference refers to the Template the Metal3MachineTemplate - refers to. It can be matched against the key or it may also point - to the name of the template Metal3Data refers to + description: TemplateReference refers to the Template the Metal3MachineTemplate refers to. It can be matched against the key or it may also point to the name of the template Metal3Data refers to type: string required: - claim @@ -742,8 +608,7 @@ spec: description: ErrorMessage contains the error message type: string ready: - description: Ready is a flag set to True if the secrets were rendered - properly + description: Ready is a flag set to True if the secrets were rendered properly type: boolean type: object type: object @@ -762,14 +627,10 @@ spec: description: Metal3Data is the Schema for the metal3datas API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -777,24 +638,13 @@ spec: description: Metal3DataSpec defines the desired state of Metal3Data. properties: claim: - description: DataClaim points to the Metal3DataClaim the Metal3Data - was created for. + description: DataClaim points to the Metal3DataClaim the Metal3Data was created for. properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -806,8 +656,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -815,19 +664,16 @@ spec: type: object x-kubernetes-map-type: atomic index: - description: Index stores the index value of this instance in the - Metal3DataTemplate. + description: Index stores the index value of this instance in the Metal3DataTemplate. type: integer metaData: description: MetaData points to the rendered MetaData secret. properties: name: - description: name is unique within a namespace to reference a - secret resource. + description: name is unique within a namespace to reference a secret resource. type: string namespace: - description: namespace defines the space within which the secret - name must be unique. + description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic @@ -835,34 +681,21 @@ spec: description: NetworkData points to the rendered NetworkData secret. properties: name: - description: name is unique within a namespace to reference a - secret resource. + description: name is unique within a namespace to reference a secret resource. type: string namespace: - description: namespace defines the space within which the secret - name must be unique. + description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic template: - description: DataTemplate is the Metal3DataTemplate this was generated - from. + description: DataTemplate is the Metal3DataTemplate this was generated from. properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -874,8 +707,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -883,9 +715,7 @@ spec: type: object x-kubernetes-map-type: atomic templateReference: - description: TemplateReference refers to the Template the Metal3MachineTemplate - refers to. It can be matched against the key or it may also point - to the name of the template Metal3Data refers to + description: TemplateReference refers to the Template the Metal3MachineTemplate refers to. It can be matched against the key or it may also point to the name of the template Metal3Data refers to type: string required: - claim @@ -898,8 +728,7 @@ spec: description: ErrorMessage contains the error message type: string ready: - description: Ready is a flag set to True if the secrets were rendered - properly + description: Ready is a flag set to True if the secrets were rendered properly type: boolean type: object type: object @@ -960,18 +789,13 @@ spec: name: v1alpha5 schema: openAPIV3Schema: - description: Metal3DataTemplate is the Schema for the metal3datatemplates - API. + description: Metal3DataTemplate is the Schema for the metal3datatemplates API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -979,26 +803,21 @@ spec: description: Metal3DataTemplateSpec defines the desired state of Metal3DataTemplate. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + description: ClusterName is the name of the Cluster this object belongs to. minLength: 1 type: string metaData: - description: MetaData contains the information needed to generate - the metadata secret + description: MetaData contains the information needed to generate the metadata secret properties: dnsServersFromIPPool: - description: DNSServersFromPool is the list of metadata items - to be rendered as dns servers. + description: DNSServersFromPool is the list of metadata items to be rendered as dns servers. items: properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string name: - description: Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init type: string required: - key @@ -1006,24 +825,18 @@ spec: type: object type: array fromAnnotations: - description: FromAnnotations is the list of metadata items to - be fetched from object Annotations + description: FromAnnotations is the list of metadata items to be fetched from object Annotations items: - description: MetaDataFromAnnotation contains the information - to fetch an annotation content, if the label does not exist, - it is rendered as empty string. + description: MetaDataFromAnnotation contains the information to fetch an annotation content, if the label does not exist, it is rendered as empty string. properties: annotation: - description: Annotation is the key of the Annotation to - fetch + description: Annotation is the key of the Annotation to fetch type: string key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string object: - description: Object is the type of the object from which - we retrieve the name + description: Object is the type of the object from which we retrieve the name enum: - machine - metal3machine @@ -1036,20 +849,15 @@ spec: type: object type: array fromHostInterfaces: - description: FromHostInterfaces is the list of metadata items - to be rendered as MAC addresses of the host interfaces. + description: FromHostInterfaces is the list of metadata items to be rendered as MAC addresses of the host interfaces. items: - description: MetaDataHostInterface contains the information - to render the object name. + description: MetaDataHostInterface contains the information to render the object name. properties: interface: - description: Interface is the name of the interface in the - BareMetalHost Status Hardware Details list of interfaces - from which to fetch the MAC address. + description: Interface is the name of the interface in the BareMetalHost Status Hardware Details list of interfaces from which to fetch the MAC address. type: string key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string required: - interface @@ -1057,23 +865,18 @@ spec: type: object type: array fromLabels: - description: FromLabels is the list of metadata items to be fetched - from object labels + description: FromLabels is the list of metadata items to be fetched from object labels items: - description: MetaDataFromLabel contains the information to fetch - a label content, if the label does not exist, it is rendered - as empty string. + description: MetaDataFromLabel contains the information to fetch a label content, if the label does not exist, it is rendered as empty string. properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string label: description: Label is the key of the label to fetch type: string object: - description: Object is the type of the object from which - we retrieve the name + description: Object is the type of the object from which we retrieve the name enum: - machine - metal3machine @@ -1086,17 +889,14 @@ spec: type: object type: array gatewaysFromIPPool: - description: GatewaysFromPool is the list of metadata items to - be rendered as gateway addresses. + description: GatewaysFromPool is the list of metadata items to be rendered as gateway addresses. items: properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string name: - description: Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init type: string required: - key @@ -1104,19 +904,15 @@ spec: type: object type: array indexes: - description: Indexes is the list of metadata items to be rendered - from the index of the Metal3Data + description: Indexes is the list of metadata items to be rendered from the index of the Metal3Data items: - description: MetaDataIndex contains the information to render - the index. + description: MetaDataIndex contains the information to render the index. properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string offset: - description: Offset is the offset to apply to the index - when rendering it + description: Offset is the offset to apply to the index when rendering it type: integer prefix: description: Prefix is the prefix string @@ -1133,17 +929,14 @@ spec: type: object type: array ipAddressesFromIPPool: - description: IPAddressesFromPool is the list of metadata items - to be rendered as ip addresses. + description: IPAddressesFromPool is the list of metadata items to be rendered as ip addresses. items: properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string name: - description: Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init type: string required: - key @@ -1151,34 +944,27 @@ spec: type: object type: array namespaces: - description: Namespaces is the list of metadata items to be rendered - from the namespace + description: Namespaces is the list of metadata items to be rendered from the namespace items: - description: MetaDataNamespace contains the information to render - the namespace. + description: MetaDataNamespace contains the information to render the namespace. properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string required: - key type: object type: array objectNames: - description: ObjectNames is the list of metadata items to be rendered - from the name of objects. + description: ObjectNames is the list of metadata items to be rendered from the name of objects. items: - description: MetaDataObjectName contains the information to - render the object name. + description: MetaDataObjectName contains the information to render the object name. properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string object: - description: Object is the type of the object from which - we retrieve the name + description: Object is the type of the object from which we retrieve the name enum: - machine - metal3machine @@ -1190,17 +976,14 @@ spec: type: object type: array prefixesFromIPPool: - description: PrefixesFromPool is the list of metadata items to - be rendered as network prefixes. + description: PrefixesFromPool is the list of metadata items to be rendered as network prefixes. items: properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string name: - description: Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init type: string required: - key @@ -1208,15 +991,12 @@ spec: type: object type: array strings: - description: Strings is the list of metadata items to be rendered - from strings + description: Strings is the list of metadata items to be rendered from strings items: - description: MetaDataString contains the information to render - the string. + description: MetaDataString contains the information to render the string. properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string value: description: Value is the string to render. @@ -1228,29 +1008,23 @@ spec: type: array type: object networkData: - description: NetworkData contains the information needed to generate - the networkdata secret + description: NetworkData contains the information needed to generate the networkdata secret properties: links: - description: Links is a structure containing lists of different - types objects + description: Links is a structure containing lists of different types objects properties: bonds: description: Bonds contains a list of Bond links items: - description: NetworkDataLinkBond represents a bond link - object. + description: NetworkDataLinkBond represents a bond link object. properties: bondLinks: - description: BondLinks is the list of links that are - part of the bond. + description: BondLinks is the list of links that are part of the bond. items: type: string type: array bondMode: - description: BondMode is the mode of bond used. It can - be one of balance-rr, active-backup, balance-xor, - broadcast, balance-tlb, balance-alb, 802.3ad + description: BondMode is the mode of bond used. It can be one of balance-rr, active-backup, balance-xor, broadcast, balance-tlb, balance-alb, 802.3ad enum: - balance-rr - active-backup @@ -1261,21 +1035,16 @@ spec: - 802.3ad type: string id: - description: Id is the ID of the interface (used for - naming) + description: Id is the ID of the interface (used for naming) type: string macAddress: - description: MACAddress is the MAC address of the interface, - containing the object used to render it. + description: MACAddress is the MAC address of the interface, containing the object used to render it. properties: fromHostInterface: - description: FromHostInterface contains the name - of the interface in the BareMetalHost Introspection - details from which to fetch the MAC address + description: FromHostInterface contains the name of the interface in the BareMetalHost Introspection details from which to fetch the MAC address type: string string: - description: String contains the MAC address given - as a string + description: String contains the MAC address given as a string type: string type: object mtu: @@ -1293,25 +1062,19 @@ spec: ethernets: description: Ethernets contains a list of Ethernet links items: - description: NetworkDataLinkEthernet represents an ethernet - link object. + description: NetworkDataLinkEthernet represents an ethernet link object. properties: id: - description: Id is the ID of the interface (used for - naming) + description: Id is the ID of the interface (used for naming) type: string macAddress: - description: MACAddress is the MAC address of the interface, - containing the object used to render it. + description: MACAddress is the MAC address of the interface, containing the object used to render it. properties: fromHostInterface: - description: FromHostInterface contains the name - of the interface in the BareMetalHost Introspection - details from which to fetch the MAC address + description: FromHostInterface contains the name of the interface in the BareMetalHost Introspection details from which to fetch the MAC address type: string string: - description: String contains the MAC address given - as a string + description: String contains the MAC address given as a string type: string type: object mtu: @@ -1320,9 +1083,7 @@ spec: maximum: 9000 type: integer type: - description: 'Type is the type of the ethernet link. - It can be one of: bridge, dvs, hw_veb, hyperv, ovs, - tap, vhostuser, vif, phy' + description: 'Type is the type of the ethernet link. It can be one of: bridge, dvs, hw_veb, hyperv, ovs, tap, vhostuser, vif, phy' enum: - bridge - dvs @@ -1343,25 +1104,19 @@ spec: vlans: description: Vlans contains a list of Vlan links items: - description: NetworkDataLinkVlan represents a vlan link - object. + description: NetworkDataLinkVlan represents a vlan link object. properties: id: - description: Id is the ID of the interface (used for - naming) + description: Id is the ID of the interface (used for naming) type: string macAddress: - description: MACAddress is the MAC address of the interface, - containing the object used to render it. + description: MACAddress is the MAC address of the interface, containing the object used to render it. properties: fromHostInterface: - description: FromHostInterface contains the name - of the interface in the BareMetalHost Introspection - details from which to fetch the MAC address + description: FromHostInterface contains the name of the interface in the BareMetalHost Introspection details from which to fetch the MAC address type: string string: - description: String contains the MAC address given - as a string + description: String contains the MAC address given as a string type: string type: object mtu: @@ -1374,8 +1129,7 @@ spec: maximum: 4096 type: integer vlanLink: - description: VlanLink is the name of the link on which - the vlan should be added + description: VlanLink is the name of the link on which the vlan should be added type: string required: - id @@ -1386,21 +1140,18 @@ spec: type: array type: object networks: - description: Networks is a structure containing lists of different - types objects + description: Networks is a structure containing lists of different types objects properties: ipv4: description: IPv4 contains a list of IPv4 static allocations items: - description: NetworkDataIPv4 represents an ipv4 static network - object. + description: NetworkDataIPv4 represents an ipv4 static network object. properties: id: description: ID is the network ID (name) type: string ipAddressFromIPPool: - description: IPAddressFromIPPool contains the name of - the IPPool to use to get an ip address + description: IPAddressFromIPPool contains the name of the IPPool to use to get an ip address type: string link: description: Link is the link on which the network applies @@ -1408,20 +1159,16 @@ spec: routes: description: Routes contains a list of IPv4 routes items: - description: NetworkDataRoutev4 represents an ipv4 - route object. + description: NetworkDataRoutev4 represents an ipv4 route object. properties: gateway: - description: Gateway is the IPv4 address of the - gateway + description: Gateway is the IPv4 address of the gateway properties: fromIPPool: - description: FromIPPool is the name of the - IPPool to fetch the gateway from + description: FromIPPool is the name of the IPPool to fetch the gateway from type: string string: - description: String is the gateway given as - a string + description: String is the gateway given as a string pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string type: object @@ -1430,8 +1177,7 @@ spec: pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string prefix: - description: Prefix is the mask of the network - as integer (max 32) + description: Prefix is the mask of the network as integer (max 32) maximum: 32 type: integer services: @@ -1440,14 +1186,12 @@ spec: dns: description: DNS is a list of IPv4 DNS services items: - description: IPAddressv4 is used for validation - of an IPv6 address. + description: IPAddressv4 is used for validation of an IPv6 address. pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string type: array dnsFromIPPool: - description: DNSFromIPPool is the name of - the IPPool from which to get the DNS servers + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers type: string type: object required: @@ -1464,8 +1208,7 @@ spec: ipv4DHCP: description: IPv4 contains a list of IPv4 DHCP allocations items: - description: NetworkDataIPv4DHCP represents an ipv4 DHCP - network object. + description: NetworkDataIPv4DHCP represents an ipv4 DHCP network object. properties: id: description: ID is the network ID (name) @@ -1476,20 +1219,16 @@ spec: routes: description: Routes contains a list of IPv4 routes items: - description: NetworkDataRoutev4 represents an ipv4 - route object. + description: NetworkDataRoutev4 represents an ipv4 route object. properties: gateway: - description: Gateway is the IPv4 address of the - gateway + description: Gateway is the IPv4 address of the gateway properties: fromIPPool: - description: FromIPPool is the name of the - IPPool to fetch the gateway from + description: FromIPPool is the name of the IPPool to fetch the gateway from type: string string: - description: String is the gateway given as - a string + description: String is the gateway given as a string pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string type: object @@ -1498,8 +1237,7 @@ spec: pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string prefix: - description: Prefix is the mask of the network - as integer (max 32) + description: Prefix is the mask of the network as integer (max 32) maximum: 32 type: integer services: @@ -1508,14 +1246,12 @@ spec: dns: description: DNS is a list of IPv4 DNS services items: - description: IPAddressv4 is used for validation - of an IPv6 address. + description: IPAddressv4 is used for validation of an IPv6 address. pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string type: array dnsFromIPPool: - description: DNSFromIPPool is the name of - the IPPool from which to get the DNS servers + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers type: string type: object required: @@ -1531,15 +1267,13 @@ spec: ipv6: description: IPv4 contains a list of IPv6 static allocations items: - description: NetworkDataIPv6 represents an ipv6 static network - object. + description: NetworkDataIPv6 represents an ipv6 static network object. properties: id: description: ID is the network ID (name) type: string ipAddressFromIPPool: - description: IPAddressFromIPPool contains the name of - the IPPool to use to get an ip address + description: IPAddressFromIPPool contains the name of the IPPool to use to get an ip address type: string link: description: Link is the link on which the network applies @@ -1547,20 +1281,16 @@ spec: routes: description: Routes contains a list of IPv6 routes items: - description: NetworkDataRoutev6 represents an ipv6 - route object. + description: NetworkDataRoutev6 represents an ipv6 route object. properties: gateway: - description: Gateway is the IPv6 address of the - gateway + description: Gateway is the IPv6 address of the gateway properties: fromIPPool: - description: FromIPPool is the name of the - IPPool to fetch the gateway from + description: FromIPPool is the name of the IPPool to fetch the gateway from type: string string: - description: String is the gateway given as - a string + description: String is the gateway given as a string pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string type: object @@ -1569,8 +1299,7 @@ spec: pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string prefix: - description: Prefix is the mask of the network - as integer (max 128) + description: Prefix is the mask of the network as integer (max 128) maximum: 128 type: integer services: @@ -1579,14 +1308,12 @@ spec: dns: description: DNS is a list of IPv6 DNS services items: - description: IPAddressv6 is used for validation - of an IPv6 address. + description: IPAddressv6 is used for validation of an IPv6 address. pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string type: array dnsFromIPPool: - description: DNSFromIPPool is the name of - the IPPool from which to get the DNS servers + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers type: string type: object required: @@ -1603,8 +1330,7 @@ spec: ipv6DHCP: description: IPv4 contains a list of IPv6 DHCP allocations items: - description: NetworkDataIPv6DHCP represents an ipv6 DHCP - network object. + description: NetworkDataIPv6DHCP represents an ipv6 DHCP network object. properties: id: description: ID is the network ID (name) @@ -1615,20 +1341,16 @@ spec: routes: description: Routes contains a list of IPv6 routes items: - description: NetworkDataRoutev6 represents an ipv6 - route object. + description: NetworkDataRoutev6 represents an ipv6 route object. properties: gateway: - description: Gateway is the IPv6 address of the - gateway + description: Gateway is the IPv6 address of the gateway properties: fromIPPool: - description: FromIPPool is the name of the - IPPool to fetch the gateway from + description: FromIPPool is the name of the IPPool to fetch the gateway from type: string string: - description: String is the gateway given as - a string + description: String is the gateway given as a string pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string type: object @@ -1637,8 +1359,7 @@ spec: pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string prefix: - description: Prefix is the mask of the network - as integer (max 128) + description: Prefix is the mask of the network as integer (max 128) maximum: 128 type: integer services: @@ -1647,14 +1368,12 @@ spec: dns: description: DNS is a list of IPv6 DNS services items: - description: IPAddressv6 is used for validation - of an IPv6 address. + description: IPAddressv6 is used for validation of an IPv6 address. pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string type: array dnsFromIPPool: - description: DNSFromIPPool is the name of - the IPPool from which to get the DNS servers + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers type: string type: object required: @@ -1670,8 +1389,7 @@ spec: ipv6SLAAC: description: IPv4 contains a list of IPv6 SLAAC allocations items: - description: NetworkDataIPv6DHCP represents an ipv6 DHCP - network object. + description: NetworkDataIPv6DHCP represents an ipv6 DHCP network object. properties: id: description: ID is the network ID (name) @@ -1682,20 +1400,16 @@ spec: routes: description: Routes contains a list of IPv6 routes items: - description: NetworkDataRoutev6 represents an ipv6 - route object. + description: NetworkDataRoutev6 represents an ipv6 route object. properties: gateway: - description: Gateway is the IPv6 address of the - gateway + description: Gateway is the IPv6 address of the gateway properties: fromIPPool: - description: FromIPPool is the name of the - IPPool to fetch the gateway from + description: FromIPPool is the name of the IPPool to fetch the gateway from type: string string: - description: String is the gateway given as - a string + description: String is the gateway given as a string pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string type: object @@ -1704,8 +1418,7 @@ spec: pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string prefix: - description: Prefix is the mask of the network - as integer (max 128) + description: Prefix is the mask of the network as integer (max 128) maximum: 128 type: integer services: @@ -1714,14 +1427,12 @@ spec: dns: description: DNS is a list of IPv6 DNS services items: - description: IPAddressv6 is used for validation - of an IPv6 address. + description: IPAddressv6 is used for validation of an IPv6 address. pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string type: array dnsFromIPPool: - description: DNSFromIPPool is the name of - the IPPool from which to get the DNS servers + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers type: string type: object required: @@ -1736,8 +1447,7 @@ spec: type: array type: object services: - description: Services is a structure containing lists of different - types objects + description: Services is a structure containing lists of different types objects properties: dns: description: DNS is a list of DNS services @@ -1747,15 +1457,12 @@ spec: type: string type: array dnsFromIPPool: - description: DNSFromIPPool is the name of the IPPool from - which to get the DNS servers + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers type: string type: object type: object templateReference: - description: TemplateReference refers to the Template the Metal3MachineTemplate - refers to. It can be matched against the key or it may also point - to the name of the template Metal3Data refers to + description: TemplateReference refers to the Template the Metal3MachineTemplate refers to. It can be matched against the key or it may also point to the name of the template Metal3Data refers to type: string required: - clusterName @@ -1790,18 +1497,13 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: Metal3DataTemplate is the Schema for the metal3datatemplates - API. + description: Metal3DataTemplate is the Schema for the metal3datatemplates API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -1809,26 +1511,21 @@ spec: description: Metal3DataTemplateSpec defines the desired state of Metal3DataTemplate. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + description: ClusterName is the name of the Cluster this object belongs to. minLength: 1 type: string metaData: - description: MetaData contains the information needed to generate - the metadata secret + description: MetaData contains the information needed to generate the metadata secret properties: dnsServersFromIPPool: - description: DNSServersFromPool is the list of metadata items - to be rendered as dns servers. + description: DNSServersFromPool is the list of metadata items to be rendered as dns servers. items: properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string name: - description: Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init type: string required: - key @@ -1836,24 +1533,18 @@ spec: type: object type: array fromAnnotations: - description: FromAnnotations is the list of metadata items to - be fetched from object Annotations + description: FromAnnotations is the list of metadata items to be fetched from object Annotations items: - description: MetaDataFromAnnotation contains the information - to fetch an annotation content, if the label does not exist, - it is rendered as empty string. + description: MetaDataFromAnnotation contains the information to fetch an annotation content, if the label does not exist, it is rendered as empty string. properties: annotation: - description: Annotation is the key of the Annotation to - fetch + description: Annotation is the key of the Annotation to fetch type: string key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string object: - description: Object is the type of the object from which - we retrieve the name + description: Object is the type of the object from which we retrieve the name enum: - machine - metal3machine @@ -1866,20 +1557,15 @@ spec: type: object type: array fromHostInterfaces: - description: FromHostInterfaces is the list of metadata items - to be rendered as MAC addresses of the host interfaces. + description: FromHostInterfaces is the list of metadata items to be rendered as MAC addresses of the host interfaces. items: - description: MetaDataHostInterface contains the information - to render the object name. + description: MetaDataHostInterface contains the information to render the object name. properties: interface: - description: Interface is the name of the interface in the - BareMetalHost Status Hardware Details list of interfaces - from which to fetch the MAC address. + description: Interface is the name of the interface in the BareMetalHost Status Hardware Details list of interfaces from which to fetch the MAC address. type: string key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string required: - interface @@ -1887,23 +1573,18 @@ spec: type: object type: array fromLabels: - description: FromLabels is the list of metadata items to be fetched - from object labels + description: FromLabels is the list of metadata items to be fetched from object labels items: - description: MetaDataFromLabel contains the information to fetch - a label content, if the label does not exist, it is rendered - as empty string. + description: MetaDataFromLabel contains the information to fetch a label content, if the label does not exist, it is rendered as empty string. properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string label: description: Label is the key of the label to fetch type: string object: - description: Object is the type of the object from which - we retrieve the name + description: Object is the type of the object from which we retrieve the name enum: - machine - metal3machine @@ -1916,17 +1597,14 @@ spec: type: object type: array gatewaysFromIPPool: - description: GatewaysFromPool is the list of metadata items to - be rendered as gateway addresses. + description: GatewaysFromPool is the list of metadata items to be rendered as gateway addresses. items: properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string name: - description: Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init type: string required: - key @@ -1934,19 +1612,15 @@ spec: type: object type: array indexes: - description: Indexes is the list of metadata items to be rendered - from the index of the Metal3Data + description: Indexes is the list of metadata items to be rendered from the index of the Metal3Data items: - description: MetaDataIndex contains the information to render - the index. + description: MetaDataIndex contains the information to render the index. properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string offset: - description: Offset is the offset to apply to the index - when rendering it + description: Offset is the offset to apply to the index when rendering it type: integer prefix: description: Prefix is the prefix string @@ -1963,17 +1637,14 @@ spec: type: object type: array ipAddressesFromIPPool: - description: IPAddressesFromPool is the list of metadata items - to be rendered as ip addresses. + description: IPAddressesFromPool is the list of metadata items to be rendered as ip addresses. items: properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string name: - description: Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init type: string required: - key @@ -1981,34 +1652,27 @@ spec: type: object type: array namespaces: - description: Namespaces is the list of metadata items to be rendered - from the namespace + description: Namespaces is the list of metadata items to be rendered from the namespace items: - description: MetaDataNamespace contains the information to render - the namespace. + description: MetaDataNamespace contains the information to render the namespace. properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string required: - key type: object type: array objectNames: - description: ObjectNames is the list of metadata items to be rendered - from the name of objects. + description: ObjectNames is the list of metadata items to be rendered from the name of objects. items: - description: MetaDataObjectName contains the information to - render the object name. + description: MetaDataObjectName contains the information to render the object name. properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string object: - description: Object is the type of the object from which - we retrieve the name + description: Object is the type of the object from which we retrieve the name enum: - machine - metal3machine @@ -2020,17 +1684,14 @@ spec: type: object type: array prefixesFromIPPool: - description: PrefixesFromPool is the list of metadata items to - be rendered as network prefixes. + description: PrefixesFromPool is the list of metadata items to be rendered as network prefixes. items: properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string name: - description: Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init type: string required: - key @@ -2038,15 +1699,12 @@ spec: type: object type: array strings: - description: Strings is the list of metadata items to be rendered - from strings + description: Strings is the list of metadata items to be rendered from strings items: - description: MetaDataString contains the information to render - the string. + description: MetaDataString contains the information to render the string. properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string value: description: Value is the string to render. @@ -2058,29 +1716,23 @@ spec: type: array type: object networkData: - description: NetworkData contains the information needed to generate - the networkdata secret + description: NetworkData contains the information needed to generate the networkdata secret properties: links: - description: Links is a structure containing lists of different - types objects + description: Links is a structure containing lists of different types objects properties: bonds: description: Bonds contains a list of Bond links items: - description: NetworkDataLinkBond represents a bond link - object. + description: NetworkDataLinkBond represents a bond link object. properties: bondLinks: - description: BondLinks is the list of links that are - part of the bond. + description: BondLinks is the list of links that are part of the bond. items: type: string type: array bondMode: - description: BondMode is the mode of bond used. It can - be one of balance-rr, active-backup, balance-xor, - broadcast, balance-tlb, balance-alb, 802.3ad + description: BondMode is the mode of bond used. It can be one of balance-rr, active-backup, balance-xor, broadcast, balance-tlb, balance-alb, 802.3ad enum: - balance-rr - active-backup @@ -2091,21 +1743,16 @@ spec: - 802.3ad type: string id: - description: Id is the ID of the interface (used for - naming) + description: Id is the ID of the interface (used for naming) type: string macAddress: - description: MACAddress is the MAC address of the interface, - containing the object used to render it. + description: MACAddress is the MAC address of the interface, containing the object used to render it. properties: fromHostInterface: - description: FromHostInterface contains the name - of the interface in the BareMetalHost Introspection - details from which to fetch the MAC address + description: FromHostInterface contains the name of the interface in the BareMetalHost Introspection details from which to fetch the MAC address type: string string: - description: String contains the MAC address given - as a string + description: String contains the MAC address given as a string type: string type: object mtu: @@ -2123,25 +1770,19 @@ spec: ethernets: description: Ethernets contains a list of Ethernet links items: - description: NetworkDataLinkEthernet represents an ethernet - link object. + description: NetworkDataLinkEthernet represents an ethernet link object. properties: id: - description: Id is the ID of the interface (used for - naming) + description: Id is the ID of the interface (used for naming) type: string macAddress: - description: MACAddress is the MAC address of the interface, - containing the object used to render it. + description: MACAddress is the MAC address of the interface, containing the object used to render it. properties: fromHostInterface: - description: FromHostInterface contains the name - of the interface in the BareMetalHost Introspection - details from which to fetch the MAC address + description: FromHostInterface contains the name of the interface in the BareMetalHost Introspection details from which to fetch the MAC address type: string string: - description: String contains the MAC address given - as a string + description: String contains the MAC address given as a string type: string type: object mtu: @@ -2150,9 +1791,7 @@ spec: maximum: 9000 type: integer type: - description: 'Type is the type of the ethernet link. - It can be one of: bridge, dvs, hw_veb, hyperv, ovs, - tap, vhostuser, vif, phy' + description: 'Type is the type of the ethernet link. It can be one of: bridge, dvs, hw_veb, hyperv, ovs, tap, vhostuser, vif, phy' enum: - bridge - dvs @@ -2173,25 +1812,19 @@ spec: vlans: description: Vlans contains a list of Vlan links items: - description: NetworkDataLinkVlan represents a vlan link - object. + description: NetworkDataLinkVlan represents a vlan link object. properties: id: - description: Id is the ID of the interface (used for - naming) + description: Id is the ID of the interface (used for naming) type: string macAddress: - description: MACAddress is the MAC address of the interface, - containing the object used to render it. + description: MACAddress is the MAC address of the interface, containing the object used to render it. properties: fromHostInterface: - description: FromHostInterface contains the name - of the interface in the BareMetalHost Introspection - details from which to fetch the MAC address + description: FromHostInterface contains the name of the interface in the BareMetalHost Introspection details from which to fetch the MAC address type: string string: - description: String contains the MAC address given - as a string + description: String contains the MAC address given as a string type: string type: object mtu: @@ -2204,8 +1837,7 @@ spec: maximum: 4096 type: integer vlanLink: - description: VlanLink is the name of the link on which - the vlan should be added + description: VlanLink is the name of the link on which the vlan should be added type: string required: - id @@ -2216,21 +1848,18 @@ spec: type: array type: object networks: - description: Networks is a structure containing lists of different - types objects + description: Networks is a structure containing lists of different types objects properties: ipv4: description: IPv4 contains a list of IPv4 static allocations items: - description: NetworkDataIPv4 represents an ipv4 static network - object. + description: NetworkDataIPv4 represents an ipv4 static network object. properties: id: description: ID is the network ID (name) type: string ipAddressFromIPPool: - description: IPAddressFromIPPool contains the name of - the IPPool to use to get an ip address + description: IPAddressFromIPPool contains the name of the IPPool to use to get an ip address type: string link: description: Link is the link on which the network applies @@ -2238,20 +1867,16 @@ spec: routes: description: Routes contains a list of IPv4 routes items: - description: NetworkDataRoutev4 represents an ipv4 - route object. + description: NetworkDataRoutev4 represents an ipv4 route object. properties: gateway: - description: Gateway is the IPv4 address of the - gateway + description: Gateway is the IPv4 address of the gateway properties: fromIPPool: - description: FromIPPool is the name of the - IPPool to fetch the gateway from + description: FromIPPool is the name of the IPPool to fetch the gateway from type: string string: - description: String is the gateway given as - a string + description: String is the gateway given as a string pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string type: object @@ -2260,8 +1885,7 @@ spec: pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string prefix: - description: Prefix is the mask of the network - as integer (max 32) + description: Prefix is the mask of the network as integer (max 32) maximum: 32 type: integer services: @@ -2270,14 +1894,12 @@ spec: dns: description: DNS is a list of IPv4 DNS services items: - description: IPAddressv4 is used for validation - of an IPv6 address. + description: IPAddressv4 is used for validation of an IPv6 address. pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string type: array dnsFromIPPool: - description: DNSFromIPPool is the name of - the IPPool from which to get the DNS servers + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers type: string type: object required: @@ -2294,8 +1916,7 @@ spec: ipv4DHCP: description: IPv4 contains a list of IPv4 DHCP allocations items: - description: NetworkDataIPv4DHCP represents an ipv4 DHCP - network object. + description: NetworkDataIPv4DHCP represents an ipv4 DHCP network object. properties: id: description: ID is the network ID (name) @@ -2306,20 +1927,16 @@ spec: routes: description: Routes contains a list of IPv4 routes items: - description: NetworkDataRoutev4 represents an ipv4 - route object. + description: NetworkDataRoutev4 represents an ipv4 route object. properties: gateway: - description: Gateway is the IPv4 address of the - gateway + description: Gateway is the IPv4 address of the gateway properties: fromIPPool: - description: FromIPPool is the name of the - IPPool to fetch the gateway from + description: FromIPPool is the name of the IPPool to fetch the gateway from type: string string: - description: String is the gateway given as - a string + description: String is the gateway given as a string pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string type: object @@ -2328,8 +1945,7 @@ spec: pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string prefix: - description: Prefix is the mask of the network - as integer (max 32) + description: Prefix is the mask of the network as integer (max 32) maximum: 32 type: integer services: @@ -2338,14 +1954,12 @@ spec: dns: description: DNS is a list of IPv4 DNS services items: - description: IPAddressv4 is used for validation - of an IPv6 address. + description: IPAddressv4 is used for validation of an IPv6 address. pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string type: array dnsFromIPPool: - description: DNSFromIPPool is the name of - the IPPool from which to get the DNS servers + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers type: string type: object required: @@ -2361,15 +1975,13 @@ spec: ipv6: description: IPv4 contains a list of IPv6 static allocations items: - description: NetworkDataIPv6 represents an ipv6 static network - object. + description: NetworkDataIPv6 represents an ipv6 static network object. properties: id: description: ID is the network ID (name) type: string ipAddressFromIPPool: - description: IPAddressFromIPPool contains the name of - the IPPool to use to get an ip address + description: IPAddressFromIPPool contains the name of the IPPool to use to get an ip address type: string link: description: Link is the link on which the network applies @@ -2377,20 +1989,16 @@ spec: routes: description: Routes contains a list of IPv6 routes items: - description: NetworkDataRoutev6 represents an ipv6 - route object. + description: NetworkDataRoutev6 represents an ipv6 route object. properties: gateway: - description: Gateway is the IPv6 address of the - gateway + description: Gateway is the IPv6 address of the gateway properties: fromIPPool: - description: FromIPPool is the name of the - IPPool to fetch the gateway from + description: FromIPPool is the name of the IPPool to fetch the gateway from type: string string: - description: String is the gateway given as - a string + description: String is the gateway given as a string pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string type: object @@ -2399,8 +2007,7 @@ spec: pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string prefix: - description: Prefix is the mask of the network - as integer (max 128) + description: Prefix is the mask of the network as integer (max 128) maximum: 128 type: integer services: @@ -2409,14 +2016,12 @@ spec: dns: description: DNS is a list of IPv6 DNS services items: - description: IPAddressv6 is used for validation - of an IPv6 address. + description: IPAddressv6 is used for validation of an IPv6 address. pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string type: array dnsFromIPPool: - description: DNSFromIPPool is the name of - the IPPool from which to get the DNS servers + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers type: string type: object required: @@ -2433,8 +2038,7 @@ spec: ipv6DHCP: description: IPv4 contains a list of IPv6 DHCP allocations items: - description: NetworkDataIPv6DHCP represents an ipv6 DHCP - network object. + description: NetworkDataIPv6DHCP represents an ipv6 DHCP network object. properties: id: description: ID is the network ID (name) @@ -2445,20 +2049,16 @@ spec: routes: description: Routes contains a list of IPv6 routes items: - description: NetworkDataRoutev6 represents an ipv6 - route object. + description: NetworkDataRoutev6 represents an ipv6 route object. properties: gateway: - description: Gateway is the IPv6 address of the - gateway + description: Gateway is the IPv6 address of the gateway properties: fromIPPool: - description: FromIPPool is the name of the - IPPool to fetch the gateway from + description: FromIPPool is the name of the IPPool to fetch the gateway from type: string string: - description: String is the gateway given as - a string + description: String is the gateway given as a string pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string type: object @@ -2467,8 +2067,7 @@ spec: pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string prefix: - description: Prefix is the mask of the network - as integer (max 128) + description: Prefix is the mask of the network as integer (max 128) maximum: 128 type: integer services: @@ -2477,14 +2076,12 @@ spec: dns: description: DNS is a list of IPv6 DNS services items: - description: IPAddressv6 is used for validation - of an IPv6 address. + description: IPAddressv6 is used for validation of an IPv6 address. pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string type: array dnsFromIPPool: - description: DNSFromIPPool is the name of - the IPPool from which to get the DNS servers + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers type: string type: object required: @@ -2500,8 +2097,7 @@ spec: ipv6SLAAC: description: IPv4 contains a list of IPv6 SLAAC allocations items: - description: NetworkDataIPv6DHCP represents an ipv6 DHCP - network object. + description: NetworkDataIPv6DHCP represents an ipv6 DHCP network object. properties: id: description: ID is the network ID (name) @@ -2512,20 +2108,16 @@ spec: routes: description: Routes contains a list of IPv6 routes items: - description: NetworkDataRoutev6 represents an ipv6 - route object. + description: NetworkDataRoutev6 represents an ipv6 route object. properties: gateway: - description: Gateway is the IPv6 address of the - gateway + description: Gateway is the IPv6 address of the gateway properties: fromIPPool: - description: FromIPPool is the name of the - IPPool to fetch the gateway from + description: FromIPPool is the name of the IPPool to fetch the gateway from type: string string: - description: String is the gateway given as - a string + description: String is the gateway given as a string pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string type: object @@ -2534,8 +2126,7 @@ spec: pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string prefix: - description: Prefix is the mask of the network - as integer (max 128) + description: Prefix is the mask of the network as integer (max 128) maximum: 128 type: integer services: @@ -2544,14 +2135,12 @@ spec: dns: description: DNS is a list of IPv6 DNS services items: - description: IPAddressv6 is used for validation - of an IPv6 address. + description: IPAddressv6 is used for validation of an IPv6 address. pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string type: array dnsFromIPPool: - description: DNSFromIPPool is the name of - the IPPool from which to get the DNS servers + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers type: string type: object required: @@ -2566,8 +2155,7 @@ spec: type: array type: object services: - description: Services is a structure containing lists of different - types objects + description: Services is a structure containing lists of different types objects properties: dns: description: DNS is a list of DNS services @@ -2577,15 +2165,12 @@ spec: type: string type: array dnsFromIPPool: - description: DNSFromIPPool is the name of the IPPool from - which to get the DNS servers + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers type: string type: object type: object templateReference: - description: TemplateReference refers to the Template the Metal3MachineTemplate - refers to. It can be matched against the key or it may also point - to the name of the template Metal3Data refers to + description: TemplateReference refers to the Template the Metal3MachineTemplate refers to. It can be matched against the key or it may also point to the name of the template Metal3Data refers to type: string required: - clusterName @@ -2676,14 +2261,10 @@ spec: description: Metal3Machine is the Schema for the metal3machines API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -2691,33 +2272,19 @@ spec: description: Metal3MachineSpec defines the desired state of Metal3Machine. properties: automatedCleaningMode: - description: When set to disabled, automated cleaning of host disks - will be skipped during provisioning and deprovisioning. + description: When set to disabled, automated cleaning of host disks will be skipped during provisioning and deprovisioning. enum: - metadata - disabled type: string dataTemplate: - description: MetadataTemplate is a reference to a Metal3DataTemplate - object containing a template of metadata to be rendered. Metadata - keys defined in the metadataTemplate take precedence over keys defined - in metadata field. + description: MetadataTemplate is a reference to a Metal3DataTemplate object containing a template of metadata to be rendered. Metadata keys defined in the metadataTemplate take precedence over keys defined in metadata field. properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -2729,8 +2296,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -2738,21 +2304,16 @@ spec: type: object x-kubernetes-map-type: atomic hostSelector: - description: HostSelector specifies matching criteria for labels on - BareMetalHosts. This is used to limit the set of BareMetalHost objects - considered for claiming for a metal3machine. + description: HostSelector specifies matching criteria for labels on BareMetalHosts. This is used to limit the set of BareMetalHost objects considered for claiming for a metal3machine. properties: matchExpressions: - description: Label match expressions that must be true on a chosen - BareMetalHost + description: Label match expressions that must be true on a chosen BareMetalHost items: properties: key: type: string operator: - description: Operator represents a key/field's relationship - to value(s). See labels.Requirement and fields.Requirement - for more details. + description: Operator represents a key/field's relationship to value(s). See labels.Requirement and fields.Requirement for more details. type: string values: items: @@ -2767,8 +2328,7 @@ spec: matchLabels: additionalProperties: type: string - description: Key/value pairs of labels that must exist on a chosen - BareMetalHost + description: Key/value pairs of labels that must exist on a chosen BareMetalHost type: object type: object image: @@ -2778,8 +2338,7 @@ spec: description: Checksum is a md5sum value or a URL to retrieve one. type: string checksumType: - description: ChecksumType is the checksum algorithm for the image. - e.g md5, sha256, sha512 + description: ChecksumType is the checksum algorithm for the image. e.g md5, sha256, sha512 enum: - md5 - sha256 @@ -2802,49 +2361,38 @@ spec: - url type: object metaData: - description: MetaData is an object storing the reference to the secret - containing the Metadata given by the user. + description: MetaData is an object storing the reference to the secret containing the Metadata given by the user. properties: name: - description: name is unique within a namespace to reference a - secret resource. + description: name is unique within a namespace to reference a secret resource. type: string namespace: - description: namespace defines the space within which the secret - name must be unique. + description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic networkData: - description: NetworkData is an object storing the reference to the - secret containing the network data given by the user. + description: NetworkData is an object storing the reference to the secret containing the network data given by the user. properties: name: - description: name is unique within a namespace to reference a - secret resource. + description: name is unique within a namespace to reference a secret resource. type: string namespace: - description: namespace defines the space within which the secret - name must be unique. + description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic providerID: - description: ProviderID will be the Metal3 machine in ProviderID format - (metal3://) + description: ProviderID will be the Metal3 machine in ProviderID format (metal3://) type: string userData: - description: UserData references the Secret that holds user data needed - by the bare metal operator. The Namespace is optional; it will default - to the metal3machine's namespace if not specified. + description: UserData references the Secret that holds user data needed by the bare metal operator. The Namespace is optional; it will default to the metal3machine's namespace if not specified. properties: name: - description: name is unique within a namespace to reference a - secret resource. + description: name is unique within a namespace to reference a secret resource. type: string namespace: - description: namespace defines the space within which the secret - name must be unique. + description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic @@ -2855,18 +2403,15 @@ spec: description: Metal3MachineStatus defines the observed state of Metal3Machine. properties: addresses: - description: Addresses is a list of addresses assigned to the machine. - This field is copied from the infrastructure provider reference. + 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. + 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. + description: Machine address type, one of Hostname, ExternalIP or InternalIP. type: string required: - address @@ -2874,98 +2419,51 @@ spec: type: object type: array failureMessage: - description: "FailureMessage will be set in the event that there is - a terminal problem reconciling the metal3machine 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 metal3machine'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 metal3machines can - be added as events to the metal3machine object and/or logged in - the controller's output." + description: "FailureMessage will be set in the event that there is a terminal problem reconciling the metal3machine 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 metal3machine'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 metal3machines can be added as events to the metal3machine 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 metal3machine 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 metal3machine'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 metal3machines can be added as - events to the metal3machine object and/or logged in the controller's - output." + description: "FailureReason will be set in the event that there is a terminal problem reconciling the metal3machine 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 metal3machine'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 metal3machines can be added as events to the metal3machine object and/or logged in the controller's output." type: string lastUpdated: description: LastUpdated identifies when this status was last observed. format: date-time type: string metaData: - description: MetaData is an object storing the reference to the secret - containing the Metadata used to deploy the BareMetalHost. + description: MetaData is an object storing the reference to the secret containing the Metadata used to deploy the BareMetalHost. properties: name: - description: name is unique within a namespace to reference a - secret resource. + description: name is unique within a namespace to reference a secret resource. type: string namespace: - description: namespace defines the space within which the secret - name must be unique. + description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic networkData: - description: NetworkData is an object storing the reference to the - secret containing the network data used to deploy the BareMetalHost. + description: NetworkData is an object storing the reference to the secret containing the network data used to deploy the BareMetalHost. properties: name: - description: name is unique within a namespace to reference a - secret resource. + description: name is unique within a namespace to reference a secret resource. type: string namespace: - description: namespace defines the space within which the secret - name must be unique. + description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic phase: - description: Phase represents the current phase of machine actuation. - E.g. Pending, Running, Terminating, Failed etc. + description: Phase represents the current phase of machine actuation. E.g. Pending, Running, Terminating, Failed etc. type: string ready: - description: 'Ready is the state of the metal3. TODO : Document the - variable : mhrivnak: " it would be good to document what this means, - how to interpret it, under what circumstances the value changes, - etc."' + description: 'Ready is the state of the metal3. TODO : Document the variable : mhrivnak: " it would be good to document what this means, how to interpret it, under what circumstances the value changes, etc."' type: boolean renderedData: - description: RenderedData is a reference to a rendered Metal3Data - object containing the references to metaData and networkData secrets. + description: RenderedData is a reference to a rendered Metal3Data object containing the references to metaData and networkData secrets. properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -2977,8 +2475,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -2986,17 +2483,13 @@ spec: type: object x-kubernetes-map-type: atomic userData: - description: UserData references the Secret that holds user data needed - by the bare metal operator. The Namespace is optional; it will default - to the metal3machine's namespace if not specified. + description: UserData references the Secret that holds user data needed by the bare metal operator. The Namespace is optional; it will default to the metal3machine's namespace if not specified. properties: name: - description: name is unique within a namespace to reference a - secret resource. + description: name is unique within a namespace to reference a secret resource. type: string namespace: - description: namespace defines the space within which the secret - name must be unique. + description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic @@ -3033,14 +2526,10 @@ spec: description: Metal3Machine is the Schema for the metal3machines API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -3048,33 +2537,19 @@ spec: description: Metal3MachineSpec defines the desired state of Metal3Machine. properties: automatedCleaningMode: - description: When set to disabled, automated cleaning of host disks - will be skipped during provisioning and deprovisioning. + description: When set to disabled, automated cleaning of host disks will be skipped during provisioning and deprovisioning. enum: - metadata - disabled type: string dataTemplate: - description: MetadataTemplate is a reference to a Metal3DataTemplate - object containing a template of metadata to be rendered. Metadata - keys defined in the metadataTemplate take precedence over keys defined - in metadata field. + description: MetadataTemplate is a reference to a Metal3DataTemplate object containing a template of metadata to be rendered. Metadata keys defined in the metadataTemplate take precedence over keys defined in metadata field. properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -3086,8 +2561,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -3095,21 +2569,16 @@ spec: type: object x-kubernetes-map-type: atomic hostSelector: - description: HostSelector specifies matching criteria for labels on - BareMetalHosts. This is used to limit the set of BareMetalHost objects - considered for claiming for a metal3machine. + description: HostSelector specifies matching criteria for labels on BareMetalHosts. This is used to limit the set of BareMetalHost objects considered for claiming for a metal3machine. properties: matchExpressions: - description: Label match expressions that must be true on a chosen - BareMetalHost + description: Label match expressions that must be true on a chosen BareMetalHost items: properties: key: type: string operator: - description: Operator represents a key/field's relationship - to value(s). See labels.Requirement and fields.Requirement - for more details. + description: Operator represents a key/field's relationship to value(s). See labels.Requirement and fields.Requirement for more details. type: string values: items: @@ -3124,8 +2593,7 @@ spec: matchLabels: additionalProperties: type: string - description: Key/value pairs of labels that must exist on a chosen - BareMetalHost + description: Key/value pairs of labels that must exist on a chosen BareMetalHost type: object type: object image: @@ -3135,8 +2603,7 @@ spec: description: Checksum is a md5sum value or a URL to retrieve one. type: string checksumType: - description: ChecksumType is the checksum algorithm for the image. - e.g md5, sha256, sha512 + description: ChecksumType is the checksum algorithm for the image. e.g md5, sha256, sha512 enum: - md5 - sha256 @@ -3159,49 +2626,38 @@ spec: - url type: object metaData: - description: MetaData is an object storing the reference to the secret - containing the Metadata given by the user. + description: MetaData is an object storing the reference to the secret containing the Metadata given by the user. properties: name: - description: name is unique within a namespace to reference a - secret resource. + description: name is unique within a namespace to reference a secret resource. type: string namespace: - description: namespace defines the space within which the secret - name must be unique. + description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic networkData: - description: NetworkData is an object storing the reference to the - secret containing the network data given by the user. + description: NetworkData is an object storing the reference to the secret containing the network data given by the user. properties: name: - description: name is unique within a namespace to reference a - secret resource. + description: name is unique within a namespace to reference a secret resource. type: string namespace: - description: namespace defines the space within which the secret - name must be unique. + description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic providerID: - description: ProviderID will be the Metal3 machine in ProviderID format - (metal3://) + description: ProviderID will be the Metal3 machine in ProviderID format (metal3://) type: string userData: - description: UserData references the Secret that holds user data needed - by the bare metal operator. The Namespace is optional; it will default - to the metal3machine's namespace if not specified. + description: UserData references the Secret that holds user data needed by the bare metal operator. The Namespace is optional; it will default to the metal3machine's namespace if not specified. properties: name: - description: name is unique within a namespace to reference a - secret resource. + description: name is unique within a namespace to reference a secret resource. type: string namespace: - description: namespace defines the space within which the secret - name must be unique. + description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic @@ -3212,18 +2668,15 @@ spec: description: Metal3MachineStatus defines the observed state of Metal3Machine. properties: addresses: - description: Addresses is a list of addresses assigned to the machine. - This field is copied from the infrastructure provider reference. + 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. + 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. + description: Machine address type, one of Hostname, ExternalIP or InternalIP. type: string required: - address @@ -3233,41 +2686,26 @@ spec: conditions: description: Conditions defines current service state of the Metal3Machine. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -3276,98 +2714,51 @@ spec: type: object type: array failureMessage: - description: "FailureMessage will be set in the event that there is - a terminal problem reconciling the metal3machine 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 metal3machine'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 metal3machines can - be added as events to the metal3machine object and/or logged in - the controller's output." + description: "FailureMessage will be set in the event that there is a terminal problem reconciling the metal3machine 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 metal3machine'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 metal3machines can be added as events to the metal3machine 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 metal3machine 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 metal3machine'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 metal3machines can be added as - events to the metal3machine object and/or logged in the controller's - output." + description: "FailureReason will be set in the event that there is a terminal problem reconciling the metal3machine 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 metal3machine'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 metal3machines can be added as events to the metal3machine object and/or logged in the controller's output." type: string lastUpdated: description: LastUpdated identifies when this status was last observed. format: date-time type: string metaData: - description: MetaData is an object storing the reference to the secret - containing the Metadata used to deploy the BareMetalHost. + description: MetaData is an object storing the reference to the secret containing the Metadata used to deploy the BareMetalHost. properties: name: - description: name is unique within a namespace to reference a - secret resource. + description: name is unique within a namespace to reference a secret resource. type: string namespace: - description: namespace defines the space within which the secret - name must be unique. + description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic networkData: - description: NetworkData is an object storing the reference to the - secret containing the network data used to deploy the BareMetalHost. + description: NetworkData is an object storing the reference to the secret containing the network data used to deploy the BareMetalHost. properties: name: - description: name is unique within a namespace to reference a - secret resource. + description: name is unique within a namespace to reference a secret resource. type: string namespace: - description: namespace defines the space within which the secret - name must be unique. + description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic phase: - description: Phase represents the current phase of machine actuation. - E.g. Pending, Running, Terminating, Failed etc. + description: Phase represents the current phase of machine actuation. E.g. Pending, Running, Terminating, Failed etc. type: string ready: - description: 'Ready is the state of the metal3. TODO : Document the - variable : mhrivnak: " it would be good to document what this means, - how to interpret it, under what circumstances the value changes, - etc."' + description: 'Ready is the state of the metal3. TODO : Document the variable : mhrivnak: " it would be good to document what this means, how to interpret it, under what circumstances the value changes, etc."' type: boolean renderedData: - description: RenderedData is a reference to a rendered Metal3Data - object containing the references to metaData and networkData secrets. + description: RenderedData is a reference to a rendered Metal3Data object containing the references to metaData and networkData secrets. properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -3379,8 +2770,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -3388,17 +2778,13 @@ spec: type: object x-kubernetes-map-type: atomic userData: - description: UserData references the Secret that holds user data needed - by the bare metal operator. The Namespace is optional; it will default - to the metal3machine's namespace if not specified. + description: UserData references the Secret that holds user data needed by the bare metal operator. The Namespace is optional; it will default to the metal3machine's namespace if not specified. properties: name: - description: name is unique within a namespace to reference a - secret resource. + description: name is unique within a namespace to reference a secret resource. type: string namespace: - description: namespace defines the space within which the secret - name must be unique. + description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic @@ -3457,18 +2843,13 @@ spec: name: v1alpha5 schema: openAPIV3Schema: - description: Metal3MachineTemplate is the Schema for the metal3machinetemplates - API. + description: Metal3MachineTemplate is the Schema for the metal3machinetemplates API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -3477,46 +2858,28 @@ spec: properties: nodeReuse: default: false - description: When set to True, CAPM3 Machine controller will pick - the same pool of BMHs' that were released during the upgrade operation. + description: When set to True, CAPM3 Machine controller will pick the same pool of BMHs' that were released during the upgrade operation. type: boolean template: - description: Metal3MachineTemplateResource describes the data needed - to create a Metal3Machine from a template. + description: Metal3MachineTemplateResource describes the data needed to create a Metal3Machine from a template. properties: spec: - description: Spec is the specification of the desired behavior - of the machine. + description: Spec is the specification of the desired behavior of the machine. properties: automatedCleaningMode: - description: When set to disabled, automated cleaning of host - disks will be skipped during provisioning and deprovisioning. + description: When set to disabled, automated cleaning of host disks will be skipped during provisioning and deprovisioning. enum: - metadata - disabled type: string dataTemplate: - description: MetadataTemplate is a reference to a Metal3DataTemplate - object containing a template of metadata to be rendered. - Metadata keys defined in the metadataTemplate take precedence - over keys defined in metadata field. + description: MetadataTemplate is a reference to a Metal3DataTemplate object containing a template of metadata to be rendered. Metadata keys defined in the metadataTemplate take precedence over keys defined in metadata field. properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead - of an entire object, this string should contain a valid - JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container - within a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that - triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this - pod). This syntax is chosen only to have some well-defined - way of referencing a part of an object. TODO: this design - is not final and this field is subject to change in - the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -3528,8 +2891,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -3537,21 +2899,16 @@ spec: type: object x-kubernetes-map-type: atomic hostSelector: - description: HostSelector specifies matching criteria for - labels on BareMetalHosts. This is used to limit the set - of BareMetalHost objects considered for claiming for a metal3machine. + description: HostSelector specifies matching criteria for labels on BareMetalHosts. This is used to limit the set of BareMetalHost objects considered for claiming for a metal3machine. properties: matchExpressions: - description: Label match expressions that must be true - on a chosen BareMetalHost + description: Label match expressions that must be true on a chosen BareMetalHost items: properties: key: type: string operator: - description: Operator represents a key/field's relationship - to value(s). See labels.Requirement and fields.Requirement - for more details. + description: Operator represents a key/field's relationship to value(s). See labels.Requirement and fields.Requirement for more details. type: string values: items: @@ -3566,20 +2923,17 @@ spec: matchLabels: additionalProperties: type: string - description: Key/value pairs of labels that must exist - on a chosen BareMetalHost + description: Key/value pairs of labels that must exist on a chosen BareMetalHost type: object type: object image: description: Image is the image to be provisioned. properties: checksum: - description: Checksum is a md5sum value or a URL to retrieve - one. + description: Checksum is a md5sum value or a URL to retrieve one. type: string checksumType: - description: ChecksumType is the checksum algorithm for - the image. e.g md5, sha256, sha512 + description: ChecksumType is the checksum algorithm for the image. e.g md5, sha256, sha512 enum: - md5 - sha256 @@ -3602,50 +2956,38 @@ spec: - url type: object metaData: - description: MetaData is an object storing the reference to - the secret containing the Metadata given by the user. + description: MetaData is an object storing the reference to the secret containing the Metadata given by the user. properties: name: - description: name is unique within a namespace to reference - a secret resource. + description: name is unique within a namespace to reference a secret resource. type: string namespace: - description: namespace defines the space within which - the secret name must be unique. + description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic networkData: - description: NetworkData is an object storing the reference - to the secret containing the network data given by the user. + description: NetworkData is an object storing the reference to the secret containing the network data given by the user. properties: name: - description: name is unique within a namespace to reference - a secret resource. + description: name is unique within a namespace to reference a secret resource. type: string namespace: - description: namespace defines the space within which - the secret name must be unique. + description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic providerID: - description: ProviderID will be the Metal3 machine in ProviderID - format (metal3://) + description: ProviderID will be the Metal3 machine in ProviderID format (metal3://) type: string userData: - description: UserData references the Secret that holds user - data needed by the bare metal operator. The Namespace is - optional; it will default to the metal3machine's namespace - if not specified. + description: UserData references the Secret that holds user data needed by the bare metal operator. The Namespace is optional; it will default to the metal3machine's namespace if not specified. properties: name: - description: name is unique within a namespace to reference - a secret resource. + description: name is unique within a namespace to reference a secret resource. type: string namespace: - description: namespace defines the space within which - the secret name must be unique. + description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic @@ -3670,18 +3012,13 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: Metal3MachineTemplate is the Schema for the metal3machinetemplates - API. + description: Metal3MachineTemplate is the Schema for the metal3machinetemplates API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -3690,46 +3027,28 @@ spec: properties: nodeReuse: default: false - description: When set to True, CAPM3 Machine controller will pick - the same pool of BMHs' that were released during the upgrade operation. + description: When set to True, CAPM3 Machine controller will pick the same pool of BMHs' that were released during the upgrade operation. type: boolean template: - description: Metal3MachineTemplateResource describes the data needed - to create a Metal3Machine from a template. + description: Metal3MachineTemplateResource describes the data needed to create a Metal3Machine from a template. properties: spec: - description: Spec is the specification of the desired behavior - of the machine. + description: Spec is the specification of the desired behavior of the machine. properties: automatedCleaningMode: - description: When set to disabled, automated cleaning of host - disks will be skipped during provisioning and deprovisioning. + description: When set to disabled, automated cleaning of host disks will be skipped during provisioning and deprovisioning. enum: - metadata - disabled type: string dataTemplate: - description: MetadataTemplate is a reference to a Metal3DataTemplate - object containing a template of metadata to be rendered. - Metadata keys defined in the metadataTemplate take precedence - over keys defined in metadata field. + description: MetadataTemplate is a reference to a Metal3DataTemplate object containing a template of metadata to be rendered. Metadata keys defined in the metadataTemplate take precedence over keys defined in metadata field. properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead - of an entire object, this string should contain a valid - JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container - within a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that - triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this - pod). This syntax is chosen only to have some well-defined - way of referencing a part of an object. TODO: this design - is not final and this field is subject to change in - the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -3741,8 +3060,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -3750,21 +3068,16 @@ spec: type: object x-kubernetes-map-type: atomic hostSelector: - description: HostSelector specifies matching criteria for - labels on BareMetalHosts. This is used to limit the set - of BareMetalHost objects considered for claiming for a metal3machine. + description: HostSelector specifies matching criteria for labels on BareMetalHosts. This is used to limit the set of BareMetalHost objects considered for claiming for a metal3machine. properties: matchExpressions: - description: Label match expressions that must be true - on a chosen BareMetalHost + description: Label match expressions that must be true on a chosen BareMetalHost items: properties: key: type: string operator: - description: Operator represents a key/field's relationship - to value(s). See labels.Requirement and fields.Requirement - for more details. + description: Operator represents a key/field's relationship to value(s). See labels.Requirement and fields.Requirement for more details. type: string values: items: @@ -3779,20 +3092,17 @@ spec: matchLabels: additionalProperties: type: string - description: Key/value pairs of labels that must exist - on a chosen BareMetalHost + description: Key/value pairs of labels that must exist on a chosen BareMetalHost type: object type: object image: description: Image is the image to be provisioned. properties: checksum: - description: Checksum is a md5sum value or a URL to retrieve - one. + description: Checksum is a md5sum value or a URL to retrieve one. type: string checksumType: - description: ChecksumType is the checksum algorithm for - the image. e.g md5, sha256, sha512 + description: ChecksumType is the checksum algorithm for the image. e.g md5, sha256, sha512 enum: - md5 - sha256 @@ -3815,50 +3125,38 @@ spec: - url type: object metaData: - description: MetaData is an object storing the reference to - the secret containing the Metadata given by the user. + description: MetaData is an object storing the reference to the secret containing the Metadata given by the user. properties: name: - description: name is unique within a namespace to reference - a secret resource. + description: name is unique within a namespace to reference a secret resource. type: string namespace: - description: namespace defines the space within which - the secret name must be unique. + description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic networkData: - description: NetworkData is an object storing the reference - to the secret containing the network data given by the user. + description: NetworkData is an object storing the reference to the secret containing the network data given by the user. properties: name: - description: name is unique within a namespace to reference - a secret resource. + description: name is unique within a namespace to reference a secret resource. type: string namespace: - description: namespace defines the space within which - the secret name must be unique. + description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic providerID: - description: ProviderID will be the Metal3 machine in ProviderID - format (metal3://) + description: ProviderID will be the Metal3 machine in ProviderID format (metal3://) type: string userData: - description: UserData references the Secret that holds user - data needed by the bare metal operator. The Namespace is - optional; it will default to the metal3machine's namespace - if not specified. + description: UserData references the Secret that holds user data needed by the bare metal operator. The Namespace is optional; it will default to the metal3machine's namespace if not specified. properties: name: - description: name is unique within a namespace to reference - a secret resource. + description: name is unique within a namespace to reference a secret resource. type: string namespace: - description: namespace defines the space within which - the secret name must be unique. + description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic @@ -3914,13 +3212,11 @@ spec: scope: Namespaced versions: - additionalPrinterColumns: - - description: How many times remediation controller should attempt to remediate - the host + - description: How many times remediation controller should attempt to remediate the host jsonPath: .spec.strategy.retryLimit name: Retry limit type: string - - description: How many times remediation controller has tried to remediate the - node + - description: How many times remediation controller has tried to remediate the node jsonPath: .status.retryCount name: Retry count type: string @@ -3942,14 +3238,10 @@ spec: description: Metal3Remediation is the Schema for the metal3remediations API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -3978,12 +3270,10 @@ spec: format: date-time type: string phase: - description: Phase represents the current phase of machine remediation. - E.g. Pending, Running, Done etc. + description: Phase represents the current phase of machine remediation. E.g. Pending, Running, Done etc. type: string retryCount: - description: RetryCount can be used as a counter during the remediation. - Field can hold number of reboots etc. + description: RetryCount can be used as a counter during the remediation. Field can hold number of reboots etc. type: integer type: object type: object @@ -3992,13 +3282,11 @@ spec: subresources: status: {} - additionalPrinterColumns: - - description: How many times remediation controller should attempt to remediate - the host + - description: How many times remediation controller should attempt to remediate the host jsonPath: .spec.strategy.retryLimit name: Retry limit type: string - - description: How many times remediation controller has tried to remediate the - node + - description: How many times remediation controller has tried to remediate the node jsonPath: .status.retryCount name: Retry count type: string @@ -4020,14 +3308,10 @@ spec: description: Metal3Remediation is the Schema for the metal3remediations API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -4056,12 +3340,10 @@ spec: format: date-time type: string phase: - description: Phase represents the current phase of machine remediation. - E.g. Pending, Running, Done etc. + description: Phase represents the current phase of machine remediation. E.g. Pending, Running, Done etc. type: string retryCount: - description: RetryCount can be used as a counter during the remediation. - Field can hold number of reboots etc. + description: RetryCount can be used as a counter during the remediation. Field can hold number of reboots etc. type: integer type: object type: object @@ -4113,32 +3395,24 @@ spec: - name: v1alpha5 schema: openAPIV3Schema: - description: Metal3RemediationTemplate is the Schema for the metal3remediationtemplates - API. + description: Metal3RemediationTemplate is the Schema for the metal3remediationtemplates API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: - description: Metal3RemediationTemplateSpec defines the desired state of - Metal3RemediationTemplate. + description: Metal3RemediationTemplateSpec defines the desired state of Metal3RemediationTemplate. properties: template: - description: Metal3RemediationTemplateResource describes the data - needed to create a Metal3Remediation from a template. + description: Metal3RemediationTemplateResource describes the data needed to create a Metal3Remediation from a template. properties: spec: - description: Spec is the specification of the desired behavior - of the Metal3Remediation. + description: Spec is the specification of the desired behavior of the Metal3Remediation. properties: strategy: description: Strategy field defines remediation strategy. @@ -4161,25 +3435,20 @@ spec: - template type: object status: - description: Metal3RemediationTemplateStatus defines the observed state - of Metal3RemediationTemplate. + description: Metal3RemediationTemplateStatus defines the observed state of Metal3RemediationTemplate. properties: status: - description: Metal3RemediationStatus defines the observed state of - Metal3Remediation + description: Metal3RemediationStatus defines the observed state of Metal3Remediation properties: lastRemediated: - description: LastRemediated identifies when the host was last - remediated + description: LastRemediated identifies when the host was last remediated format: date-time type: string phase: - description: Phase represents the current phase of machine remediation. - E.g. Pending, Running, Done etc. + description: Phase represents the current phase of machine remediation. E.g. Pending, Running, Done etc. type: string retryCount: - description: RetryCount can be used as a counter during the remediation. - Field can hold number of reboots etc. + description: RetryCount can be used as a counter during the remediation. Field can hold number of reboots etc. type: integer type: object required: @@ -4193,32 +3462,24 @@ spec: - name: v1beta1 schema: openAPIV3Schema: - description: Metal3RemediationTemplate is the Schema for the metal3remediationtemplates - API. + description: Metal3RemediationTemplate is the Schema for the metal3remediationtemplates API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: - description: Metal3RemediationTemplateSpec defines the desired state of - Metal3RemediationTemplate. + description: Metal3RemediationTemplateSpec defines the desired state of Metal3RemediationTemplate. properties: template: - description: Metal3RemediationTemplateResource describes the data - needed to create a Metal3Remediation from a template. + description: Metal3RemediationTemplateResource describes the data needed to create a Metal3Remediation from a template. properties: spec: - description: Spec is the specification of the desired behavior - of the Metal3Remediation. + description: Spec is the specification of the desired behavior of the Metal3Remediation. properties: strategy: description: Strategy field defines remediation strategy. @@ -4241,25 +3502,20 @@ spec: - template type: object status: - description: Metal3RemediationTemplateStatus defines the observed state - of Metal3RemediationTemplate. + description: Metal3RemediationTemplateStatus defines the observed state of Metal3RemediationTemplate. properties: status: - description: Metal3RemediationStatus defines the observed state of - Metal3Remediation + description: Metal3RemediationStatus defines the observed state of Metal3Remediation properties: lastRemediated: - description: LastRemediated identifies when the host was last - remediated + description: LastRemediated identifies when the host was last remediated format: date-time type: string phase: - description: Phase represents the current phase of machine remediation. - E.g. Pending, Running, Done etc. + description: Phase represents the current phase of machine remediation. E.g. Pending, Running, Done etc. type: string retryCount: - description: RetryCount can be used as a counter during the remediation. - Field can hold number of reboots etc. + description: RetryCount can be used as a counter during the remediation. Field can hold number of reboots etc. type: integer type: object required: diff --git a/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/capm3.yaml b/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/capm3.yaml index 2a07847c..635b931b 100644 --- a/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/capm3.yaml +++ b/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/capm3.yaml @@ -29,158 +29,126 @@ spec: namespace: capm3-system path: /convert conversionReviewVersions: - - v1 - - v1beta1 + - v1 + - v1beta1 group: ipam.metal3.io names: categories: - - metal3 + - metal3 kind: IPAddress listKind: IPAddressList plural: ipaddresses shortNames: - - ipa - - ipaddress - - m3ipa - - m3ipaddress - - m3ipaddresses - - metal3ipa - - metal3ipaddress - - metal3ipaddresses + - ipa + - ipaddress + - m3ipa + - m3ipaddress + - m3ipaddresses + - metal3ipa + - metal3ipaddress + - metal3ipaddresses singular: ipaddress scope: Namespaced versions: - - additionalPrinterColumns: - - description: Time duration since creation of Metal3IPAddress - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha1 - schema: - openAPIV3Schema: - description: IPAddress is the Schema for the ipaddresses 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 defines the desired state of IPAddress. - properties: - address: - description: Address contains the IP address - pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) - type: string - claim: - description: Claim points to the object the IPClaim was created for. - 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 - dnsServers: - description: DNSServers is the list of dns servers - items: - description: IPAddress is used for validation of an IP address - pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) - type: string - type: array - gateway: - description: Gateway is the gateway ip address + - additionalPrinterColumns: + - description: Time duration since creation of Metal3IPAddress + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: IPAddress is the Schema for the ipaddresses 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 defines the desired state of IPAddress. + properties: + address: + description: Address contains the IP address + pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) + type: string + claim: + description: Claim points to the object the IPClaim was created for. + 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 + dnsServers: + description: DNSServers is the list of dns servers + items: + description: IPAddress is used for validation of an IP address pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) type: string - pool: - description: Pool is the IPPool this was generated from. - 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 - prefix: - description: Prefix is the mask of the network as integer (max 128) - maximum: 128 - type: integer - required: - - address - - claim - - pool - type: object - type: object - served: true - storage: true - subresources: {} + type: array + gateway: + description: Gateway is the gateway ip address + pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) + type: string + pool: + description: Pool is the IPPool this was generated from. + 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 + prefix: + description: Prefix is the mask of the network as integer (max 128) + maximum: 128 + type: integer + required: + - address + - claim + - pool + type: object + type: object + served: true + storage: true + subresources: {} status: acceptedNames: kind: "" @@ -212,147 +180,113 @@ spec: namespace: capm3-system path: /convert conversionReviewVersions: - - v1 - - v1beta1 + - v1 + - v1beta1 group: ipam.metal3.io names: categories: - - cluster-api + - cluster-api kind: IPClaim listKind: IPClaimList plural: ipclaims shortNames: - - ipc - - ipclaim - - m3ipc - - m3ipclaim - - m3ipclaims - - metal3ipc - - metal3ipclaim - - metal3ipclaims + - ipc + - ipclaim + - m3ipc + - m3ipclaim + - m3ipclaims + - metal3ipc + - metal3ipclaim + - metal3ipclaims singular: ipclaim scope: Namespaced versions: - - additionalPrinterColumns: - - description: Time duration since creation of Metal3IPClaim - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha1 - schema: - openAPIV3Schema: - description: IPClaim is the Schema for the ipclaims 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: IPClaimSpec defines the desired state of IPClaim. - properties: - pool: - description: Pool is the IPPool this was generated from. - 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 - required: - - pool - type: object - status: - description: IPClaimStatus defines the observed state of IPClaim. - properties: - address: - description: - Address is the IPAddress that was generated for this - claim. - 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 - errorMessage: - description: ErrorMessage contains the error message - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} + - additionalPrinterColumns: + - description: Time duration since creation of Metal3IPClaim + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: IPClaim is the Schema for the ipclaims 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: IPClaimSpec defines the desired state of IPClaim. + properties: + pool: + description: Pool is the IPPool this was generated from. + 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 + required: + - pool + type: object + status: + description: IPClaimStatus defines the observed state of IPClaim. + properties: + address: + description: Address is the IPAddress that was generated for this claim. + 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 + errorMessage: + description: ErrorMessage contains the error message + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} status: acceptedNames: kind: "" @@ -384,160 +318,138 @@ spec: namespace: capm3-system path: /convert conversionReviewVersions: - - v1 - - v1beta1 + - v1 + - v1beta1 group: ipam.metal3.io names: categories: - - cluster-api + - cluster-api kind: IPPool listKind: IPPoolList plural: ippools shortNames: - - ipp - - ippool - - m3ipp - - m3ippool - - m3ippools - - metal3ipp - - metal3ippool - - metal3ippools + - ipp + - ippool + - m3ipp + - m3ippool + - m3ippools + - metal3ipp + - metal3ippool + - metal3ippools singular: ippool scope: Namespaced versions: - - additionalPrinterColumns: - - description: Cluster to which this template belongs - jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name - name: Cluster - type: string - - description: Time duration since creation of Metal3IPPool - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha1 - schema: - openAPIV3Schema: - description: IPPool is the Schema for the ippools 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: IPPoolSpec defines the desired state of IPPool. - properties: - clusterName: - description: - ClusterName is the name of the Cluster this object belongs - to. - type: string - dnsServers: - description: DNSServers is the list of dns servers - items: - description: IPAddress is used for validation of an IP address - pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) - type: string - type: array - gateway: - description: Gateway is the gateway ip address + - additionalPrinterColumns: + - description: Cluster to which this template belongs + jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name + name: Cluster + type: string + - description: Time duration since creation of Metal3IPPool + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: IPPool is the Schema for the ippools 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: IPPoolSpec defines the desired state of IPPool. + properties: + clusterName: + description: ClusterName is the name of the Cluster this object belongs to. + type: string + dnsServers: + description: DNSServers is the list of dns servers + items: + description: IPAddress is used for validation of an IP address pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) type: string - namePrefix: - description: - namePrefix is the prefix used to generate the IPAddress - object names - minLength: 1 - type: string - pools: - description: Pools contains the list of IP addresses pools - items: - description: - MetaDataIPAddress contains the info to render th ip - address. It is IP-version agnostic - properties: - dnsServers: - description: DNSServers is the list of dns servers - items: - description: IPAddress is used for validation of an IP address - pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) - type: string - type: array - end: - description: - End is the last IP address that can be rendered. - It is used as a validation that the rendered IP is in bound. - pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) - type: string - gateway: - description: Gateway is the gateway ip address - pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) - type: string - prefix: - description: - Prefix is the mask of the network as integer (max - 128) - maximum: 128 - type: integer - start: - description: Start is the first ip address that can be rendered + type: array + gateway: + description: Gateway is the gateway ip address + pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) + type: string + namePrefix: + description: namePrefix is the prefix used to generate the IPAddress object names + minLength: 1 + type: string + pools: + description: Pools contains the list of IP addresses pools + items: + description: MetaDataIPAddress contains the info to render th ip address. It is IP-version agnostic + properties: + dnsServers: + description: DNSServers is the list of dns servers + items: + description: IPAddress is used for validation of an IP address pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) type: string - subnet: - description: - Subnet is used to validate that the rendered IP - is in bounds. In case the Start value is not given, it is - derived from the subnet ip incremented by 1 (`192.168.0.1` - for `192.168.0.0/24`) - pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))/([0-9]|[1-2][0-9]|3[0-2])$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8])$)) - type: string - type: object - type: array - preAllocations: - additionalProperties: - description: IPAddress is used for validation of an IP address - pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) - type: string - description: PreAllocations contains the preallocated IP addresses - type: object - prefix: - description: Prefix is the mask of the network as integer (max 128) - maximum: 128 - type: integer - required: - - namePrefix - type: object - status: - description: IPPoolStatus defines the observed state of IPPool. - properties: - indexes: - additionalProperties: - description: IPAddress is used for validation of an IP address - pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) - type: string - description: - Allocations contains the map of objects and IP addresses - they have + type: array + end: + description: End is the last IP address that can be rendered. It is used as a validation that the rendered IP is in bound. + pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) + type: string + gateway: + description: Gateway is the gateway ip address + pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) + type: string + prefix: + description: Prefix is the mask of the network as integer (max 128) + maximum: 128 + type: integer + start: + description: Start is the first ip address that can be rendered + pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) + type: string + subnet: + description: Subnet is used to validate that the rendered IP is in bounds. In case the Start value is not given, it is derived from the subnet ip incremented by 1 (`192.168.0.1` for `192.168.0.0/24`) + pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))/([0-9]|[1-2][0-9]|3[0-2])$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8])$)) + type: string type: object - lastUpdated: - description: LastUpdated identifies when this status was last observed. - format: date-time + type: array + preAllocations: + additionalProperties: + description: IPAddress is used for validation of an IP address + pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} + description: PreAllocations contains the preallocated IP addresses + type: object + prefix: + description: Prefix is the mask of the network as integer (max 128) + maximum: 128 + type: integer + required: + - namePrefix + type: object + status: + description: IPPoolStatus defines the observed state of IPPool. + properties: + indexes: + additionalProperties: + description: IPAddress is used for validation of an IP address + pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) + type: string + description: Allocations contains the map of objects and IP addresses they have + type: object + lastUpdated: + description: LastUpdated identifies when this status was last observed. + format: date-time + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} status: acceptedNames: kind: "" @@ -567,275 +479,210 @@ spec: namespace: capm3-system path: /convert conversionReviewVersions: - - v1 - - v1beta1 + - v1 + - v1beta1 group: infrastructure.cluster.x-k8s.io names: categories: - - cluster-api + - cluster-api kind: Metal3Cluster listKind: Metal3ClusterList plural: metal3clusters shortNames: - - m3c - - m3cluster - - m3clusters - - metal3c - - metal3cluster + - m3c + - m3cluster + - m3clusters + - metal3c + - metal3cluster singular: metal3cluster scope: Namespaced versions: - - additionalPrinterColumns: - - description: Time duration since creation of Metal3Cluster - jsonPath: .metadata.creationTimestamp - name: Age - type: date - - description: metal3Cluster is Ready - jsonPath: .status.ready - name: Ready - type: string - - description: Most recent error - jsonPath: .status.failureReason - name: Error - type: string - - description: Cluster to which this BMCluster belongs - jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name - name: Cluster - type: string - - description: Control plane endpoint - jsonPath: .spec.controlPlaneEndpoint - name: Endpoint - type: string - name: v1alpha5 - schema: - openAPIV3Schema: - description: Metal3Cluster is the Schema for the metal3clusters 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: Metal3ClusterSpec defines the desired state of Metal3Cluster. - properties: - controlPlaneEndpoint: - description: - ControlPlaneEndpoint represents the endpoint used to - communicate with the control plane. + - additionalPrinterColumns: + - description: Time duration since creation of Metal3Cluster + jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: metal3Cluster is Ready + jsonPath: .status.ready + name: Ready + type: string + - description: Most recent error + jsonPath: .status.failureReason + name: Error + type: string + - description: Cluster to which this BMCluster belongs + jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name + name: Cluster + type: string + - description: Control plane endpoint + jsonPath: .spec.controlPlaneEndpoint + name: Endpoint + type: string + name: v1alpha5 + schema: + openAPIV3Schema: + description: Metal3Cluster is the Schema for the metal3clusters 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: Metal3ClusterSpec defines the desired state of Metal3Cluster. + properties: + controlPlaneEndpoint: + description: ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. + properties: + host: + description: Host is the hostname on which the API server is serving. + type: string + port: + description: Port is the port on which the API server is serving. + type: integer + required: + - host + - port + type: object + noCloudProvider: + description: Determines if the cluster is not to be deployed with an external cloud provider. If set to true, CAPM3 will use node labels to set providerID on the kubernetes nodes. If set to false, providerID is set on nodes by other entities and CAPM3 uses the value of the providerID on the m3m resource. + type: boolean + required: + - controlPlaneEndpoint + type: object + status: + description: Metal3ClusterStatus defines the observed state of Metal3Cluster. + properties: + 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 + lastUpdated: + description: LastUpdated identifies when this status was last observed. + format: date-time + type: string + ready: + description: Ready denotes that the Metal3 cluster (infrastructure) is ready. In Baremetal case, it does not mean anything for now as no infrastructure steps need to be performed. Required by Cluster API. Set to True by the metal3Cluster controller after creation. + type: boolean + required: + - ready + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - description: Time duration since creation of Metal3Cluster + jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: metal3Cluster is Ready + jsonPath: .status.ready + name: Ready + type: string + - description: Most recent error + jsonPath: .status.failureReason + name: Error + type: string + - description: Cluster to which this BMCluster belongs + jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name + name: Cluster + type: string + - description: Control plane endpoint + jsonPath: .spec.controlPlaneEndpoint + name: Endpoint + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: Metal3Cluster is the Schema for the metal3clusters 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: Metal3ClusterSpec defines the desired state of Metal3Cluster. + properties: + controlPlaneEndpoint: + description: ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. + properties: + host: + description: Host is the hostname on which the API server is serving. + type: string + port: + description: Port is the port on which the API server is serving. + type: integer + required: + - host + - port + type: object + noCloudProvider: + description: Determines if the cluster is not to be deployed with an external cloud provider. If set to true, CAPM3 will use node labels to set providerID on the kubernetes nodes. If set to false, providerID is set on nodes by other entities and CAPM3 uses the value of the providerID on the m3m resource. + type: boolean + type: object + status: + description: Metal3ClusterStatus defines the observed state of Metal3Cluster. + properties: + conditions: + description: Conditions defines current service state of the Metal3Cluster. + items: + description: Condition defines an observation of a Cluster API resource operational state. properties: - host: - description: Host is the hostname on which the API server is serving. + 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 - port: - description: Port is the port on which the API server is serving. - type: integer - required: - - host - - port - type: object - noCloudProvider: - description: - Determines if the cluster is not to be deployed with - an external cloud provider. If set to true, CAPM3 will use node - labels to set providerID on the kubernetes nodes. If set to false, - providerID is set on nodes by other entities and CAPM3 uses the - value of the providerID on the m3m resource. - type: boolean - required: - - controlPlaneEndpoint - type: object - status: - description: Metal3ClusterStatus defines the observed state of Metal3Cluster. - properties: - 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 - lastUpdated: - description: LastUpdated identifies when this status was last observed. - format: date-time - type: string - ready: - description: - Ready denotes that the Metal3 cluster (infrastructure) - is ready. In Baremetal case, it does not mean anything for now as - no infrastructure steps need to be performed. Required by Cluster - API. Set to True by the metal3Cluster controller after creation. - type: boolean - required: - - ready - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - description: Time duration since creation of Metal3Cluster - jsonPath: .metadata.creationTimestamp - name: Age - type: date - - description: metal3Cluster is Ready - jsonPath: .status.ready - name: Ready - type: string - - description: Most recent error - jsonPath: .status.failureReason - name: Error - type: string - - description: Cluster to which this BMCluster belongs - jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name - name: Cluster - type: string - - description: Control plane endpoint - jsonPath: .spec.controlPlaneEndpoint - name: Endpoint - type: string - name: v1beta1 - schema: - openAPIV3Schema: - description: Metal3Cluster is the Schema for the metal3clusters 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: Metal3ClusterSpec defines the desired state of Metal3Cluster. - properties: - controlPlaneEndpoint: - description: - ControlPlaneEndpoint represents the endpoint used to - communicate with the control plane. - properties: - host: - description: Host is the hostname on which the API server is serving. + 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 - port: - description: Port is the port on which the API server is serving. - type: integer required: - - host - - port + - lastTransitionTime + - status + - type type: object - noCloudProvider: - description: - Determines if the cluster is not to be deployed with - an external cloud provider. If set to true, CAPM3 will use node - labels to set providerID on the kubernetes nodes. If set to false, - providerID is set on nodes by other entities and CAPM3 uses the - value of the providerID on the m3m resource. - type: boolean - type: object - status: - description: Metal3ClusterStatus defines the observed state of Metal3Cluster. - properties: - conditions: - description: Conditions defines current service state of the Metal3Cluster. - 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 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 - lastUpdated: - description: LastUpdated identifies when this status was last observed. - format: date-time - type: string - ready: - description: - Ready denotes that the Metal3 cluster (infrastructure) - is ready. In Baremetal case, it does not mean anything for now as - no infrastructure steps need to be performed. Required by Cluster - API. Set to True by the metal3Cluster controller after creation. - type: boolean - type: object - type: object - served: true - storage: true - subresources: - status: {} + type: array + 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 + lastUpdated: + description: LastUpdated identifies when this status was last observed. + format: date-time + type: string + ready: + description: Ready denotes that the Metal3 cluster (infrastructure) is ready. In Baremetal case, it does not mean anything for now as no infrastructure steps need to be performed. Required by Cluster API. Set to True by the metal3Cluster controller after creation. + type: boolean + type: object + type: object + served: true + storage: true + subresources: + status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -859,268 +706,200 @@ spec: namespace: capm3-system path: /convert conversionReviewVersions: - - v1 - - v1beta1 + - v1 + - v1beta1 group: infrastructure.cluster.x-k8s.io names: categories: - - cluster-api + - cluster-api kind: Metal3DataClaim listKind: Metal3DataClaimList plural: metal3dataclaims shortNames: - - m3dc - - m3dataclaim - - m3dataclaims - - metal3dc - - metal3dataclaim + - m3dc + - m3dataclaim + - m3dataclaims + - metal3dc + - metal3dataclaim singular: metal3dataclaim scope: Namespaced versions: - - additionalPrinterColumns: - - description: Time duration since creation of Metal3DataClaim - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha5 - schema: - openAPIV3Schema: - description: Metal3DataClaim is the Schema for the metal3datas 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: Metal3DataClaimSpec defines the desired state of Metal3DataClaim. - properties: - template: - description: - Template is the Metal3DataTemplate this was generated - for. - 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: - - template - type: object - status: - description: Metal3DataClaimStatus defines the observed state of Metal3DataClaim. - properties: - errorMessage: - description: ErrorMessage contains the error message - type: string - renderedData: - description: RenderedData references the Metal3Data when ready - 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 - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - description: Time duration since creation of Metal3DataClaim - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1beta1 - schema: - openAPIV3Schema: - description: Metal3DataClaim is the Schema for the metal3datas 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: Metal3DataClaimSpec defines the desired state of Metal3DataClaim. - properties: - template: - description: - Template is the Metal3DataTemplate this was generated - for. - 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: - - template - type: object - status: - description: Metal3DataClaimStatus defines the observed state of Metal3DataClaim. - properties: - errorMessage: - description: ErrorMessage contains the error message - type: string - renderedData: - description: RenderedData references the Metal3Data when ready - 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 - type: object - type: object - served: true - storage: true - subresources: - status: {} + - additionalPrinterColumns: + - description: Time duration since creation of Metal3DataClaim + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha5 + schema: + openAPIV3Schema: + description: Metal3DataClaim is the Schema for the metal3datas 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: Metal3DataClaimSpec defines the desired state of Metal3DataClaim. + properties: + template: + description: Template is the Metal3DataTemplate this was generated for. + 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: + - template + type: object + status: + description: Metal3DataClaimStatus defines the observed state of Metal3DataClaim. + properties: + errorMessage: + description: ErrorMessage contains the error message + type: string + renderedData: + description: RenderedData references the Metal3Data when ready + 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 + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - description: Time duration since creation of Metal3DataClaim + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + description: Metal3DataClaim is the Schema for the metal3datas 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: Metal3DataClaimSpec defines the desired state of Metal3DataClaim. + properties: + template: + description: Template is the Metal3DataTemplate this was generated for. + 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: + - template + type: object + status: + description: Metal3DataClaimStatus defines the observed state of Metal3DataClaim. + properties: + errorMessage: + description: ErrorMessage contains the error message + type: string + renderedData: + description: RenderedData references the Metal3Data when ready + 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 + type: object + type: object + served: true + storage: true + subresources: + status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -1144,366 +923,264 @@ spec: namespace: capm3-system path: /convert conversionReviewVersions: - - v1 - - v1beta1 + - v1 + - v1beta1 group: infrastructure.cluster.x-k8s.io names: categories: - - cluster-api + - cluster-api kind: Metal3Data listKind: Metal3DataList plural: metal3datas shortNames: - - m3d - - m3data - - m3datas - - metal3d - - metal3data + - m3d + - m3data + - m3datas + - metal3d + - metal3data singular: metal3data scope: Namespaced versions: - - additionalPrinterColumns: - - description: Time duration since creation of Metal3Data - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha5 - schema: - openAPIV3Schema: - description: Metal3Data is the Schema for the metal3datas 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: Metal3DataSpec defines the desired state of Metal3Data. - properties: - claim: - description: - DataClaim points to the Metal3DataClaim the Metal3Data - was created for. - 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 - index: - description: - Index stores the index value of this instance in the - Metal3DataTemplate. - type: integer - metaData: - description: MetaData points to the rendered MetaData secret. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - networkData: - description: NetworkData points to the rendered NetworkData secret. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - template: - description: - DataTemplate is the Metal3DataTemplate this was generated - from. - 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 - templateReference: - description: - TemplateReference refers to the Template the Metal3MachineTemplate - refers to. It can be matched against the key or it may also point - to the name of the template Metal3Data refers to - type: string - required: - - claim - - template - type: object - status: - description: Metal3DataStatus defines the observed state of Metal3Data. - properties: - errorMessage: - description: ErrorMessage contains the error message - type: string - ready: - description: - Ready is a flag set to True if the secrets were rendered - properly - type: boolean - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - description: Time duration since creation of Metal3Data - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1beta1 - schema: - openAPIV3Schema: - description: Metal3Data is the Schema for the metal3datas 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: Metal3DataSpec defines the desired state of Metal3Data. - properties: - claim: - description: - DataClaim points to the Metal3DataClaim the Metal3Data - was created for. - 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 - index: - description: - Index stores the index value of this instance in the - Metal3DataTemplate. - type: integer - metaData: - description: MetaData points to the rendered MetaData secret. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - networkData: - description: NetworkData points to the rendered NetworkData secret. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - template: - description: - DataTemplate is the Metal3DataTemplate this was generated - from. - 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 - templateReference: - description: - TemplateReference refers to the Template the Metal3MachineTemplate - refers to. It can be matched against the key or it may also point - to the name of the template Metal3Data refers to - type: string - required: - - claim - - template - type: object - status: - description: Metal3DataStatus defines the observed state of Metal3Data. - properties: - errorMessage: - description: ErrorMessage contains the error message - type: string - ready: - description: - Ready is a flag set to True if the secrets were rendered - properly - type: boolean - type: object - type: object - served: true - storage: true - subresources: - status: {} + - additionalPrinterColumns: + - description: Time duration since creation of Metal3Data + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha5 + schema: + openAPIV3Schema: + description: Metal3Data is the Schema for the metal3datas 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: Metal3DataSpec defines the desired state of Metal3Data. + properties: + claim: + description: DataClaim points to the Metal3DataClaim the Metal3Data was created for. + 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 + index: + description: Index stores the index value of this instance in the Metal3DataTemplate. + type: integer + metaData: + description: MetaData points to the rendered MetaData secret. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + networkData: + description: NetworkData points to the rendered NetworkData secret. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + template: + description: DataTemplate is the Metal3DataTemplate this was generated from. + 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 + templateReference: + description: TemplateReference refers to the Template the Metal3MachineTemplate refers to. It can be matched against the key or it may also point to the name of the template Metal3Data refers to + type: string + required: + - claim + - template + type: object + status: + description: Metal3DataStatus defines the observed state of Metal3Data. + properties: + errorMessage: + description: ErrorMessage contains the error message + type: string + ready: + description: Ready is a flag set to True if the secrets were rendered properly + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - description: Time duration since creation of Metal3Data + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + description: Metal3Data is the Schema for the metal3datas 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: Metal3DataSpec defines the desired state of Metal3Data. + properties: + claim: + description: DataClaim points to the Metal3DataClaim the Metal3Data was created for. + 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 + index: + description: Index stores the index value of this instance in the Metal3DataTemplate. + type: integer + metaData: + description: MetaData points to the rendered MetaData secret. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + networkData: + description: NetworkData points to the rendered NetworkData secret. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + template: + description: DataTemplate is the Metal3DataTemplate this was generated from. + 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 + templateReference: + description: TemplateReference refers to the Template the Metal3MachineTemplate refers to. It can be matched against the key or it may also point to the name of the template Metal3Data refers to + type: string + required: + - claim + - template + type: object + status: + description: Metal3DataStatus defines the observed state of Metal3Data. + properties: + errorMessage: + description: ErrorMessage contains the error message + type: string + ready: + description: Ready is a flag set to True if the secrets were rendered properly + type: boolean + type: object + type: object + served: true + storage: true + subresources: + status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -1527,1906 +1204,1440 @@ spec: namespace: capm3-system path: /convert conversionReviewVersions: - - v1 - - v1beta1 + - v1 + - v1beta1 group: infrastructure.cluster.x-k8s.io names: categories: - - cluster-api + - cluster-api kind: Metal3DataTemplate listKind: Metal3DataTemplateList plural: metal3datatemplates shortNames: - - m3dt - - m3datatemplate - - m3datatemplates - - metal3dt - - metal3datatemplate + - m3dt + - m3datatemplate + - m3datatemplates + - metal3dt + - metal3datatemplate singular: metal3datatemplate scope: Namespaced versions: - - additionalPrinterColumns: - - description: Cluster to which this template belongs - jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name - name: Cluster - type: string - - description: Time duration since creation of Metal3DataTemplate - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha5 - schema: - openAPIV3Schema: - description: - Metal3DataTemplate is the Schema for the metal3datatemplates - 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: Metal3DataTemplateSpec defines the desired state of Metal3DataTemplate. - properties: - clusterName: - description: - ClusterName is the name of the Cluster this object belongs - to. - minLength: 1 - type: string - metaData: - description: - MetaData contains the information needed to generate - the metadata secret - properties: - dnsServersFromIPPool: - description: - DNSServersFromPool is the list of metadata items - to be rendered as dns servers. - items: - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - name: - description: - Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init - type: string - required: - - key - - name - type: object - type: array - fromAnnotations: - description: - FromAnnotations is the list of metadata items to - be fetched from object Annotations - items: - description: - MetaDataFromAnnotation contains the information - to fetch an annotation content, if the label does not exist, - it is rendered as empty string - properties: - annotation: - description: - Annotation is the key of the Annotation to - fetch - type: string - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - object: - description: - Object is the type of the object from which - we retrieve the name - enum: - - machine - - metal3machine - - baremetalhost - type: string - required: - - annotation - - key - - object - type: object - type: array - fromHostInterfaces: - description: - FromHostInterfaces is the list of metadata items - to be rendered as MAC addresses of the host interfaces. - items: - description: - MetaDataHostInterface contains the information - to render the object name - properties: - interface: - description: - Interface is the name of the interface in the - BareMetalHost Status Hardware Details list of interfaces - from which to fetch the MAC address. - type: string - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - required: - - interface - - key - type: object - type: array - fromLabels: - description: - FromLabels is the list of metadata items to be fetched - from object labels - items: - description: - MetaDataFromLabel contains the information to fetch - a label content, if the label does not exist, it is rendered - as empty string - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - label: - description: Label is the key of the label to fetch - type: string - object: - description: - Object is the type of the object from which - we retrieve the name - enum: - - machine - - metal3machine - - baremetalhost - type: string - required: - - key - - label - - object - type: object - type: array - gatewaysFromIPPool: - description: - GatewaysFromPool is the list of metadata items to - be rendered as gateway addresses. - items: - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - name: - description: - Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init - type: string - required: - - key - - name - type: object - type: array - indexes: - description: - Indexes is the list of metadata items to be rendered - from the index of the Metal3Data - items: - description: - MetaDataIndex contains the information to render - the index - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - offset: - description: - Offset is the offset to apply to the index - when rendering it - type: integer - prefix: - description: Prefix is the prefix string - type: string - step: - default: 1 - description: Step is the multiplier of the index - type: integer - suffix: - description: Suffix is the suffix string - type: string - required: - - key - type: object - type: array - ipAddressesFromIPPool: - description: - IPAddressesFromPool is the list of metadata items - to be rendered as ip addresses. - items: - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - name: - description: - Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init - type: string - required: - - key - - name - type: object - type: array - namespaces: - description: - Namespaces is the list of metadata items to be rendered - from the namespace - items: - description: - MetaDataNamespace contains the information to render - the namespace - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - required: - - key - type: object - type: array - objectNames: - description: - ObjectNames is the list of metadata items to be rendered - from the name of objects. - items: - description: - MetaDataObjectName contains the information to - render the object name - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - object: - description: - Object is the type of the object from which - we retrieve the name - enum: - - machine - - metal3machine - - baremetalhost - type: string - required: - - key - - object - type: object - type: array - prefixesFromIPPool: - description: - PrefixesFromPool is the list of metadata items to - be rendered as network prefixes. - items: - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - name: - description: - Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init - type: string - required: - - key - - name - type: object - type: array - strings: - description: - Strings is the list of metadata items to be rendered - from strings - items: - description: - MetaDataString contains the information to render - the string - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - value: - description: Value is the string to render. - type: string - required: - - key - - value - type: object - type: array - type: object - networkData: - description: - NetworkData contains the information needed to generate - the networkdata secret - properties: - links: - description: - Links is a structure containing lists of different - types objects + - additionalPrinterColumns: + - description: Cluster to which this template belongs + jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name + name: Cluster + type: string + - description: Time duration since creation of Metal3DataTemplate + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha5 + schema: + openAPIV3Schema: + description: Metal3DataTemplate is the Schema for the metal3datatemplates 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: Metal3DataTemplateSpec defines the desired state of Metal3DataTemplate. + properties: + clusterName: + description: ClusterName is the name of the Cluster this object belongs to. + minLength: 1 + type: string + metaData: + description: MetaData contains the information needed to generate the metadata secret + properties: + dnsServersFromIPPool: + description: DNSServersFromPool is the list of metadata items to be rendered as dns servers. + items: properties: - bonds: - description: Bonds contains a list of Bond links - items: - description: - NetworkDataLinkBond represents a bond link - object - properties: - bondLinks: - description: - BondLinks is the list of links that are - part of the bond. - items: - type: string - type: array - bondMode: - description: - BondMode is the mode of bond used. It can - be one of balance-rr, active-backup, balance-xor, - broadcast, balance-tlb, balance-alb, 802.3ad - enum: - - balance-rr - - active-backup - - balance-xor - - broadcast - - balance-tlb - - balance-alb - - 802.3ad - type: string - id: - description: - Id is the ID of the interface (used for - naming) - type: string - macAddress: - description: - MACAddress is the MAC address of the interface, - containing the object used to render it. - properties: - fromHostInterface: - description: - FromHostInterface contains the name - of the interface in the BareMetalHost Introspection - details from which to fetch the MAC address - type: string - string: - description: - String contains the MAC address given - as a string - type: string - type: object - mtu: - default: 1500 - description: MTU is the MTU of the interface - maximum: 9000 - type: integer - required: - - bondLinks - - bondMode - - id - - macAddress - type: object - type: array - ethernets: - description: Ethernets contains a list of Ethernet links - items: - description: - NetworkDataLinkEthernet represents an ethernet - link object - properties: - id: - description: - Id is the ID of the interface (used for - naming) - type: string - macAddress: - description: - MACAddress is the MAC address of the interface, - containing the object used to render it. - properties: - fromHostInterface: - description: - FromHostInterface contains the name - of the interface in the BareMetalHost Introspection - details from which to fetch the MAC address - type: string - string: - description: - String contains the MAC address given - as a string - type: string - type: object - mtu: - default: 1500 - description: MTU is the MTU of the interface - maximum: 9000 - type: integer - type: - description: - "Type is the type of the ethernet link. - It can be one of: bridge, dvs, hw_veb, hyperv, ovs, - tap, vhostuser, vif, phy" - enum: - - bridge - - dvs - - hw_veb - - hyperv - - ovs - - tap - - vhostuser - - vif - - phy - type: string - required: - - id - - macAddress - - type - type: object - type: array - vlans: - description: Vlans contains a list of Vlan links - items: - description: - NetworkDataLinkVlan represents a vlan link - object - properties: - id: - description: - Id is the ID of the interface (used for - naming) - type: string - macAddress: - description: - MACAddress is the MAC address of the interface, - containing the object used to render it. - properties: - fromHostInterface: - description: - FromHostInterface contains the name - of the interface in the BareMetalHost Introspection - details from which to fetch the MAC address - type: string - string: - description: - String contains the MAC address given - as a string - type: string - type: object - mtu: - default: 1500 - description: MTU is the MTU of the interface - maximum: 9000 - type: integer - vlanID: - description: VlanID is the Vlan ID - maximum: 4096 - type: integer - vlanLink: - description: - VlanLink is the name of the link on which - the vlan should be added - type: string - required: - - id - - macAddress - - vlanID - - vlanLink - type: object - type: array + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + name: + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init + type: string + required: + - key + - name type: object - networks: - description: - Networks is a structure containing lists of different - types objects + type: array + fromAnnotations: + description: FromAnnotations is the list of metadata items to be fetched from object Annotations + items: + description: MetaDataFromAnnotation contains the information to fetch an annotation content, if the label does not exist, it is rendered as empty string properties: - ipv4: - description: IPv4 contains a list of IPv4 static allocations - items: - description: - NetworkDataIPv4 represents an ipv4 static network - object - properties: - id: - description: ID is the network ID (name) - type: string - ipAddressFromIPPool: - description: - IPAddressFromIPPool contains the name of - the IPPool to use to get an ip address - type: string - link: - description: Link is the link on which the network applies - type: string - routes: - description: Routes contains a list of IPv4 routes - items: - description: - NetworkDataRoutev4 represents an ipv4 - route object - properties: - gateway: - description: - Gateway is the IPv4 address of the - gateway - properties: - fromIPPool: - description: - FromIPPool is the name of the - IPPool to fetch the gateway from - type: string - string: - description: - String is the gateway given as - a string - pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ - type: string - type: object - network: - description: Network is the IPv4 network address - pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ - type: string - prefix: - description: - Prefix is the mask of the network - as integer (max 32) - maximum: 32 - type: integer - services: - description: Services is a list of IPv4 services - properties: - dns: - description: DNS is a list of IPv4 DNS services - items: - description: - IPAddressv4 is used for validation - of an IPv6 address - pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of - the IPPool from which to get the DNS servers - type: string - type: object - required: - - gateway - - network - type: object - type: array - required: - - id - - ipAddressFromIPPool - - link - type: object - type: array - ipv4DHCP: - description: IPv4 contains a list of IPv4 DHCP allocations - items: - description: - NetworkDataIPv4DHCP represents an ipv4 DHCP - network object - properties: - id: - description: ID is the network ID (name) - type: string - link: - description: Link is the link on which the network applies - type: string - routes: - description: Routes contains a list of IPv4 routes - items: - description: - NetworkDataRoutev4 represents an ipv4 - route object - properties: - gateway: - description: - Gateway is the IPv4 address of the - gateway - properties: - fromIPPool: - description: - FromIPPool is the name of the - IPPool to fetch the gateway from - type: string - string: - description: - String is the gateway given as - a string - pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ - type: string - type: object - network: - description: Network is the IPv4 network address - pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ - type: string - prefix: - description: - Prefix is the mask of the network - as integer (max 32) - maximum: 32 - type: integer - services: - description: Services is a list of IPv4 services - properties: - dns: - description: DNS is a list of IPv4 DNS services - items: - description: - IPAddressv4 is used for validation - of an IPv6 address - pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of - the IPPool from which to get the DNS servers - type: string - type: object - required: - - gateway - - network - type: object - type: array - required: - - id - - link - type: object - type: array - ipv6: - description: IPv4 contains a list of IPv6 static allocations - items: - description: - NetworkDataIPv6 represents an ipv6 static network - object - properties: - id: - description: ID is the network ID (name) - type: string - ipAddressFromIPPool: - description: - IPAddressFromIPPool contains the name of - the IPPool to use to get an ip address - type: string - link: - description: Link is the link on which the network applies - type: string - routes: - description: Routes contains a list of IPv6 routes - items: - description: - NetworkDataRoutev6 represents an ipv6 - route object - properties: - gateway: - description: - Gateway is the IPv6 address of the - gateway - properties: - fromIPPool: - description: - FromIPPool is the name of the - IPPool to fetch the gateway from - type: string - string: - description: - String is the gateway given as - a string - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - type: object - network: - description: Network is the IPv6 network address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - prefix: - description: - Prefix is the mask of the network - as integer (max 128) - maximum: 128 - type: integer - services: - description: Services is a list of IPv6 services - properties: - dns: - description: DNS is a list of IPv6 DNS services - items: - description: - IPAddressv6 is used for validation - of an IPv6 address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of - the IPPool from which to get the DNS servers - type: string - type: object - required: - - gateway - - network - type: object - type: array - required: - - id - - ipAddressFromIPPool - - link - type: object - type: array - ipv6DHCP: - description: IPv4 contains a list of IPv6 DHCP allocations - items: - description: - NetworkDataIPv6DHCP represents an ipv6 DHCP - network object - properties: - id: - description: ID is the network ID (name) - type: string - link: - description: Link is the link on which the network applies - type: string - routes: - description: Routes contains a list of IPv6 routes - items: - description: - NetworkDataRoutev6 represents an ipv6 - route object - properties: - gateway: - description: - Gateway is the IPv6 address of the - gateway - properties: - fromIPPool: - description: - FromIPPool is the name of the - IPPool to fetch the gateway from - type: string - string: - description: - String is the gateway given as - a string - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - type: object - network: - description: Network is the IPv6 network address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - prefix: - description: - Prefix is the mask of the network - as integer (max 128) - maximum: 128 - type: integer - services: - description: Services is a list of IPv6 services - properties: - dns: - description: DNS is a list of IPv6 DNS services - items: - description: - IPAddressv6 is used for validation - of an IPv6 address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of - the IPPool from which to get the DNS servers - type: string - type: object - required: - - gateway - - network - type: object - type: array - required: - - id - - link - type: object - type: array - ipv6SLAAC: - description: IPv4 contains a list of IPv6 SLAAC allocations - items: - description: - NetworkDataIPv6DHCP represents an ipv6 DHCP - network object - properties: - id: - description: ID is the network ID (name) - type: string - link: - description: Link is the link on which the network applies - type: string - routes: - description: Routes contains a list of IPv6 routes - items: - description: - NetworkDataRoutev6 represents an ipv6 - route object - properties: - gateway: - description: - Gateway is the IPv6 address of the - gateway - properties: - fromIPPool: - description: - FromIPPool is the name of the - IPPool to fetch the gateway from - type: string - string: - description: - String is the gateway given as - a string - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - type: object - network: - description: Network is the IPv6 network address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - prefix: - description: - Prefix is the mask of the network - as integer (max 128) - maximum: 128 - type: integer - services: - description: Services is a list of IPv6 services - properties: - dns: - description: DNS is a list of IPv6 DNS services - items: - description: - IPAddressv6 is used for validation - of an IPv6 address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of - the IPPool from which to get the DNS servers - type: string - type: object - required: - - gateway - - network - type: object - type: array - required: - - id - - link - type: object - type: array + annotation: + description: Annotation is the key of the Annotation to fetch + type: string + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + object: + description: Object is the type of the object from which we retrieve the name + enum: + - machine + - metal3machine + - baremetalhost + type: string + required: + - annotation + - key + - object type: object - services: - description: - Services is a structure containing lists of different - types objects + type: array + fromHostInterfaces: + description: FromHostInterfaces is the list of metadata items to be rendered as MAC addresses of the host interfaces. + items: + description: MetaDataHostInterface contains the information to render the object name properties: - dns: - description: DNS is a list of DNS services - items: - description: IPAddress is used for validation of an IP address - pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of the IPPool from - which to get the DNS servers + interface: + description: Interface is the name of the interface in the BareMetalHost Status Hardware Details list of interfaces from which to fetch the MAC address. type: string + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + required: + - interface + - key type: object - type: object - templateReference: - description: - TemplateReference refers to the Template the Metal3MachineTemplate - refers to. It can be matched against the key or it may also point - to the name of the template Metal3Data refers to - type: string - required: - - clusterName - type: object - status: - description: Metal3DataTemplateStatus defines the observed state of Metal3DataTemplate. - properties: - indexes: - additionalProperties: - type: integer - description: Indexes contains the map of Metal3Machine and index used - type: object - lastUpdated: - description: LastUpdated identifies when this status was last observed. - format: date-time - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - description: Cluster to which this template belongs - jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name - name: Cluster - type: string - - description: Time duration since creation of Metal3DataTemplate - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1beta1 - schema: - openAPIV3Schema: - description: - Metal3DataTemplate is the Schema for the metal3datatemplates - 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: Metal3DataTemplateSpec defines the desired state of Metal3DataTemplate. - properties: - clusterName: - description: - ClusterName is the name of the Cluster this object belongs - to. - minLength: 1 - type: string - metaData: - description: - MetaData contains the information needed to generate - the metadata secret - properties: - dnsServersFromIPPool: - description: - DNSServersFromPool is the list of metadata items - to be rendered as dns servers. - items: - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - name: - description: - Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init - type: string - required: - - key - - name - type: object - type: array - fromAnnotations: - description: - FromAnnotations is the list of metadata items to - be fetched from object Annotations - items: - description: - MetaDataFromAnnotation contains the information - to fetch an annotation content, if the label does not exist, - it is rendered as empty string - properties: - annotation: - description: - Annotation is the key of the Annotation to - fetch - type: string - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - object: - description: - Object is the type of the object from which - we retrieve the name - enum: - - machine - - metal3machine - - baremetalhost - type: string - required: - - annotation - - key - - object - type: object - type: array - fromHostInterfaces: - description: - FromHostInterfaces is the list of metadata items - to be rendered as MAC addresses of the host interfaces. - items: - description: - MetaDataHostInterface contains the information - to render the object name - properties: - interface: - description: - Interface is the name of the interface in the - BareMetalHost Status Hardware Details list of interfaces - from which to fetch the MAC address. - type: string - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - required: - - interface - - key - type: object - type: array - fromLabels: - description: - FromLabels is the list of metadata items to be fetched - from object labels - items: - description: - MetaDataFromLabel contains the information to fetch - a label content, if the label does not exist, it is rendered - as empty string - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - label: - description: Label is the key of the label to fetch - type: string - object: - description: - Object is the type of the object from which - we retrieve the name - enum: - - machine - - metal3machine - - baremetalhost - type: string - required: - - key - - label - - object - type: object - type: array - gatewaysFromIPPool: - description: - GatewaysFromPool is the list of metadata items to - be rendered as gateway addresses. - items: - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - name: - description: - Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init - type: string - required: - - key - - name - type: object - type: array - indexes: - description: - Indexes is the list of metadata items to be rendered - from the index of the Metal3Data - items: - description: - MetaDataIndex contains the information to render - the index - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - offset: - description: - Offset is the offset to apply to the index - when rendering it - type: integer - prefix: - description: Prefix is the prefix string - type: string - step: - default: 1 - description: Step is the multiplier of the index - type: integer - suffix: - description: Suffix is the suffix string - type: string - required: - - key - type: object - type: array - ipAddressesFromIPPool: - description: - IPAddressesFromPool is the list of metadata items - to be rendered as ip addresses. - items: - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - name: - description: - Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init - type: string - required: - - key - - name - type: object - type: array - namespaces: - description: - Namespaces is the list of metadata items to be rendered - from the namespace - items: - description: - MetaDataNamespace contains the information to render - the namespace - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - required: - - key - type: object - type: array - objectNames: - description: - ObjectNames is the list of metadata items to be rendered - from the name of objects. - items: - description: - MetaDataObjectName contains the information to - render the object name - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - object: - description: - Object is the type of the object from which - we retrieve the name - enum: - - machine - - metal3machine - - baremetalhost - type: string - required: - - key - - object - type: object - type: array - prefixesFromIPPool: - description: - PrefixesFromPool is the list of metadata items to - be rendered as network prefixes. - items: - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - name: - description: - Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init - type: string - required: - - key - - name - type: object - type: array - strings: - description: - Strings is the list of metadata items to be rendered - from strings - items: - description: - MetaDataString contains the information to render - the string - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - value: - description: Value is the string to render. - type: string - required: - - key - - value - type: object - type: array - type: object - networkData: - description: - NetworkData contains the information needed to generate - the networkdata secret - properties: - links: - description: - Links is a structure containing lists of different - types objects + type: array + fromLabels: + description: FromLabels is the list of metadata items to be fetched from object labels + items: + description: MetaDataFromLabel contains the information to fetch a label content, if the label does not exist, it is rendered as empty string properties: - bonds: - description: Bonds contains a list of Bond links - items: - description: - NetworkDataLinkBond represents a bond link - object - properties: - bondLinks: - description: - BondLinks is the list of links that are - part of the bond. - items: - type: string - type: array - bondMode: - description: - BondMode is the mode of bond used. It can - be one of balance-rr, active-backup, balance-xor, - broadcast, balance-tlb, balance-alb, 802.1ad - enum: - - balance-rr - - active-backup - - balance-xor - - broadcast - - balance-tlb - - balance-alb - - 802.1ad - type: string - id: - description: - Id is the ID of the interface (used for - naming) + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + label: + description: Label is the key of the label to fetch + type: string + object: + description: Object is the type of the object from which we retrieve the name + enum: + - machine + - metal3machine + - baremetalhost + type: string + required: + - key + - label + - object + type: object + type: array + gatewaysFromIPPool: + description: GatewaysFromPool is the list of metadata items to be rendered as gateway addresses. + items: + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + name: + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init + type: string + required: + - key + - name + type: object + type: array + indexes: + description: Indexes is the list of metadata items to be rendered from the index of the Metal3Data + items: + description: MetaDataIndex contains the information to render the index + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + offset: + description: Offset is the offset to apply to the index when rendering it + type: integer + prefix: + description: Prefix is the prefix string + type: string + step: + default: 1 + description: Step is the multiplier of the index + type: integer + suffix: + description: Suffix is the suffix string + type: string + required: + - key + type: object + type: array + ipAddressesFromIPPool: + description: IPAddressesFromPool is the list of metadata items to be rendered as ip addresses. + items: + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + name: + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init + type: string + required: + - key + - name + type: object + type: array + namespaces: + description: Namespaces is the list of metadata items to be rendered from the namespace + items: + description: MetaDataNamespace contains the information to render the namespace + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + required: + - key + type: object + type: array + objectNames: + description: ObjectNames is the list of metadata items to be rendered from the name of objects. + items: + description: MetaDataObjectName contains the information to render the object name + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + object: + description: Object is the type of the object from which we retrieve the name + enum: + - machine + - metal3machine + - baremetalhost + type: string + required: + - key + - object + type: object + type: array + prefixesFromIPPool: + description: PrefixesFromPool is the list of metadata items to be rendered as network prefixes. + items: + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + name: + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init + type: string + required: + - key + - name + type: object + type: array + strings: + description: Strings is the list of metadata items to be rendered from strings + items: + description: MetaDataString contains the information to render the string + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + value: + description: Value is the string to render. + type: string + required: + - key + - value + type: object + type: array + type: object + networkData: + description: NetworkData contains the information needed to generate the networkdata secret + properties: + links: + description: Links is a structure containing lists of different types objects + properties: + bonds: + description: Bonds contains a list of Bond links + items: + description: NetworkDataLinkBond represents a bond link object + properties: + bondLinks: + description: BondLinks is the list of links that are part of the bond. + items: type: string - macAddress: - description: - MACAddress is the MAC address of the interface, - containing the object used to render it. + type: array + bondMode: + description: BondMode is the mode of bond used. It can be one of balance-rr, active-backup, balance-xor, broadcast, balance-tlb, balance-alb, 802.3ad + enum: + - balance-rr + - active-backup + - balance-xor + - broadcast + - balance-tlb + - balance-alb + - 802.3ad + type: string + id: + description: Id is the ID of the interface (used for naming) + type: string + macAddress: + description: MACAddress is the MAC address of the interface, containing the object used to render it. + properties: + fromHostInterface: + description: FromHostInterface contains the name of the interface in the BareMetalHost Introspection details from which to fetch the MAC address + type: string + string: + description: String contains the MAC address given as a string + type: string + type: object + mtu: + default: 1500 + description: MTU is the MTU of the interface + maximum: 9000 + type: integer + required: + - bondLinks + - bondMode + - id + - macAddress + type: object + type: array + ethernets: + description: Ethernets contains a list of Ethernet links + items: + description: NetworkDataLinkEthernet represents an ethernet link object + properties: + id: + description: Id is the ID of the interface (used for naming) + type: string + macAddress: + description: MACAddress is the MAC address of the interface, containing the object used to render it. + properties: + fromHostInterface: + description: FromHostInterface contains the name of the interface in the BareMetalHost Introspection details from which to fetch the MAC address + type: string + string: + description: String contains the MAC address given as a string + type: string + type: object + mtu: + default: 1500 + description: MTU is the MTU of the interface + maximum: 9000 + type: integer + type: + description: "Type is the type of the ethernet link. It can be one of: bridge, dvs, hw_veb, hyperv, ovs, tap, vhostuser, vif, phy" + enum: + - bridge + - dvs + - hw_veb + - hyperv + - ovs + - tap + - vhostuser + - vif + - phy + type: string + required: + - id + - macAddress + - type + type: object + type: array + vlans: + description: Vlans contains a list of Vlan links + items: + description: NetworkDataLinkVlan represents a vlan link object + properties: + id: + description: Id is the ID of the interface (used for naming) + type: string + macAddress: + description: MACAddress is the MAC address of the interface, containing the object used to render it. + properties: + fromHostInterface: + description: FromHostInterface contains the name of the interface in the BareMetalHost Introspection details from which to fetch the MAC address + type: string + string: + description: String contains the MAC address given as a string + type: string + type: object + mtu: + default: 1500 + description: MTU is the MTU of the interface + maximum: 9000 + type: integer + vlanID: + description: VlanID is the Vlan ID + maximum: 4096 + type: integer + vlanLink: + description: VlanLink is the name of the link on which the vlan should be added + type: string + required: + - id + - macAddress + - vlanID + - vlanLink + type: object + type: array + type: object + networks: + description: Networks is a structure containing lists of different types objects + properties: + ipv4: + description: IPv4 contains a list of IPv4 static allocations + items: + description: NetworkDataIPv4 represents an ipv4 static network object + properties: + id: + description: ID is the network ID (name) + type: string + ipAddressFromIPPool: + description: IPAddressFromIPPool contains the name of the IPPool to use to get an ip address + type: string + link: + description: Link is the link on which the network applies + type: string + routes: + description: Routes contains a list of IPv4 routes + items: + description: NetworkDataRoutev4 represents an ipv4 route object properties: - fromHostInterface: - description: - FromHostInterface contains the name - of the interface in the BareMetalHost Introspection - details from which to fetch the MAC address - type: string - string: - description: - String contains the MAC address given - as a string + gateway: + description: Gateway is the IPv4 address of the gateway + properties: + fromIPPool: + description: FromIPPool is the name of the IPPool to fetch the gateway from + type: string + string: + description: String is the gateway given as a string + pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ + type: string + type: object + network: + description: Network is the IPv4 network address + pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string + prefix: + description: Prefix is the mask of the network as integer (max 32) + maximum: 32 + type: integer + services: + description: Services is a list of IPv4 services + properties: + dns: + description: DNS is a list of IPv4 DNS services + items: + description: IPAddressv4 is used for validation of an IPv6 address + pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ + type: string + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + required: + - gateway + - network type: object - mtu: - default: 1500 - description: MTU is the MTU of the interface - maximum: 9000 - type: integer - required: - - bondLinks - - bondMode - - id - - macAddress - type: object - type: array - ethernets: - description: Ethernets contains a list of Ethernet links - items: - description: - NetworkDataLinkEthernet represents an ethernet - link object - properties: - id: - description: - Id is the ID of the interface (used for - naming) - type: string - macAddress: - description: - MACAddress is the MAC address of the interface, - containing the object used to render it. + type: array + required: + - id + - ipAddressFromIPPool + - link + type: object + type: array + ipv4DHCP: + description: IPv4 contains a list of IPv4 DHCP allocations + items: + description: NetworkDataIPv4DHCP represents an ipv4 DHCP network object + properties: + id: + description: ID is the network ID (name) + type: string + link: + description: Link is the link on which the network applies + type: string + routes: + description: Routes contains a list of IPv4 routes + items: + description: NetworkDataRoutev4 represents an ipv4 route object properties: - fromHostInterface: - description: - FromHostInterface contains the name - of the interface in the BareMetalHost Introspection - details from which to fetch the MAC address + gateway: + description: Gateway is the IPv4 address of the gateway + properties: + fromIPPool: + description: FromIPPool is the name of the IPPool to fetch the gateway from + type: string + string: + description: String is the gateway given as a string + pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ + type: string + type: object + network: + description: Network is the IPv4 network address + pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string - string: - description: - String contains the MAC address given - as a string + prefix: + description: Prefix is the mask of the network as integer (max 32) + maximum: 32 + type: integer + services: + description: Services is a list of IPv4 services + properties: + dns: + description: DNS is a list of IPv4 DNS services + items: + description: IPAddressv4 is used for validation of an IPv6 address + pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ + type: string + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + required: + - gateway + - network + type: object + type: array + required: + - id + - link + type: object + type: array + ipv6: + description: IPv4 contains a list of IPv6 static allocations + items: + description: NetworkDataIPv6 represents an ipv6 static network object + properties: + id: + description: ID is the network ID (name) + type: string + ipAddressFromIPPool: + description: IPAddressFromIPPool contains the name of the IPPool to use to get an ip address + type: string + link: + description: Link is the link on which the network applies + type: string + routes: + description: Routes contains a list of IPv6 routes + items: + description: NetworkDataRoutev6 represents an ipv6 route object + properties: + gateway: + description: Gateway is the IPv6 address of the gateway + properties: + fromIPPool: + description: FromIPPool is the name of the IPPool to fetch the gateway from + type: string + string: + description: String is the gateway given as a string + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + type: object + network: + description: Network is the IPv6 network address + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string + prefix: + description: Prefix is the mask of the network as integer (max 128) + maximum: 128 + type: integer + services: + description: Services is a list of IPv6 services + properties: + dns: + description: DNS is a list of IPv6 DNS services + items: + description: IPAddressv6 is used for validation of an IPv6 address + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + required: + - gateway + - network type: object - mtu: - default: 1500 - description: MTU is the MTU of the interface - maximum: 9000 - type: integer - type: - description: - "Type is the type of the ethernet link. - It can be one of: bridge, dvs, hw_veb, hyperv, ovs, - tap, vhostuser, vif, phy" - enum: - - bridge - - dvs - - hw_veb - - hyperv - - ovs - - tap - - vhostuser - - vif - - phy - type: string - required: - - id - - macAddress - - type - type: object - type: array - vlans: - description: Vlans contains a list of Vlan links - items: - description: - NetworkDataLinkVlan represents a vlan link - object - properties: - id: - description: - Id is the ID of the interface (used for - naming) - type: string - macAddress: - description: - MACAddress is the MAC address of the interface, - containing the object used to render it. + type: array + required: + - id + - ipAddressFromIPPool + - link + type: object + type: array + ipv6DHCP: + description: IPv4 contains a list of IPv6 DHCP allocations + items: + description: NetworkDataIPv6DHCP represents an ipv6 DHCP network object + properties: + id: + description: ID is the network ID (name) + type: string + link: + description: Link is the link on which the network applies + type: string + routes: + description: Routes contains a list of IPv6 routes + items: + description: NetworkDataRoutev6 represents an ipv6 route object properties: - fromHostInterface: - description: - FromHostInterface contains the name - of the interface in the BareMetalHost Introspection - details from which to fetch the MAC address + gateway: + description: Gateway is the IPv6 address of the gateway + properties: + fromIPPool: + description: FromIPPool is the name of the IPPool to fetch the gateway from + type: string + string: + description: String is the gateway given as a string + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + type: object + network: + description: Network is the IPv6 network address + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string - string: - description: - String contains the MAC address given - as a string + prefix: + description: Prefix is the mask of the network as integer (max 128) + maximum: 128 + type: integer + services: + description: Services is a list of IPv6 services + properties: + dns: + description: DNS is a list of IPv6 DNS services + items: + description: IPAddressv6 is used for validation of an IPv6 address + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + required: + - gateway + - network + type: object + type: array + required: + - id + - link + type: object + type: array + ipv6SLAAC: + description: IPv4 contains a list of IPv6 SLAAC allocations + items: + description: NetworkDataIPv6DHCP represents an ipv6 DHCP network object + properties: + id: + description: ID is the network ID (name) + type: string + link: + description: Link is the link on which the network applies + type: string + routes: + description: Routes contains a list of IPv6 routes + items: + description: NetworkDataRoutev6 represents an ipv6 route object + properties: + gateway: + description: Gateway is the IPv6 address of the gateway + properties: + fromIPPool: + description: FromIPPool is the name of the IPPool to fetch the gateway from + type: string + string: + description: String is the gateway given as a string + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + type: object + network: + description: Network is the IPv6 network address + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string + prefix: + description: Prefix is the mask of the network as integer (max 128) + maximum: 128 + type: integer + services: + description: Services is a list of IPv6 services + properties: + dns: + description: DNS is a list of IPv6 DNS services + items: + description: IPAddressv6 is used for validation of an IPv6 address + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + required: + - gateway + - network type: object - mtu: - default: 1500 - description: MTU is the MTU of the interface - maximum: 9000 - type: integer - vlanID: - description: VlanID is the Vlan ID - maximum: 4096 - type: integer - vlanLink: - description: - VlanLink is the name of the link on which - the vlan should be added - type: string - required: - - id - - macAddress - - vlanID - - vlanLink - type: object - type: array + type: array + required: + - id + - link + type: object + type: array + type: object + services: + description: Services is a structure containing lists of different types objects + properties: + dns: + description: DNS is a list of DNS services + items: + description: IPAddress is used for validation of an IP address + pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) + type: string + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + type: object + templateReference: + description: TemplateReference refers to the Template the Metal3MachineTemplate refers to. It can be matched against the key or it may also point to the name of the template Metal3Data refers to + type: string + required: + - clusterName + type: object + status: + description: Metal3DataTemplateStatus defines the observed state of Metal3DataTemplate. + properties: + indexes: + additionalProperties: + type: integer + description: Indexes contains the map of Metal3Machine and index used + type: object + lastUpdated: + description: LastUpdated identifies when this status was last observed. + format: date-time + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - description: Cluster to which this template belongs + jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name + name: Cluster + type: string + - description: Time duration since creation of Metal3DataTemplate + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + description: Metal3DataTemplate is the Schema for the metal3datatemplates 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: Metal3DataTemplateSpec defines the desired state of Metal3DataTemplate. + properties: + clusterName: + description: ClusterName is the name of the Cluster this object belongs to. + minLength: 1 + type: string + metaData: + description: MetaData contains the information needed to generate the metadata secret + properties: + dnsServersFromIPPool: + description: DNSServersFromPool is the list of metadata items to be rendered as dns servers. + items: + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + name: + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init + type: string + required: + - key + - name type: object - networks: - description: - Networks is a structure containing lists of different - types objects + type: array + fromAnnotations: + description: FromAnnotations is the list of metadata items to be fetched from object Annotations + items: + description: MetaDataFromAnnotation contains the information to fetch an annotation content, if the label does not exist, it is rendered as empty string properties: - ipv4: - description: IPv4 contains a list of IPv4 static allocations - items: - description: - NetworkDataIPv4 represents an ipv4 static network - object - properties: - id: - description: ID is the network ID (name) - type: string - ipAddressFromIPPool: - description: - IPAddressFromIPPool contains the name of - the IPPool to use to get an ip address - type: string - link: - description: Link is the link on which the network applies + annotation: + description: Annotation is the key of the Annotation to fetch + type: string + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + object: + description: Object is the type of the object from which we retrieve the name + enum: + - machine + - metal3machine + - baremetalhost + type: string + required: + - annotation + - key + - object + type: object + type: array + fromHostInterfaces: + description: FromHostInterfaces is the list of metadata items to be rendered as MAC addresses of the host interfaces. + items: + description: MetaDataHostInterface contains the information to render the object name + properties: + interface: + description: Interface is the name of the interface in the BareMetalHost Status Hardware Details list of interfaces from which to fetch the MAC address. + type: string + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + required: + - interface + - key + type: object + type: array + fromLabels: + description: FromLabels is the list of metadata items to be fetched from object labels + items: + description: MetaDataFromLabel contains the information to fetch a label content, if the label does not exist, it is rendered as empty string + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + label: + description: Label is the key of the label to fetch + type: string + object: + description: Object is the type of the object from which we retrieve the name + enum: + - machine + - metal3machine + - baremetalhost + type: string + required: + - key + - label + - object + type: object + type: array + gatewaysFromIPPool: + description: GatewaysFromPool is the list of metadata items to be rendered as gateway addresses. + items: + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + name: + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init + type: string + required: + - key + - name + type: object + type: array + indexes: + description: Indexes is the list of metadata items to be rendered from the index of the Metal3Data + items: + description: MetaDataIndex contains the information to render the index + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + offset: + description: Offset is the offset to apply to the index when rendering it + type: integer + prefix: + description: Prefix is the prefix string + type: string + step: + default: 1 + description: Step is the multiplier of the index + type: integer + suffix: + description: Suffix is the suffix string + type: string + required: + - key + type: object + type: array + ipAddressesFromIPPool: + description: IPAddressesFromPool is the list of metadata items to be rendered as ip addresses. + items: + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + name: + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init + type: string + required: + - key + - name + type: object + type: array + namespaces: + description: Namespaces is the list of metadata items to be rendered from the namespace + items: + description: MetaDataNamespace contains the information to render the namespace + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + required: + - key + type: object + type: array + objectNames: + description: ObjectNames is the list of metadata items to be rendered from the name of objects. + items: + description: MetaDataObjectName contains the information to render the object name + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + object: + description: Object is the type of the object from which we retrieve the name + enum: + - machine + - metal3machine + - baremetalhost + type: string + required: + - key + - object + type: object + type: array + prefixesFromIPPool: + description: PrefixesFromPool is the list of metadata items to be rendered as network prefixes. + items: + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + name: + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init + type: string + required: + - key + - name + type: object + type: array + strings: + description: Strings is the list of metadata items to be rendered from strings + items: + description: MetaDataString contains the information to render the string + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + value: + description: Value is the string to render. + type: string + required: + - key + - value + type: object + type: array + type: object + networkData: + description: NetworkData contains the information needed to generate the networkdata secret + properties: + links: + description: Links is a structure containing lists of different types objects + properties: + bonds: + description: Bonds contains a list of Bond links + items: + description: NetworkDataLinkBond represents a bond link object + properties: + bondLinks: + description: BondLinks is the list of links that are part of the bond. + items: type: string - routes: - description: Routes contains a list of IPv4 routes - items: - description: - NetworkDataRoutev4 represents an ipv4 - route object - properties: - gateway: - description: - Gateway is the IPv4 address of the - gateway - properties: - fromIPPool: - description: - FromIPPool is the name of the - IPPool to fetch the gateway from - type: string - string: - description: - String is the gateway given as - a string + type: array + bondMode: + description: BondMode is the mode of bond used. It can be one of balance-rr, active-backup, balance-xor, broadcast, balance-tlb, balance-alb, 802.1ad + enum: + - balance-rr + - active-backup + - balance-xor + - broadcast + - balance-tlb + - balance-alb + - 802.1ad + type: string + id: + description: Id is the ID of the interface (used for naming) + type: string + macAddress: + description: MACAddress is the MAC address of the interface, containing the object used to render it. + properties: + fromHostInterface: + description: FromHostInterface contains the name of the interface in the BareMetalHost Introspection details from which to fetch the MAC address + type: string + string: + description: String contains the MAC address given as a string + type: string + type: object + mtu: + default: 1500 + description: MTU is the MTU of the interface + maximum: 9000 + type: integer + required: + - bondLinks + - bondMode + - id + - macAddress + type: object + type: array + ethernets: + description: Ethernets contains a list of Ethernet links + items: + description: NetworkDataLinkEthernet represents an ethernet link object + properties: + id: + description: Id is the ID of the interface (used for naming) + type: string + macAddress: + description: MACAddress is the MAC address of the interface, containing the object used to render it. + properties: + fromHostInterface: + description: FromHostInterface contains the name of the interface in the BareMetalHost Introspection details from which to fetch the MAC address + type: string + string: + description: String contains the MAC address given as a string + type: string + type: object + mtu: + default: 1500 + description: MTU is the MTU of the interface + maximum: 9000 + type: integer + type: + description: "Type is the type of the ethernet link. It can be one of: bridge, dvs, hw_veb, hyperv, ovs, tap, vhostuser, vif, phy" + enum: + - bridge + - dvs + - hw_veb + - hyperv + - ovs + - tap + - vhostuser + - vif + - phy + type: string + required: + - id + - macAddress + - type + type: object + type: array + vlans: + description: Vlans contains a list of Vlan links + items: + description: NetworkDataLinkVlan represents a vlan link object + properties: + id: + description: Id is the ID of the interface (used for naming) + type: string + macAddress: + description: MACAddress is the MAC address of the interface, containing the object used to render it. + properties: + fromHostInterface: + description: FromHostInterface contains the name of the interface in the BareMetalHost Introspection details from which to fetch the MAC address + type: string + string: + description: String contains the MAC address given as a string + type: string + type: object + mtu: + default: 1500 + description: MTU is the MTU of the interface + maximum: 9000 + type: integer + vlanID: + description: VlanID is the Vlan ID + maximum: 4096 + type: integer + vlanLink: + description: VlanLink is the name of the link on which the vlan should be added + type: string + required: + - id + - macAddress + - vlanID + - vlanLink + type: object + type: array + type: object + networks: + description: Networks is a structure containing lists of different types objects + properties: + ipv4: + description: IPv4 contains a list of IPv4 static allocations + items: + description: NetworkDataIPv4 represents an ipv4 static network object + properties: + id: + description: ID is the network ID (name) + type: string + ipAddressFromIPPool: + description: IPAddressFromIPPool contains the name of the IPPool to use to get an ip address + type: string + link: + description: Link is the link on which the network applies + type: string + routes: + description: Routes contains a list of IPv4 routes + items: + description: NetworkDataRoutev4 represents an ipv4 route object + properties: + gateway: + description: Gateway is the IPv4 address of the gateway + properties: + fromIPPool: + description: FromIPPool is the name of the IPPool to fetch the gateway from + type: string + string: + description: String is the gateway given as a string + pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ + type: string + type: object + network: + description: Network is the IPv4 network address + pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ + type: string + prefix: + description: Prefix is the mask of the network as integer (max 32) + maximum: 32 + type: integer + services: + description: Services is a list of IPv4 services + properties: + dns: + description: DNS is a list of IPv4 DNS services + items: + description: IPAddressv4 is used for validation of an IPv6 address pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string - type: object - network: - description: Network is the IPv4 network address - pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ - type: string - prefix: - description: - Prefix is the mask of the network - as integer (max 32) - maximum: 32 - type: integer - services: - description: Services is a list of IPv4 services - properties: - dns: - description: DNS is a list of IPv4 DNS services - items: - description: - IPAddressv4 is used for validation - of an IPv6 address - pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of - the IPPool from which to get the DNS servers - type: string - type: object - required: - - gateway - - network - type: object - type: array - required: - - id - - ipAddressFromIPPool - - link - type: object - type: array - ipv4DHCP: - description: IPv4 contains a list of IPv4 DHCP allocations - items: - description: - NetworkDataIPv4DHCP represents an ipv4 DHCP - network object - properties: - id: - description: ID is the network ID (name) - type: string - link: - description: Link is the link on which the network applies - type: string - routes: - description: Routes contains a list of IPv4 routes - items: - description: - NetworkDataRoutev4 represents an ipv4 - route object - properties: - gateway: - description: - Gateway is the IPv4 address of the - gateway - properties: - fromIPPool: - description: - FromIPPool is the name of the - IPPool to fetch the gateway from - type: string - string: - description: - String is the gateway given as - a string + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + required: + - gateway + - network + type: object + type: array + required: + - id + - ipAddressFromIPPool + - link + type: object + type: array + ipv4DHCP: + description: IPv4 contains a list of IPv4 DHCP allocations + items: + description: NetworkDataIPv4DHCP represents an ipv4 DHCP network object + properties: + id: + description: ID is the network ID (name) + type: string + link: + description: Link is the link on which the network applies + type: string + routes: + description: Routes contains a list of IPv4 routes + items: + description: NetworkDataRoutev4 represents an ipv4 route object + properties: + gateway: + description: Gateway is the IPv4 address of the gateway + properties: + fromIPPool: + description: FromIPPool is the name of the IPPool to fetch the gateway from + type: string + string: + description: String is the gateway given as a string + pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ + type: string + type: object + network: + description: Network is the IPv4 network address + pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ + type: string + prefix: + description: Prefix is the mask of the network as integer (max 32) + maximum: 32 + type: integer + services: + description: Services is a list of IPv4 services + properties: + dns: + description: DNS is a list of IPv4 DNS services + items: + description: IPAddressv4 is used for validation of an IPv6 address pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string - type: object - network: - description: Network is the IPv4 network address - pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ - type: string - prefix: - description: - Prefix is the mask of the network - as integer (max 32) - maximum: 32 - type: integer - services: - description: Services is a list of IPv4 services - properties: - dns: - description: DNS is a list of IPv4 DNS services - items: - description: - IPAddressv4 is used for validation - of an IPv6 address - pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of - the IPPool from which to get the DNS servers - type: string - type: object - required: - - gateway - - network - type: object - type: array - required: - - id - - link - type: object - type: array - ipv6: - description: IPv4 contains a list of IPv6 static allocations - items: - description: - NetworkDataIPv6 represents an ipv6 static network - object - properties: - id: - description: ID is the network ID (name) - type: string - ipAddressFromIPPool: - description: - IPAddressFromIPPool contains the name of - the IPPool to use to get an ip address - type: string - link: - description: Link is the link on which the network applies - type: string - routes: - description: Routes contains a list of IPv6 routes - items: - description: - NetworkDataRoutev6 represents an ipv6 - route object - properties: - gateway: - description: - Gateway is the IPv6 address of the - gateway - properties: - fromIPPool: - description: - FromIPPool is the name of the - IPPool to fetch the gateway from - type: string - string: - description: - String is the gateway given as - a string - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - type: object - network: - description: Network is the IPv6 network address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - prefix: - description: - Prefix is the mask of the network - as integer (max 128) - maximum: 128 - type: integer - services: - description: Services is a list of IPv6 services - properties: - dns: - description: DNS is a list of IPv6 DNS services - items: - description: - IPAddressv6 is used for validation - of an IPv6 address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of - the IPPool from which to get the DNS servers - type: string - type: object - required: - - gateway - - network - type: object - type: array - required: - - id - - ipAddressFromIPPool - - link - type: object - type: array - ipv6DHCP: - description: IPv4 contains a list of IPv6 DHCP allocations - items: - description: - NetworkDataIPv6DHCP represents an ipv6 DHCP - network object - properties: - id: - description: ID is the network ID (name) - type: string - link: - description: Link is the link on which the network applies - type: string - routes: - description: Routes contains a list of IPv6 routes - items: - description: - NetworkDataRoutev6 represents an ipv6 - route object - properties: - gateway: - description: - Gateway is the IPv6 address of the - gateway - properties: - fromIPPool: - description: - FromIPPool is the name of the - IPPool to fetch the gateway from - type: string - string: - description: - String is the gateway given as - a string + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + required: + - gateway + - network + type: object + type: array + required: + - id + - link + type: object + type: array + ipv6: + description: IPv4 contains a list of IPv6 static allocations + items: + description: NetworkDataIPv6 represents an ipv6 static network object + properties: + id: + description: ID is the network ID (name) + type: string + ipAddressFromIPPool: + description: IPAddressFromIPPool contains the name of the IPPool to use to get an ip address + type: string + link: + description: Link is the link on which the network applies + type: string + routes: + description: Routes contains a list of IPv6 routes + items: + description: NetworkDataRoutev6 represents an ipv6 route object + properties: + gateway: + description: Gateway is the IPv6 address of the gateway + properties: + fromIPPool: + description: FromIPPool is the name of the IPPool to fetch the gateway from + type: string + string: + description: String is the gateway given as a string + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + type: object + network: + description: Network is the IPv6 network address + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + prefix: + description: Prefix is the mask of the network as integer (max 128) + maximum: 128 + type: integer + services: + description: Services is a list of IPv6 services + properties: + dns: + description: DNS is a list of IPv6 DNS services + items: + description: IPAddressv6 is used for validation of an IPv6 address pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string - type: object - network: - description: Network is the IPv6 network address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - prefix: - description: - Prefix is the mask of the network - as integer (max 128) - maximum: 128 - type: integer - services: - description: Services is a list of IPv6 services - properties: - dns: - description: DNS is a list of IPv6 DNS services - items: - description: - IPAddressv6 is used for validation - of an IPv6 address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of - the IPPool from which to get the DNS servers - type: string - type: object - required: - - gateway - - network - type: object - type: array - required: - - id - - link - type: object - type: array - ipv6SLAAC: - description: IPv4 contains a list of IPv6 SLAAC allocations - items: - description: - NetworkDataIPv6DHCP represents an ipv6 DHCP - network object - properties: - id: - description: ID is the network ID (name) - type: string - link: - description: Link is the link on which the network applies - type: string - routes: - description: Routes contains a list of IPv6 routes - items: - description: - NetworkDataRoutev6 represents an ipv6 - route object - properties: - gateway: - description: - Gateway is the IPv6 address of the - gateway - properties: - fromIPPool: - description: - FromIPPool is the name of the - IPPool to fetch the gateway from - type: string - string: - description: - String is the gateway given as - a string + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + required: + - gateway + - network + type: object + type: array + required: + - id + - ipAddressFromIPPool + - link + type: object + type: array + ipv6DHCP: + description: IPv4 contains a list of IPv6 DHCP allocations + items: + description: NetworkDataIPv6DHCP represents an ipv6 DHCP network object + properties: + id: + description: ID is the network ID (name) + type: string + link: + description: Link is the link on which the network applies + type: string + routes: + description: Routes contains a list of IPv6 routes + items: + description: NetworkDataRoutev6 represents an ipv6 route object + properties: + gateway: + description: Gateway is the IPv6 address of the gateway + properties: + fromIPPool: + description: FromIPPool is the name of the IPPool to fetch the gateway from + type: string + string: + description: String is the gateway given as a string + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + type: object + network: + description: Network is the IPv6 network address + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + prefix: + description: Prefix is the mask of the network as integer (max 128) + maximum: 128 + type: integer + services: + description: Services is a list of IPv6 services + properties: + dns: + description: DNS is a list of IPv6 DNS services + items: + description: IPAddressv6 is used for validation of an IPv6 address pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string - type: object - network: - description: Network is the IPv6 network address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - prefix: - description: - Prefix is the mask of the network - as integer (max 128) - maximum: 128 - type: integer - services: - description: Services is a list of IPv6 services - properties: - dns: - description: DNS is a list of IPv6 DNS services - items: - description: - IPAddressv6 is used for validation - of an IPv6 address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of - the IPPool from which to get the DNS servers + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + required: + - gateway + - network + type: object + type: array + required: + - id + - link + type: object + type: array + ipv6SLAAC: + description: IPv4 contains a list of IPv6 SLAAC allocations + items: + description: NetworkDataIPv6DHCP represents an ipv6 DHCP network object + properties: + id: + description: ID is the network ID (name) + type: string + link: + description: Link is the link on which the network applies + type: string + routes: + description: Routes contains a list of IPv6 routes + items: + description: NetworkDataRoutev6 represents an ipv6 route object + properties: + gateway: + description: Gateway is the IPv6 address of the gateway + properties: + fromIPPool: + description: FromIPPool is the name of the IPPool to fetch the gateway from + type: string + string: + description: String is the gateway given as a string + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + type: object + network: + description: Network is the IPv6 network address + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + prefix: + description: Prefix is the mask of the network as integer (max 128) + maximum: 128 + type: integer + services: + description: Services is a list of IPv6 services + properties: + dns: + description: DNS is a list of IPv6 DNS services + items: + description: IPAddressv6 is used for validation of an IPv6 address + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string - type: object - required: - - gateway - - network - type: object - type: array - required: - - id - - link - type: object - type: array - type: object - services: - description: - Services is a structure containing lists of different - types objects - properties: - dns: - description: DNS is a list of DNS services - items: - description: IPAddress is used for validation of an IP address - pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of the IPPool from - which to get the DNS servers + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + required: + - gateway + - network + type: object + type: array + required: + - id + - link + type: object + type: array + type: object + services: + description: Services is a structure containing lists of different types objects + properties: + dns: + description: DNS is a list of DNS services + items: + description: IPAddress is used for validation of an IP address + pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) type: string - type: object - type: object - templateReference: - description: - TemplateReference refers to the Template the Metal3MachineTemplate - refers to. It can be matched against the key or it may also point - to the name of the template Metal3Data refers to - type: string - required: - - clusterName - type: object - status: - description: Metal3DataTemplateStatus defines the observed state of Metal3DataTemplate. - properties: - indexes: - additionalProperties: - type: integer - description: Indexes contains the map of Metal3Machine and index used - type: object - lastUpdated: - description: LastUpdated identifies when this status was last observed. - format: date-time - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + type: object + templateReference: + description: TemplateReference refers to the Template the Metal3MachineTemplate refers to. It can be matched against the key or it may also point to the name of the template Metal3Data refers to + type: string + required: + - clusterName + type: object + status: + description: Metal3DataTemplateStatus defines the observed state of Metal3DataTemplate. + properties: + indexes: + additionalProperties: + type: integer + description: Indexes contains the map of Metal3Machine and index used + type: object + lastUpdated: + description: LastUpdated identifies when this status was last observed. + format: date-time + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -3450,869 +2661,584 @@ spec: namespace: capm3-system path: /convert conversionReviewVersions: - - v1 - - v1beta1 + - v1 + - v1beta1 group: infrastructure.cluster.x-k8s.io names: categories: - - cluster-api + - cluster-api kind: Metal3Machine listKind: Metal3MachineList plural: metal3machines shortNames: - - m3m - - m3machine - - m3machines - - metal3m - - metal3machine + - m3m + - m3machine + - m3machines + - metal3m + - metal3machine singular: metal3machine scope: Namespaced versions: - - additionalPrinterColumns: - - description: Time duration since creation of Metal3Machine - jsonPath: .metadata.creationTimestamp - name: Age - type: date - - description: Provider ID - jsonPath: .spec.providerID - name: ProviderID - type: string - - description: metal3machine is Ready - jsonPath: .status.ready - name: Ready - type: string - - description: Cluster to which this M3Machine belongs - jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name - name: Cluster - type: string - - description: metal3machine current phase - jsonPath: .status.phase - name: Phase - type: string - name: v1alpha5 - schema: - openAPIV3Schema: - description: Metal3Machine is the Schema for the metal3machines 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: Metal3MachineSpec defines the desired state of Metal3Machine - properties: - automatedCleaningMode: - description: - When set to disabled, automated cleaning of host disks - will be skipped during provisioning and deprovisioning. - enum: - - metadata - - disabled - type: string - dataTemplate: - description: - MetadataTemplate is a reference to a Metal3DataTemplate - object containing a template of metadata to be rendered. Metadata - keys defined in the metadataTemplate take precedence over keys defined - in metadata field. - 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 - hostSelector: - description: - HostSelector specifies matching criteria for labels on - BareMetalHosts. This is used to limit the set of BareMetalHost objects - considered for claiming for a metal3machine. - properties: - matchExpressions: - description: - Label match expressions that must be true on a chosen - BareMetalHost - items: - properties: - key: - type: string - operator: - description: - Operator represents a key/field's relationship - to value(s). See labels.Requirement and fields.Requirement - for more details. + - additionalPrinterColumns: + - description: Time duration since creation of Metal3Machine + jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: Provider ID + jsonPath: .spec.providerID + name: ProviderID + type: string + - description: metal3machine is Ready + jsonPath: .status.ready + name: Ready + type: string + - description: Cluster to which this M3Machine belongs + jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name + name: Cluster + type: string + - description: metal3machine current phase + jsonPath: .status.phase + name: Phase + type: string + name: v1alpha5 + schema: + openAPIV3Schema: + description: Metal3Machine is the Schema for the metal3machines 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: Metal3MachineSpec defines the desired state of Metal3Machine + properties: + automatedCleaningMode: + description: When set to disabled, automated cleaning of host disks will be skipped during provisioning and deprovisioning. + enum: + - metadata + - disabled + type: string + dataTemplate: + description: MetadataTemplate is a reference to a Metal3DataTemplate object containing a template of metadata to be rendered. Metadata keys defined in the metadataTemplate take precedence over keys defined in metadata field. + 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 + hostSelector: + description: HostSelector specifies matching criteria for labels on BareMetalHosts. This is used to limit the set of BareMetalHost objects considered for claiming for a metal3machine. + properties: + matchExpressions: + description: Label match expressions that must be true on a chosen BareMetalHost + items: + properties: + key: + type: string + operator: + description: Operator represents a key/field's relationship to value(s). See labels.Requirement and fields.Requirement for more details. + type: string + values: + items: type: string - values: - items: - type: string - type: array - required: - - key - - operator - - values - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: - Key/value pairs of labels that must exist on a chosen - BareMetalHost + type: array + required: + - key + - operator + - values type: object - type: object - image: - description: Image is the image to be provisioned. - properties: - checksum: - description: Checksum is a md5sum value or a URL to retrieve one. - type: string - checksumType: - description: - ChecksumType is the checksum algorithm for the image. - e.g md5, sha256, sha512 - enum: - - md5 - - sha256 - - sha512 - type: string - format: - description: DiskFormat contains the image disk format - enum: - - raw - - qcow2 - - vdi - - vmdk - - live-iso - type: string - url: - description: URL is a location of an image to deploy. - type: string - required: - - checksum - - url - type: object - metaData: - description: - MetaData is an object storing the reference to the secret - containing the Metadata given by the user. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - networkData: - description: - NetworkData is an object storing the reference to the - secret containing the network data given by the user. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - providerID: - description: - ProviderID will be the Metal3 machine in ProviderID format - (metal3://) - type: string - userData: - description: - UserData references the Secret that holds user data needed - by the bare metal operator. The Namespace is optional; it will default - to the metal3machine's namespace if not specified. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. + type: array + matchLabels: + additionalProperties: type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - required: - - image - type: object - status: - description: Metal3MachineStatus defines the observed state of Metal3Machine - 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 + description: Key/value pairs of labels that must exist on a chosen BareMetalHost type: object - type: array - failureMessage: - description: - "FailureMessage will be set in the event that there is - a terminal problem reconciling the metal3machine 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 metal3machine'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 metal3machines can - be added as events to the metal3machine 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 metal3machine 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 metal3machine'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 metal3machines can be added as - events to the metal3machine object and/or logged in the controller's - output." - type: string - lastUpdated: - description: LastUpdated identifies when this status was last observed. - format: date-time - type: string - metaData: - description: - MetaData is an object storing the reference to the secret - containing the Metadata used to deploy the BareMetalHost. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - networkData: - description: - NetworkData is an object storing the reference to the - secret containing the network data used to deploy the BareMetalHost. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - phase: - description: - Phase represents the current phase of machine actuation. - E.g. Pending, Running, Terminating, Failed etc. - type: string - ready: - description: - 'Ready is the state of the metal3. TODO : Document the - variable : mhrivnak: " it would be good to document what this means, - how to interpret it, under what circumstances the value changes, - etc."' - type: boolean - renderedData: - description: - RenderedData is a reference to a rendered Metal3Data - object containing the references to metaData and networkData secrets. - 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 - userData: - description: - UserData references the Secret that holds user data needed - by the bare metal operator. The Namespace is optional; it will default - to the metal3machine's namespace if not specified. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - description: Time duration since creation of Metal3Machine - jsonPath: .metadata.creationTimestamp - name: Age - type: date - - description: Provider ID - jsonPath: .spec.providerID - name: ProviderID - type: string - - description: metal3machine is Ready - jsonPath: .status.ready - name: Ready - type: string - - description: Cluster to which this M3Machine belongs - jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name - name: Cluster - type: string - - description: metal3machine current phase - jsonPath: .status.phase - name: Phase - type: string - name: v1beta1 - schema: - openAPIV3Schema: - description: Metal3Machine is the Schema for the metal3machines 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: Metal3MachineSpec defines the desired state of Metal3Machine - properties: - automatedCleaningMode: - description: - When set to disabled, automated cleaning of host disks - will be skipped during provisioning and deprovisioning. - enum: - - metadata - - disabled - type: string - dataTemplate: - description: - MetadataTemplate is a reference to a Metal3DataTemplate - object containing a template of metadata to be rendered. Metadata - keys defined in the metadataTemplate take precedence over keys defined - in metadata field. - 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 - hostSelector: - description: - HostSelector specifies matching criteria for labels on - BareMetalHosts. This is used to limit the set of BareMetalHost objects - considered for claiming for a metal3machine. - properties: - matchExpressions: - description: - Label match expressions that must be true on a chosen - BareMetalHost - items: - properties: - key: - type: string - operator: - description: - Operator represents a key/field's relationship - to value(s). See labels.Requirement and fields.Requirement - for more details. - type: string - values: - items: - type: string - type: array - required: - - key - - operator - - values - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: - Key/value pairs of labels that must exist on a chosen - BareMetalHost - type: object - type: object - image: - description: Image is the image to be provisioned. + type: object + image: + description: Image is the image to be provisioned. + properties: + checksum: + description: Checksum is a md5sum value or a URL to retrieve one. + type: string + checksumType: + description: ChecksumType is the checksum algorithm for the image. e.g md5, sha256, sha512 + enum: + - md5 + - sha256 + - sha512 + type: string + format: + description: DiskFormat contains the image disk format + enum: + - raw + - qcow2 + - vdi + - vmdk + - live-iso + type: string + url: + description: URL is a location of an image to deploy. + type: string + required: + - checksum + - url + type: object + metaData: + description: MetaData is an object storing the reference to the secret containing the Metadata given by the user. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + networkData: + description: NetworkData is an object storing the reference to the secret containing the network data given by the user. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + providerID: + description: ProviderID will be the Metal3 machine in ProviderID format (metal3://) + type: string + userData: + description: UserData references the Secret that holds user data needed by the bare metal operator. The Namespace is optional; it will default to the metal3machine's namespace if not specified. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + required: + - image + type: object + status: + description: Metal3MachineStatus defines the observed state of Metal3Machine + 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: - checksum: - description: Checksum is a md5sum value or a URL to retrieve one. - type: string - checksumType: - description: - ChecksumType is the checksum algorithm for the image. - e.g md5, sha256, sha512 - enum: - - md5 - - sha256 - - sha512 + address: + description: The machine address. type: string - format: - description: DiskFormat contains the image disk format - enum: - - raw - - qcow2 - - vdi - - vmdk - - live-iso - type: string - url: - description: URL is a location of an image to deploy. + type: + description: Machine address type, one of Hostname, ExternalIP or InternalIP. type: string required: - - checksum - - url - type: object - metaData: - description: - MetaData is an object storing the reference to the secret - containing the Metadata given by the user. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - networkData: - description: - NetworkData is an object storing the reference to the - secret containing the network data given by the user. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - providerID: - description: - ProviderID will be the Metal3 machine in ProviderID format - (metal3://) - type: string - userData: - description: - UserData references the Secret that holds user data needed - by the bare metal operator. The Namespace is optional; it will default - to the metal3machine's namespace if not specified. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string + - address + - type type: object - x-kubernetes-map-type: atomic - required: - - image - type: object - status: - description: Metal3MachineStatus defines the observed state of Metal3Machine - 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 - conditions: - description: Conditions defines current service state of the Metal3Machine. - 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 metal3machine 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 metal3machine'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 metal3machines can - be added as events to the metal3machine 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 metal3machine 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 metal3machine'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 metal3machines can be added as - events to the metal3machine object and/or logged in the controller's - output." - type: string - lastUpdated: - description: LastUpdated identifies when this status was last observed. - format: date-time - type: string - metaData: - description: - MetaData is an object storing the reference to the secret - containing the Metadata used to deploy the BareMetalHost. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. + type: array + failureMessage: + description: "FailureMessage will be set in the event that there is a terminal problem reconciling the metal3machine 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 metal3machine'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 metal3machines can be added as events to the metal3machine 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 metal3machine 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 metal3machine'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 metal3machines can be added as events to the metal3machine object and/or logged in the controller's output." + type: string + lastUpdated: + description: LastUpdated identifies when this status was last observed. + format: date-time + type: string + metaData: + description: MetaData is an object storing the reference to the secret containing the Metadata used to deploy the BareMetalHost. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + networkData: + description: NetworkData is an object storing the reference to the secret containing the network data used to deploy the BareMetalHost. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + phase: + description: Phase represents the current phase of machine actuation. E.g. Pending, Running, Terminating, Failed etc. + type: string + ready: + description: 'Ready is the state of the metal3. TODO : Document the variable : mhrivnak: " it would be good to document what this means, how to interpret it, under what circumstances the value changes, etc."' + type: boolean + renderedData: + description: RenderedData is a reference to a rendered Metal3Data object containing the references to metaData and networkData secrets. + 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 + userData: + description: UserData references the Secret that holds user data needed by the bare metal operator. The Namespace is optional; it will default to the metal3machine's namespace if not specified. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - description: Time duration since creation of Metal3Machine + jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: Provider ID + jsonPath: .spec.providerID + name: ProviderID + type: string + - description: metal3machine is Ready + jsonPath: .status.ready + name: Ready + type: string + - description: Cluster to which this M3Machine belongs + jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name + name: Cluster + type: string + - description: metal3machine current phase + jsonPath: .status.phase + name: Phase + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: Metal3Machine is the Schema for the metal3machines 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: Metal3MachineSpec defines the desired state of Metal3Machine + properties: + automatedCleaningMode: + description: When set to disabled, automated cleaning of host disks will be skipped during provisioning and deprovisioning. + enum: + - metadata + - disabled + type: string + dataTemplate: + description: MetadataTemplate is a reference to a Metal3DataTemplate object containing a template of metadata to be rendered. Metadata keys defined in the metadataTemplate take precedence over keys defined in metadata field. + 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 + hostSelector: + description: HostSelector specifies matching criteria for labels on BareMetalHosts. This is used to limit the set of BareMetalHost objects considered for claiming for a metal3machine. + properties: + matchExpressions: + description: Label match expressions that must be true on a chosen BareMetalHost + items: + properties: + key: + type: string + operator: + description: Operator represents a key/field's relationship to value(s). See labels.Requirement and fields.Requirement for more details. + type: string + values: + items: + type: string + type: array + required: + - key + - operator + - values + type: object + type: array + matchLabels: + additionalProperties: type: string - type: object - x-kubernetes-map-type: atomic - networkData: - description: - NetworkData is an object storing the reference to the - secret containing the network data used to deploy the BareMetalHost. + description: Key/value pairs of labels that must exist on a chosen BareMetalHost + type: object + type: object + image: + description: Image is the image to be provisioned. + properties: + checksum: + description: Checksum is a md5sum value or a URL to retrieve one. + type: string + checksumType: + description: ChecksumType is the checksum algorithm for the image. e.g md5, sha256, sha512 + enum: + - md5 + - sha256 + - sha512 + type: string + format: + description: DiskFormat contains the image disk format + enum: + - raw + - qcow2 + - vdi + - vmdk + - live-iso + type: string + url: + description: URL is a location of an image to deploy. + type: string + required: + - checksum + - url + type: object + metaData: + description: MetaData is an object storing the reference to the secret containing the Metadata given by the user. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + networkData: + description: NetworkData is an object storing the reference to the secret containing the network data given by the user. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + providerID: + description: ProviderID will be the Metal3 machine in ProviderID format (metal3://) + type: string + userData: + description: UserData references the Secret that holds user data needed by the bare metal operator. The Namespace is optional; it will default to the metal3machine's namespace if not specified. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + required: + - image + type: object + status: + description: Metal3MachineStatus defines the observed state of Metal3Machine + 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: - name: - description: - name is unique within a namespace to reference a - secret resource. + address: + description: The machine address. type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. + type: + description: Machine address type, one of Hostname, ExternalIP or InternalIP. type: string + required: + - address + - type type: object - x-kubernetes-map-type: atomic - phase: - description: - Phase represents the current phase of machine actuation. - E.g. Pending, Running, Terminating, Failed etc. - type: string - ready: - description: - 'Ready is the state of the metal3. TODO : Document the - variable : mhrivnak: " it would be good to document what this means, - how to interpret it, under what circumstances the value changes, - etc."' - type: boolean - renderedData: - description: - RenderedData is a reference to a rendered Metal3Data - object containing the references to metaData and networkData secrets. + type: array + conditions: + description: Conditions defines current service state of the Metal3Machine. + items: + description: Condition defines an observation of a Cluster API resource operational state. 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" + 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 - namespace: - description: "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/" + message: + description: A human readable message indicating details about the transition. This field may be empty. 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" + 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 - uid: - description: "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids" + 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 - type: object - x-kubernetes-map-type: atomic - userData: - description: - UserData references the Secret that holds user data needed - by the bare metal operator. The Namespace is optional; it will default - to the metal3machine's namespace if not specified. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. + status: + description: Status of the condition, one of True, False, Unknown. type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. + 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 - x-kubernetes-map-type: atomic - type: object - type: object - served: true - storage: true - subresources: - status: {} + type: array + failureMessage: + description: "FailureMessage will be set in the event that there is a terminal problem reconciling the metal3machine 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 metal3machine'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 metal3machines can be added as events to the metal3machine 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 metal3machine 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 metal3machine'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 metal3machines can be added as events to the metal3machine object and/or logged in the controller's output." + type: string + lastUpdated: + description: LastUpdated identifies when this status was last observed. + format: date-time + type: string + metaData: + description: MetaData is an object storing the reference to the secret containing the Metadata used to deploy the BareMetalHost. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + networkData: + description: NetworkData is an object storing the reference to the secret containing the network data used to deploy the BareMetalHost. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + phase: + description: Phase represents the current phase of machine actuation. E.g. Pending, Running, Terminating, Failed etc. + type: string + ready: + description: 'Ready is the state of the metal3. TODO : Document the variable : mhrivnak: " it would be good to document what this means, how to interpret it, under what circumstances the value changes, etc."' + type: boolean + renderedData: + description: RenderedData is a reference to a rendered Metal3Data object containing the references to metaData and networkData secrets. + 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 + userData: + description: UserData references the Secret that holds user data needed by the bare metal operator. The Namespace is optional; it will default to the metal3machine's namespace if not specified. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + type: object + type: object + served: true + storage: true + subresources: + status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -4336,502 +3262,362 @@ spec: namespace: capm3-system path: /convert conversionReviewVersions: - - v1 - - v1beta1 + - v1 + - v1beta1 group: infrastructure.cluster.x-k8s.io names: categories: - - cluster-api + - cluster-api kind: Metal3MachineTemplate listKind: Metal3MachineTemplateList plural: metal3machinetemplates shortNames: - - m3mt - - m3machinetemplate - - m3machinetemplates - - metal3mt - - metal3machinetemplate + - m3mt + - m3machinetemplate + - m3machinetemplates + - metal3mt + - metal3machinetemplate singular: metal3machinetemplate scope: Namespaced versions: - - additionalPrinterColumns: - - description: Time duration since creation of Metal3MachineTemplate - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha5 - schema: - openAPIV3Schema: - description: - Metal3MachineTemplate is the Schema for the metal3machinetemplates - 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: Metal3MachineTemplateSpec defines the desired state of Metal3MachineTemplate - properties: - nodeReuse: - default: false - description: - When set to True, CAPM3 Machine controller will pick - the same pool of BMHs' that were released during the upgrade operation. - type: boolean - template: - description: - Metal3MachineTemplateResource describes the data needed - to create a Metal3Machine from a template - properties: - spec: - description: - Spec is the specification of the desired behavior - of the machine. - properties: - automatedCleaningMode: - description: - When set to disabled, automated cleaning of host - disks will be skipped during provisioning and deprovisioning. - enum: - - metadata - - disabled - type: string - dataTemplate: - description: - MetadataTemplate is a reference to a Metal3DataTemplate - object containing a template of metadata to be rendered. - Metadata keys defined in the metadataTemplate take precedence - over keys defined in metadata field. - 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 - hostSelector: - description: - HostSelector specifies matching criteria for - labels on BareMetalHosts. This is used to limit the set - of BareMetalHost objects considered for claiming for a metal3machine. - properties: - matchExpressions: - description: - Label match expressions that must be true - on a chosen BareMetalHost - items: - properties: - key: - type: string - operator: - description: - Operator represents a key/field's relationship - to value(s). See labels.Requirement and fields.Requirement - for more details. + - additionalPrinterColumns: + - description: Time duration since creation of Metal3MachineTemplate + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha5 + schema: + openAPIV3Schema: + description: Metal3MachineTemplate is the Schema for the metal3machinetemplates 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: Metal3MachineTemplateSpec defines the desired state of Metal3MachineTemplate + properties: + nodeReuse: + default: false + description: When set to True, CAPM3 Machine controller will pick the same pool of BMHs' that were released during the upgrade operation. + type: boolean + template: + description: Metal3MachineTemplateResource describes the data needed to create a Metal3Machine from a template + properties: + spec: + description: Spec is the specification of the desired behavior of the machine. + properties: + automatedCleaningMode: + description: When set to disabled, automated cleaning of host disks will be skipped during provisioning and deprovisioning. + enum: + - metadata + - disabled + type: string + dataTemplate: + description: MetadataTemplate is a reference to a Metal3DataTemplate object containing a template of metadata to be rendered. Metadata keys defined in the metadataTemplate take precedence over keys defined in metadata field. + 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 + hostSelector: + description: HostSelector specifies matching criteria for labels on BareMetalHosts. This is used to limit the set of BareMetalHost objects considered for claiming for a metal3machine. + properties: + matchExpressions: + description: Label match expressions that must be true on a chosen BareMetalHost + items: + properties: + key: + type: string + operator: + description: Operator represents a key/field's relationship to value(s). See labels.Requirement and fields.Requirement for more details. + type: string + values: + items: type: string - values: - items: - type: string - type: array - required: - - key - - operator - - values - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: - Key/value pairs of labels that must exist - on a chosen BareMetalHost + type: array + required: + - key + - operator + - values type: object - type: object - image: - description: Image is the image to be provisioned. - properties: - checksum: - description: - Checksum is a md5sum value or a URL to retrieve - one. - type: string - checksumType: - description: - ChecksumType is the checksum algorithm for - the image. e.g md5, sha256, sha512 - enum: - - md5 - - sha256 - - sha512 - type: string - format: - description: DiskFormat contains the image disk format - enum: - - raw - - qcow2 - - vdi - - vmdk - - live-iso - type: string - url: - description: URL is a location of an image to deploy. - type: string - required: - - checksum - - url - type: object - metaData: - description: - MetaData is an object storing the reference to - the secret containing the Metadata given by the user. - properties: - name: - description: - name is unique within a namespace to reference - a secret resource. - type: string - namespace: - description: - namespace defines the space within which - the secret name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - networkData: - description: - NetworkData is an object storing the reference - to the secret containing the network data given by the user. - properties: - name: - description: - name is unique within a namespace to reference - a secret resource. - type: string - namespace: - description: - namespace defines the space within which - the secret name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - providerID: - description: - ProviderID will be the Metal3 machine in ProviderID - format (metal3://) - type: string - userData: - description: - UserData references the Secret that holds user - data needed by the bare metal operator. The Namespace is - optional; it will default to the metal3machine's namespace - if not specified. - properties: - name: - description: - name is unique within a namespace to reference - a secret resource. - type: string - namespace: - description: - namespace defines the space within which - the secret name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - required: - - image - type: object - required: - - spec - type: object - required: - - template - type: object - type: object - served: true - storage: false - subresources: {} - - additionalPrinterColumns: - - description: Time duration since creation of Metal3MachineTemplate - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1beta1 - schema: - openAPIV3Schema: - description: - Metal3MachineTemplate is the Schema for the metal3machinetemplates - 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: Metal3MachineTemplateSpec defines the desired state of Metal3MachineTemplate - properties: - nodeReuse: - default: false - description: - When set to True, CAPM3 Machine controller will pick - the same pool of BMHs' that were released during the upgrade operation. - type: boolean - template: - description: - Metal3MachineTemplateResource describes the data needed - to create a Metal3Machine from a template - properties: - spec: - description: - Spec is the specification of the desired behavior - of the machine. - properties: - automatedCleaningMode: - description: - When set to disabled, automated cleaning of host - disks will be skipped during provisioning and deprovisioning. - enum: - - metadata - - disabled - type: string - dataTemplate: - description: - MetadataTemplate is a reference to a Metal3DataTemplate - object containing a template of metadata to be rendered. - Metadata keys defined in the metadataTemplate take precedence - over keys defined in metadata field. - 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: array + matchLabels: + additionalProperties: type: string - type: object - x-kubernetes-map-type: atomic - hostSelector: - description: - HostSelector specifies matching criteria for - labels on BareMetalHosts. This is used to limit the set - of BareMetalHost objects considered for claiming for a metal3machine. - properties: - matchExpressions: - description: - Label match expressions that must be true - on a chosen BareMetalHost - items: - properties: - key: - type: string - operator: - description: - Operator represents a key/field's relationship - to value(s). See labels.Requirement and fields.Requirement - for more details. + description: Key/value pairs of labels that must exist on a chosen BareMetalHost + type: object + type: object + image: + description: Image is the image to be provisioned. + properties: + checksum: + description: Checksum is a md5sum value or a URL to retrieve one. + type: string + checksumType: + description: ChecksumType is the checksum algorithm for the image. e.g md5, sha256, sha512 + enum: + - md5 + - sha256 + - sha512 + type: string + format: + description: DiskFormat contains the image disk format + enum: + - raw + - qcow2 + - vdi + - vmdk + - live-iso + type: string + url: + description: URL is a location of an image to deploy. + type: string + required: + - checksum + - url + type: object + metaData: + description: MetaData is an object storing the reference to the secret containing the Metadata given by the user. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + networkData: + description: NetworkData is an object storing the reference to the secret containing the network data given by the user. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + providerID: + description: ProviderID will be the Metal3 machine in ProviderID format (metal3://) + type: string + userData: + description: UserData references the Secret that holds user data needed by the bare metal operator. The Namespace is optional; it will default to the metal3machine's namespace if not specified. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + required: + - image + type: object + required: + - spec + type: object + required: + - template + type: object + type: object + served: true + storage: false + subresources: {} + - additionalPrinterColumns: + - description: Time duration since creation of Metal3MachineTemplate + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + description: Metal3MachineTemplate is the Schema for the metal3machinetemplates 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: Metal3MachineTemplateSpec defines the desired state of Metal3MachineTemplate + properties: + nodeReuse: + default: false + description: When set to True, CAPM3 Machine controller will pick the same pool of BMHs' that were released during the upgrade operation. + type: boolean + template: + description: Metal3MachineTemplateResource describes the data needed to create a Metal3Machine from a template + properties: + spec: + description: Spec is the specification of the desired behavior of the machine. + properties: + automatedCleaningMode: + description: When set to disabled, automated cleaning of host disks will be skipped during provisioning and deprovisioning. + enum: + - metadata + - disabled + type: string + dataTemplate: + description: MetadataTemplate is a reference to a Metal3DataTemplate object containing a template of metadata to be rendered. Metadata keys defined in the metadataTemplate take precedence over keys defined in metadata field. + 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 + hostSelector: + description: HostSelector specifies matching criteria for labels on BareMetalHosts. This is used to limit the set of BareMetalHost objects considered for claiming for a metal3machine. + properties: + matchExpressions: + description: Label match expressions that must be true on a chosen BareMetalHost + items: + properties: + key: + type: string + operator: + description: Operator represents a key/field's relationship to value(s). See labels.Requirement and fields.Requirement for more details. + type: string + values: + items: type: string - values: - items: - type: string - type: array - required: - - key - - operator - - values - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: - Key/value pairs of labels that must exist - on a chosen BareMetalHost + type: array + required: + - key + - operator + - values type: object - type: object - image: - description: Image is the image to be provisioned. - properties: - checksum: - description: - Checksum is a md5sum value or a URL to retrieve - one. - type: string - checksumType: - description: - ChecksumType is the checksum algorithm for - the image. e.g md5, sha256, sha512 - enum: - - md5 - - sha256 - - sha512 - type: string - format: - description: DiskFormat contains the image disk format - enum: - - raw - - qcow2 - - vdi - - vmdk - - live-iso - type: string - url: - description: URL is a location of an image to deploy. - type: string - required: - - checksum - - url - type: object - metaData: - description: - MetaData is an object storing the reference to - the secret containing the Metadata given by the user. - properties: - name: - description: - name is unique within a namespace to reference - a secret resource. - type: string - namespace: - description: - namespace defines the space within which - the secret name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - networkData: - description: - NetworkData is an object storing the reference - to the secret containing the network data given by the user. - properties: - name: - description: - name is unique within a namespace to reference - a secret resource. - type: string - namespace: - description: - namespace defines the space within which - the secret name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - providerID: - description: - ProviderID will be the Metal3 machine in ProviderID - format (metal3://) - type: string - userData: - description: - UserData references the Secret that holds user - data needed by the bare metal operator. The Namespace is - optional; it will default to the metal3machine's namespace - if not specified. - properties: - name: - description: - name is unique within a namespace to reference - a secret resource. - type: string - namespace: - description: - namespace defines the space within which - the secret name must be unique. + type: array + matchLabels: + additionalProperties: type: string - type: object - x-kubernetes-map-type: atomic - required: - - image - type: object - required: - - spec - type: object - required: - - template - type: object - type: object - served: true - storage: true - subresources: {} + description: Key/value pairs of labels that must exist on a chosen BareMetalHost + type: object + type: object + image: + description: Image is the image to be provisioned. + properties: + checksum: + description: Checksum is a md5sum value or a URL to retrieve one. + type: string + checksumType: + description: ChecksumType is the checksum algorithm for the image. e.g md5, sha256, sha512 + enum: + - md5 + - sha256 + - sha512 + type: string + format: + description: DiskFormat contains the image disk format + enum: + - raw + - qcow2 + - vdi + - vmdk + - live-iso + type: string + url: + description: URL is a location of an image to deploy. + type: string + required: + - checksum + - url + type: object + metaData: + description: MetaData is an object storing the reference to the secret containing the Metadata given by the user. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + networkData: + description: NetworkData is an object storing the reference to the secret containing the network data given by the user. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + providerID: + description: ProviderID will be the Metal3 machine in ProviderID format (metal3://) + type: string + userData: + description: UserData references the Secret that holds user data needed by the bare metal operator. The Namespace is optional; it will default to the metal3machine's namespace if not specified. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + required: + - image + type: object + required: + - spec + type: object + required: + - template + type: object + type: object + served: true + storage: true + subresources: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -4853,191 +3639,163 @@ spec: service: name: capm3-webhook-service namespace: capm3-system - path: /convert - conversionReviewVersions: - - v1 - - v1beta1 - group: infrastructure.cluster.x-k8s.io - names: - categories: - - cluster-api - kind: Metal3Remediation - listKind: Metal3RemediationList - plural: metal3remediations - shortNames: - - m3r - - m3remediation - singular: metal3remediation - scope: Namespaced - versions: - - additionalPrinterColumns: - - description: - How many times remediation controller should attempt to remediate - the host - jsonPath: .spec.strategy.retryLimit - name: Retry limit - type: string - - description: - How many times remediation controller has tried to remediate the - node - jsonPath: .status.retryCount - name: Retry count - type: string - - description: Timestamp of the last remediation attempt - jsonPath: .status.lastRemediated - name: Last Remediated - type: string - - description: Type of the remediation strategy - jsonPath: .spec.strategy.type - name: Strategy - type: string - - description: Phase of the remediation - jsonPath: .status.phase - name: Phase - type: string - name: v1alpha5 - schema: - openAPIV3Schema: - description: Metal3Remediation is the Schema for the metal3remediations 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: Metal3RemediationSpec defines the desired state of Metal3Remediation. - properties: - strategy: - description: Strategy field defines remediation strategy. - properties: - retryLimit: - description: Sets maximum number of remediation retries. - type: integer - timeout: - description: Sets the timeout between remediation retries. - type: string - type: - description: Type of remediation. - type: string - type: object - type: object - status: - description: Metal3RemediationStatus defines the observed state of Metal3Remediation - properties: - lastRemediated: - description: LastRemediated identifies when the host was last remediated - format: date-time - type: string - phase: - description: - Phase represents the current phase of machine remediation. - E.g. Pending, Running, Done etc. - type: string - retryCount: - description: - RetryCount can be used as a counter during the remediation. - Field can hold number of reboots etc. - type: integer - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - description: - How many times remediation controller should attempt to remediate - the host - jsonPath: .spec.strategy.retryLimit - name: Retry limit - type: string - - description: - How many times remediation controller has tried to remediate the - node - jsonPath: .status.retryCount - name: Retry count - type: string - - description: Timestamp of the last remediation attempt - jsonPath: .status.lastRemediated - name: Last Remediated - type: string - - description: Type of the remediation strategy - jsonPath: .spec.strategy.type - name: Strategy - type: string - - description: Phase of the remediation - jsonPath: .status.phase - name: Phase - type: string - name: v1beta1 - schema: - openAPIV3Schema: - description: Metal3Remediation is the Schema for the metal3remediations 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: Metal3RemediationSpec defines the desired state of Metal3Remediation. - properties: - strategy: - description: Strategy field defines remediation strategy. - properties: - retryLimit: - description: Sets maximum number of remediation retries. - type: integer - timeout: - description: Sets the timeout between remediation retries. - type: string - type: - description: Type of remediation. - type: string - type: object - type: object - status: - description: Metal3RemediationStatus defines the observed state of Metal3Remediation - properties: - lastRemediated: - description: LastRemediated identifies when the host was last remediated - format: date-time - type: string - phase: - description: - Phase represents the current phase of machine remediation. - E.g. Pending, Running, Done etc. - type: string - retryCount: - description: - RetryCount can be used as a counter during the remediation. - Field can hold number of reboots etc. - type: integer - type: object - type: object - served: true - storage: true - subresources: - status: {} + path: /convert + conversionReviewVersions: + - v1 + - v1beta1 + group: infrastructure.cluster.x-k8s.io + names: + categories: + - cluster-api + kind: Metal3Remediation + listKind: Metal3RemediationList + plural: metal3remediations + shortNames: + - m3r + - m3remediation + singular: metal3remediation + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: How many times remediation controller should attempt to remediate the host + jsonPath: .spec.strategy.retryLimit + name: Retry limit + type: string + - description: How many times remediation controller has tried to remediate the node + jsonPath: .status.retryCount + name: Retry count + type: string + - description: Timestamp of the last remediation attempt + jsonPath: .status.lastRemediated + name: Last Remediated + type: string + - description: Type of the remediation strategy + jsonPath: .spec.strategy.type + name: Strategy + type: string + - description: Phase of the remediation + jsonPath: .status.phase + name: Phase + type: string + name: v1alpha5 + schema: + openAPIV3Schema: + description: Metal3Remediation is the Schema for the metal3remediations 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: Metal3RemediationSpec defines the desired state of Metal3Remediation. + properties: + strategy: + description: Strategy field defines remediation strategy. + properties: + retryLimit: + description: Sets maximum number of remediation retries. + type: integer + timeout: + description: Sets the timeout between remediation retries. + type: string + type: + description: Type of remediation. + type: string + type: object + type: object + status: + description: Metal3RemediationStatus defines the observed state of Metal3Remediation + properties: + lastRemediated: + description: LastRemediated identifies when the host was last remediated + format: date-time + type: string + phase: + description: Phase represents the current phase of machine remediation. E.g. Pending, Running, Done etc. + type: string + retryCount: + description: RetryCount can be used as a counter during the remediation. Field can hold number of reboots etc. + type: integer + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - description: How many times remediation controller should attempt to remediate the host + jsonPath: .spec.strategy.retryLimit + name: Retry limit + type: string + - description: How many times remediation controller has tried to remediate the node + jsonPath: .status.retryCount + name: Retry count + type: string + - description: Timestamp of the last remediation attempt + jsonPath: .status.lastRemediated + name: Last Remediated + type: string + - description: Type of the remediation strategy + jsonPath: .spec.strategy.type + name: Strategy + type: string + - description: Phase of the remediation + jsonPath: .status.phase + name: Phase + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: Metal3Remediation is the Schema for the metal3remediations 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: Metal3RemediationSpec defines the desired state of Metal3Remediation. + properties: + strategy: + description: Strategy field defines remediation strategy. + properties: + retryLimit: + description: Sets maximum number of remediation retries. + type: integer + timeout: + description: Sets the timeout between remediation retries. + type: string + type: + description: Type of remediation. + type: string + type: object + type: object + status: + description: Metal3RemediationStatus defines the observed state of Metal3Remediation + properties: + lastRemediated: + description: LastRemediated identifies when the host was last remediated + format: date-time + type: string + phase: + description: Phase represents the current phase of machine remediation. E.g. Pending, Running, Done etc. + type: string + retryCount: + description: RetryCount can be used as a counter during the remediation. Field can hold number of reboots etc. + type: integer + type: object + type: object + served: true + storage: true + subresources: + status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -5061,206 +3819,158 @@ spec: namespace: capm3-system path: /convert conversionReviewVersions: - - v1 - - v1beta1 + - v1 + - v1beta1 group: infrastructure.cluster.x-k8s.io names: categories: - - cluster-api + - cluster-api kind: Metal3RemediationTemplate listKind: Metal3RemediationTemplateList plural: metal3remediationtemplates shortNames: - - m3rt - - m3remediationtemplate - - m3remediationtemplates - - metal3rt - - metal3remediationtemplate + - m3rt + - m3remediationtemplate + - m3remediationtemplates + - metal3rt + - metal3remediationtemplate singular: metal3remediationtemplate scope: Namespaced versions: - - name: v1alpha5 - schema: - openAPIV3Schema: - description: - Metal3RemediationTemplate is the Schema for the metal3remediationtemplates - 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: - Metal3RemediationTemplateSpec defines the desired state of - Metal3RemediationTemplate - properties: - template: - description: - Metal3RemediationTemplateResource describes the data - needed to create a Metal3Remediation from a template - properties: - spec: - description: - Spec is the specification of the desired behavior - of the Metal3Remediation. - properties: - strategy: - description: Strategy field defines remediation strategy. - properties: - retryLimit: - description: Sets maximum number of remediation retries. - type: integer - timeout: - description: Sets the timeout between remediation retries. - type: string - type: - description: Type of remediation. - type: string - type: object - type: object - required: - - spec - type: object - required: - - template - type: object - status: - description: - Metal3RemediationTemplateStatus defines the observed state - of Metal3RemediationTemplate - properties: - status: - description: - Metal3RemediationStatus defines the observed state of - Metal3Remediation - properties: - lastRemediated: - description: - LastRemediated identifies when the host was last - remediated - format: date-time - type: string - phase: - description: - Phase represents the current phase of machine remediation. - E.g. Pending, Running, Done etc. - type: string - retryCount: - description: - RetryCount can be used as a counter during the remediation. - Field can hold number of reboots etc. - type: integer - type: object - required: - - status - type: object - type: object - served: true - storage: false - subresources: - status: {} - - name: v1beta1 - schema: - openAPIV3Schema: - description: - Metal3RemediationTemplate is the Schema for the metal3remediationtemplates - 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: - Metal3RemediationTemplateSpec defines the desired state of - Metal3RemediationTemplate - properties: - template: - description: - Metal3RemediationTemplateResource describes the data - needed to create a Metal3Remediation from a template - properties: - spec: - description: - Spec is the specification of the desired behavior - of the Metal3Remediation. - properties: - strategy: - description: Strategy field defines remediation strategy. - properties: - retryLimit: - description: Sets maximum number of remediation retries. - type: integer - timeout: - description: Sets the timeout between remediation retries. - type: string - type: - description: Type of remediation. - type: string - type: object - type: object - required: - - spec - type: object - required: - - template - type: object - status: - description: - Metal3RemediationTemplateStatus defines the observed state - of Metal3RemediationTemplate - properties: - status: - description: - Metal3RemediationStatus defines the observed state of - Metal3Remediation - properties: - lastRemediated: - description: - LastRemediated identifies when the host was last - remediated - format: date-time - type: string - phase: - description: - Phase represents the current phase of machine remediation. - E.g. Pending, Running, Done etc. - type: string - retryCount: - description: - RetryCount can be used as a counter during the remediation. - Field can hold number of reboots etc. - type: integer - type: object - required: - - status - type: object - type: object - served: true - storage: true - subresources: - status: {} + - name: v1alpha5 + schema: + openAPIV3Schema: + description: Metal3RemediationTemplate is the Schema for the metal3remediationtemplates 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: Metal3RemediationTemplateSpec defines the desired state of Metal3RemediationTemplate + properties: + template: + description: Metal3RemediationTemplateResource describes the data needed to create a Metal3Remediation from a template + properties: + spec: + description: Spec is the specification of the desired behavior of the Metal3Remediation. + properties: + strategy: + description: Strategy field defines remediation strategy. + properties: + retryLimit: + description: Sets maximum number of remediation retries. + type: integer + timeout: + description: Sets the timeout between remediation retries. + type: string + type: + description: Type of remediation. + type: string + type: object + type: object + required: + - spec + type: object + required: + - template + type: object + status: + description: Metal3RemediationTemplateStatus defines the observed state of Metal3RemediationTemplate + properties: + status: + description: Metal3RemediationStatus defines the observed state of Metal3Remediation + properties: + lastRemediated: + description: LastRemediated identifies when the host was last remediated + format: date-time + type: string + phase: + description: Phase represents the current phase of machine remediation. E.g. Pending, Running, Done etc. + type: string + retryCount: + description: RetryCount can be used as a counter during the remediation. Field can hold number of reboots etc. + type: integer + type: object + required: + - status + type: object + type: object + served: true + storage: false + subresources: + status: {} + - name: v1beta1 + schema: + openAPIV3Schema: + description: Metal3RemediationTemplate is the Schema for the metal3remediationtemplates 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: Metal3RemediationTemplateSpec defines the desired state of Metal3RemediationTemplate + properties: + template: + description: Metal3RemediationTemplateResource describes the data needed to create a Metal3Remediation from a template + properties: + spec: + description: Spec is the specification of the desired behavior of the Metal3Remediation. + properties: + strategy: + description: Strategy field defines remediation strategy. + properties: + retryLimit: + description: Sets maximum number of remediation retries. + type: integer + timeout: + description: Sets the timeout between remediation retries. + type: string + type: + description: Type of remediation. + type: string + type: object + type: object + required: + - spec + type: object + required: + - template + type: object + status: + description: Metal3RemediationTemplateStatus defines the observed state of Metal3RemediationTemplate + properties: + status: + description: Metal3RemediationStatus defines the observed state of Metal3Remediation + properties: + lastRemediated: + description: LastRemediated identifies when the host was last remediated + format: date-time + type: string + phase: + description: Phase represents the current phase of machine remediation. E.g. Pending, Running, Done etc. + type: string + retryCount: + description: RetryCount can be used as a counter during the remediation. Field can hold number of reboots etc. + type: integer + type: object + required: + - status + type: object + type: object + served: true + storage: true + subresources: + status: {} --- apiVersion: v1 kind: ServiceAccount @@ -5286,24 +3996,24 @@ metadata: name: capm3-leader-election-role namespace: capm3-system rules: - - apiGroups: - - "" - resources: - - events - verbs: - - create - - apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - get - - list - - watch - - create - - update - - patch - - delete +- apiGroups: + - "" + resources: + - events + verbs: + - create +- apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - get + - list + - watch + - create + - update + - patch + - delete --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role @@ -5313,12 +4023,12 @@ metadata: name: ipam-leader-election-role namespace: capm3-system rules: - - apiGroups: - - "" - resources: - - events - verbs: - - create +- apiGroups: + - "" + resources: + - events + verbs: + - create --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role @@ -5329,293 +4039,293 @@ metadata: name: capm3-manager-role namespace: test1 rules: - - apiGroups: - - "" - resources: - - events - verbs: - - create - - get - - list - - patch - - update - - watch - - apiGroups: - - "" - resources: - - secrets - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - cluster.x-k8s.io - resources: - - clusters - verbs: - - get - - list - - watch - - apiGroups: - - cluster.x-k8s.io - resources: - - clusters - - clusters/status - verbs: - - get - - list - - watch - - apiGroups: - - cluster.x-k8s.io - resources: - - clusters/status - verbs: - - get - - apiGroups: - - cluster.x-k8s.io - resources: - - kubeadmcontrolplanes - 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: - - machines - - machines/status - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - cluster.x-k8s.io - resources: - - machinesets - verbs: - - get - - list - - watch - - apiGroups: - - "" - resources: - - nodes - verbs: - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3clusters - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3clusters/status - verbs: - - get - - patch - - update - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3dataclaims - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3dataclaims/status - verbs: - - get - - patch - - update - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3datas - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3datas/status - verbs: - - get - - patch - - update - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3datatemplates - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3datatemplates/status - verbs: - - get - - patch - - update - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3machines - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3machines/status - verbs: - - get - - patch - - update - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3machinetemplates - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3remediations - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3remediations/status - verbs: - - get - - patch - - update - - apiGroups: - - ipam.metal3.io - resources: - - ipaddresses - verbs: - - get - - list - - watch - - apiGroups: - - ipam.metal3.io - resources: - - ipaddresses/status - verbs: - - get - - apiGroups: - - ipam.metal3.io - resources: - - ipclaims - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - ipam.metal3.io - resources: - - ipclaims/status - verbs: - - get - - watch - - apiGroups: - - metal3.io - resources: - - baremetalhosts - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - metal3.io - resources: - - baremetalhosts/status - verbs: - - get - - patch - - update +- apiGroups: + - "" + resources: + - events + verbs: + - create + - get + - list + - patch + - update + - watch +- apiGroups: + - "" + resources: + - secrets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - cluster.x-k8s.io + resources: + - clusters + verbs: + - get + - list + - watch +- apiGroups: + - cluster.x-k8s.io + resources: + - clusters + - clusters/status + verbs: + - get + - list + - watch +- apiGroups: + - cluster.x-k8s.io + resources: + - clusters/status + verbs: + - get +- apiGroups: + - cluster.x-k8s.io + resources: + - kubeadmcontrolplanes + 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: + - machines + - machines/status + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - cluster.x-k8s.io + resources: + - machinesets + verbs: + - get + - list + - watch +- apiGroups: + - "" + resources: + - nodes + verbs: + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3clusters + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3clusters/status + verbs: + - get + - patch + - update +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3dataclaims + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3dataclaims/status + verbs: + - get + - patch + - update +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3datas + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3datas/status + verbs: + - get + - patch + - update +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3datatemplates + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3datatemplates/status + verbs: + - get + - patch + - update +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3machines + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3machines/status + verbs: + - get + - patch + - update +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3machinetemplates + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3remediations + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3remediations/status + verbs: + - get + - patch + - update +- apiGroups: + - ipam.metal3.io + resources: + - ipaddresses + verbs: + - get + - list + - watch +- apiGroups: + - ipam.metal3.io + resources: + - ipaddresses/status + verbs: + - get +- apiGroups: + - ipam.metal3.io + resources: + - ipclaims + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ipam.metal3.io + resources: + - ipclaims/status + verbs: + - get + - watch +- apiGroups: + - metal3.io + resources: + - baremetalhosts + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - metal3.io + resources: + - baremetalhosts/status + verbs: + - get + - patch + - update --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role @@ -5626,103 +4336,103 @@ metadata: name: ipam-manager-role namespace: test1 rules: - - apiGroups: - - "" - resources: - - events - verbs: - - create - - get - - list - - patch - - update - - watch - - apiGroups: - - "" - resources: - - secrets - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - cluster.x-k8s.io - resources: - - clusters - verbs: - - get - - list - - watch - - apiGroups: - - cluster.x-k8s.io - resources: - - clusters/status - verbs: - - get - - apiGroups: - - ipam.metal3.io - resources: - - ipaddresses - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - ipam.metal3.io - resources: - - ipaddresses/status - verbs: - - get - - patch - - update - - apiGroups: - - ipam.metal3.io - resources: - - ipclaims - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - ipam.metal3.io - resources: - - ipclaims/status - verbs: - - get - - patch - - update - - apiGroups: - - ipam.metal3.io - resources: - - ippools - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - ipam.metal3.io - resources: - - ippools/status - verbs: - - get - - patch - - update +- apiGroups: + - "" + resources: + - events + verbs: + - create + - get + - list + - patch + - update + - watch +- apiGroups: + - "" + resources: + - secrets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - cluster.x-k8s.io + resources: + - clusters + verbs: + - get + - list + - watch +- apiGroups: + - cluster.x-k8s.io + resources: + - clusters/status + verbs: + - get +- apiGroups: + - ipam.metal3.io + resources: + - ipaddresses + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ipam.metal3.io + resources: + - ipaddresses/status + verbs: + - get + - patch + - update +- apiGroups: + - ipam.metal3.io + resources: + - ipclaims + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ipam.metal3.io + resources: + - ipclaims/status + verbs: + - get + - patch + - update +- apiGroups: + - ipam.metal3.io + resources: + - ippools + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ipam.metal3.io + resources: + - ippools/status + verbs: + - get + - patch + - update --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding @@ -5736,9 +4446,9 @@ roleRef: kind: Role name: capm3-leader-election-role subjects: - - kind: ServiceAccount - name: capm3-manager - namespace: capm3-system +- kind: ServiceAccount + name: capm3-manager + namespace: capm3-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding @@ -5752,9 +4462,9 @@ roleRef: kind: Role name: ipam-leader-election-role subjects: - - kind: ServiceAccount - name: ipam-manager - namespace: capm3-system +- kind: ServiceAccount + name: ipam-manager + namespace: capm3-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding @@ -5768,9 +4478,9 @@ roleRef: kind: Role name: capm3-manager-role subjects: - - kind: ServiceAccount - name: capm3-manager - namespace: capm3-system +- kind: ServiceAccount + name: capm3-manager + namespace: capm3-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding @@ -5784,9 +4494,9 @@ roleRef: kind: Role name: ipam-manager-role subjects: - - kind: ServiceAccount - name: ipam-manager - namespace: capm3-system +- kind: ServiceAccount + name: ipam-manager + namespace: capm3-system --- apiVersion: v1 data: @@ -5807,8 +4517,8 @@ metadata: namespace: capm3-system spec: ports: - - port: 443 - targetPort: webhook-server + - port: 443 + targetPort: webhook-server selector: cluster.x-k8s.io/provider: infrastructure-metal3 --- @@ -5821,8 +4531,8 @@ metadata: namespace: capm3-system spec: ports: - - port: 443 - targetPort: ipam-webhook + - port: 443 + targetPort: ipam-webhook selector: cluster.x-k8s.io/provider: infrastructure-metal3 --- @@ -5849,53 +4559,53 @@ spec: controller-tools.k8s.io: "1.0" spec: containers: - - args: - - --namespace=test1 - - --webhook-port=9443 - command: - - /manager - env: - - name: POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - envFrom: - - configMapRef: - name: capm3-capm3fasttrack-configmap - image: quay.io/metal3-io/cluster-api-provider-metal3:main - 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 - volumeMounts: - - mountPath: /tmp/k8s-webhook-server/serving-certs - name: cert - readOnly: true + - args: + - --namespace=test1 + - --webhook-port=9443 + command: + - /manager + env: + - name: POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + envFrom: + - configMapRef: + name: capm3-capm3fasttrack-configmap + image: quay.io/metal3-io/cluster-api-provider-metal3:main + 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 + volumeMounts: + - mountPath: /tmp/k8s-webhook-server/serving-certs + name: cert + readOnly: true serviceAccountName: capm3-manager terminationGracePeriodSeconds: 10 tolerations: - - effect: NoSchedule - key: node-role.kubernetes.io/master - - effect: NoSchedule - key: node-role.kubernetes.io/control-plane + - effect: NoSchedule + key: node-role.kubernetes.io/master + - effect: NoSchedule + key: node-role.kubernetes.io/control-plane volumes: - - name: cert - secret: - defaultMode: 420 - secretName: capm3-webhook-service-cert + - name: cert + secret: + defaultMode: 420 + secretName: capm3-webhook-service-cert --- apiVersion: apps/v1 kind: Deployment @@ -5920,48 +4630,48 @@ spec: controller-tools.k8s.io: "1.0" spec: containers: - - args: - - --namespace=test1 - - --webhook-port=9443 - command: - - /manager - env: - - name: POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - image: quay.io/metal3-io/ip-address-manager:v1.1.3 - imagePullPolicy: IfNotPresent - livenessProbe: - httpGet: - path: /healthz - port: healthz - name: manager - ports: - - containerPort: 9443 - name: ipam-webhook - protocol: TCP - - containerPort: 9440 - name: healthz - protocol: TCP - readinessProbe: - httpGet: - path: /readyz - port: healthz - volumeMounts: - - mountPath: /tmp/k8s-webhook-server/serving-certs - name: cert - readOnly: true + - args: + - --namespace=test1 + - --webhook-port=9443 + command: + - /manager + env: + - name: POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + image: quay.io/metal3-io/ip-address-manager:v1.1.3 + imagePullPolicy: IfNotPresent + livenessProbe: + httpGet: + path: /healthz + port: healthz + name: manager + ports: + - containerPort: 9443 + name: ipam-webhook + protocol: TCP + - containerPort: 9440 + name: healthz + protocol: TCP + readinessProbe: + httpGet: + path: /readyz + port: healthz + volumeMounts: + - mountPath: /tmp/k8s-webhook-server/serving-certs + name: cert + readOnly: true serviceAccountName: ipam-manager terminationGracePeriodSeconds: 10 tolerations: - - effect: NoSchedule - key: node-role.kubernetes.io/master + - effect: NoSchedule + key: node-role.kubernetes.io/master volumes: - - name: cert - secret: - defaultMode: 420 - secretName: ipam-webhook-service-cert + - name: cert + secret: + defaultMode: 420 + secretName: ipam-webhook-service-cert --- apiVersion: cert-manager.io/v1 kind: Certificate @@ -5972,8 +4682,8 @@ metadata: namespace: capm3-system spec: dnsNames: - - capm3-webhook-service.capm3-system.svc - - capm3-webhook-service.capm3-system.svc.cluster.local + - capm3-webhook-service.capm3-system.svc + - capm3-webhook-service.capm3-system.svc.cluster.local issuerRef: kind: Issuer name: capm3-selfsigned-issuer @@ -5988,8 +4698,8 @@ metadata: namespace: capm3-system spec: dnsNames: - - ipam-webhook-service.capm3-system.svc - - ipam-webhook-service.capm3-system.svc.cluster.local + - ipam-webhook-service.capm3-system.svc + - ipam-webhook-service.capm3-system.svc.cluster.local issuerRef: kind: Issuer name: ipam-selfsigned-issuer @@ -6024,182 +4734,182 @@ metadata: cluster.x-k8s.io/provider: infrastructure-metal3 name: capm3-mutating-webhook-configuration webhooks: - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system - path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3cluster - failurePolicy: Fail - matchPolicy: Equivalent - name: default.metal3cluster.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3clusters - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system - path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3data - failurePolicy: Fail - matchPolicy: Equivalent - name: default.metal3data.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3datas - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system - path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3dataclaim - failurePolicy: Fail - matchPolicy: Equivalent - name: default.metal3dataclaim.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3dataclaims - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system - path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3datatemplate - failurePolicy: Fail - matchPolicy: Equivalent - name: default.metal3datatemplate.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3datatemplates - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system - path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3machine - failurePolicy: Fail - matchPolicy: Equivalent - name: default.metal3machine.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3machines - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system - path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3machinetemplate - failurePolicy: Fail - matchPolicy: Equivalent - name: default.metal3machinetemplate.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3machinetemplates - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system - path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3remediation - failurePolicy: Fail - matchPolicy: Equivalent - name: default.metal3remediation.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3remediations - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system - path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3remediationtemplate - failurePolicy: Fail - matchPolicy: Equivalent - name: default.metal3remediationtemplate.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3remediationtemplates - sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system + path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3cluster + failurePolicy: Fail + matchPolicy: Equivalent + name: default.metal3cluster.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3clusters + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system + path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3data + failurePolicy: Fail + matchPolicy: Equivalent + name: default.metal3data.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3datas + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system + path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3dataclaim + failurePolicy: Fail + matchPolicy: Equivalent + name: default.metal3dataclaim.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3dataclaims + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system + path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3datatemplate + failurePolicy: Fail + matchPolicy: Equivalent + name: default.metal3datatemplate.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3datatemplates + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system + path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3machine + failurePolicy: Fail + matchPolicy: Equivalent + name: default.metal3machine.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3machines + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system + path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3machinetemplate + failurePolicy: Fail + matchPolicy: Equivalent + name: default.metal3machinetemplate.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3machinetemplates + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system + path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3remediation + failurePolicy: Fail + matchPolicy: Equivalent + name: default.metal3remediation.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3remediations + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system + path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3remediationtemplate + failurePolicy: Fail + matchPolicy: Equivalent + name: default.metal3remediationtemplate.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3remediationtemplates + sideEffects: None --- apiVersion: admissionregistration.k8s.io/v1 kind: MutatingWebhookConfiguration @@ -6210,72 +4920,72 @@ metadata: cluster.x-k8s.io/provider: infrastructure-metal3 name: ipam-mutating-webhook-configuration webhooks: - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: ipam-webhook-service - namespace: capm3-system - path: /mutate-ipam-metal3-io-v1alpha1-ipaddress - failurePolicy: Fail - matchPolicy: Equivalent - name: default.ipaddress.ipam.metal3.io - rules: - - apiGroups: - - ipam.metal3.io - apiVersions: - - v1alpha1 - operations: - - CREATE - - UPDATE - resources: - - ipaddresses - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: ipam-webhook-service - namespace: capm3-system - path: /mutate-ipam-metal3-io-v1alpha1-ipclaim - failurePolicy: Fail - matchPolicy: Equivalent - name: default.ipclaim.ipam.metal3.io - rules: - - apiGroups: - - ipam.metal3.io - apiVersions: - - v1alpha1 - operations: - - CREATE - - UPDATE - resources: - - ipclaims - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: ipam-webhook-service - namespace: capm3-system - path: /mutate-ipam-metal3-io-v1alpha1-ippool - failurePolicy: Fail - matchPolicy: Equivalent - name: default.ippool.ipam.metal3.io - rules: - - apiGroups: - - ipam.metal3.io - apiVersions: - - v1alpha1 - operations: - - CREATE - - UPDATE - resources: - - ippools - sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: ipam-webhook-service + namespace: capm3-system + path: /mutate-ipam-metal3-io-v1alpha1-ipaddress + failurePolicy: Fail + matchPolicy: Equivalent + name: default.ipaddress.ipam.metal3.io + rules: + - apiGroups: + - ipam.metal3.io + apiVersions: + - v1alpha1 + operations: + - CREATE + - UPDATE + resources: + - ipaddresses + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: ipam-webhook-service + namespace: capm3-system + path: /mutate-ipam-metal3-io-v1alpha1-ipclaim + failurePolicy: Fail + matchPolicy: Equivalent + name: default.ipclaim.ipam.metal3.io + rules: + - apiGroups: + - ipam.metal3.io + apiVersions: + - v1alpha1 + operations: + - CREATE + - UPDATE + resources: + - ipclaims + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: ipam-webhook-service + namespace: capm3-system + path: /mutate-ipam-metal3-io-v1alpha1-ippool + failurePolicy: Fail + matchPolicy: Equivalent + name: default.ippool.ipam.metal3.io + rules: + - apiGroups: + - ipam.metal3.io + apiVersions: + - v1alpha1 + operations: + - CREATE + - UPDATE + resources: + - ippools + sideEffects: None --- apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingWebhookConfiguration @@ -6286,182 +4996,182 @@ metadata: cluster.x-k8s.io/provider: infrastructure-metal3 name: capm3-validating-webhook-configuration webhooks: - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system - path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3cluster - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.metal3cluster.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3clusters - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system - path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3data - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.metal3data.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3datas - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system - path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3dataclaim - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.metal3dataclaim.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3dataclaims - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system - path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3datatemplate - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.metal3datatemplate.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3datatemplates - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system - path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3machine - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.metal3machine.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3machines - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system - path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3machinetemplate - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.metal3machinetemplate.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3machinetemplates - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system - path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3remediation - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.metal3remediation.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3remediations - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system - path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3remediationtemplate - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.metal3remediationtemplate.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3remediationtemplates - sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system + path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3cluster + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.metal3cluster.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3clusters + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system + path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3data + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.metal3data.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3datas + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system + path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3dataclaim + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.metal3dataclaim.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3dataclaims + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system + path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3datatemplate + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.metal3datatemplate.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3datatemplates + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system + path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3machine + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.metal3machine.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3machines + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system + path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3machinetemplate + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.metal3machinetemplate.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3machinetemplates + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system + path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3remediation + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.metal3remediation.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3remediations + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system + path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3remediationtemplate + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.metal3remediationtemplate.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3remediationtemplates + sideEffects: None --- apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingWebhookConfiguration @@ -6472,69 +5182,69 @@ metadata: cluster.x-k8s.io/provider: infrastructure-metal3 name: ipam-validating-webhook-configuration webhooks: - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: ipam-webhook-service - namespace: capm3-system - path: /validate-ipam-metal3-io-v1alpha1-ipaddress - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.ipaddress.ipam.metal3.io - rules: - - apiGroups: - - ipam.metal3.io - apiVersions: - - v1alpha1 - operations: - - CREATE - - UPDATE - resources: - - ipaddresses - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: ipam-webhook-service - namespace: capm3-system - path: /validate-ipam-metal3-io-v1alpha1-ipclaim - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.ipclaim.ipam.metal3.io - rules: - - apiGroups: - - ipam.metal3.io - apiVersions: - - v1alpha1 - operations: - - CREATE - - UPDATE - resources: - - ipclaims - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: ipam-webhook-service - namespace: capm3-system - path: /validate-ipam-metal3-io-v1alpha1-ippool - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.ippool.ipam.metal3.io - rules: - - apiGroups: - - ipam.metal3.io - apiVersions: - - v1alpha1 - operations: - - CREATE - - UPDATE - resources: - - ippools - sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: ipam-webhook-service + namespace: capm3-system + path: /validate-ipam-metal3-io-v1alpha1-ipaddress + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.ipaddress.ipam.metal3.io + rules: + - apiGroups: + - ipam.metal3.io + apiVersions: + - v1alpha1 + operations: + - CREATE + - UPDATE + resources: + - ipaddresses + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: ipam-webhook-service + namespace: capm3-system + path: /validate-ipam-metal3-io-v1alpha1-ipclaim + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.ipclaim.ipam.metal3.io + rules: + - apiGroups: + - ipam.metal3.io + apiVersions: + - v1alpha1 + operations: + - CREATE + - UPDATE + resources: + - ipclaims + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: ipam-webhook-service + namespace: capm3-system + path: /validate-ipam-metal3-io-v1alpha1-ippool + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.ippool.ipam.metal3.io + rules: + - apiGroups: + - ipam.metal3.io + apiVersions: + - v1alpha1 + operations: + - CREATE + - UPDATE + resources: + - ippools + sideEffects: None diff --git a/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/controlplane-template.yaml b/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/controlplane-template.yaml index 86dcc0d2..4f91ce78 100644 --- a/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/controlplane-template.yaml +++ b/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/controlplane-template.yaml @@ -156,8 +156,7 @@ spec: users: - name: metal3 sshAuthorizedKeys: - - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCWL9EOaqZjHE86+ORcwviHMCtrlMc8c28KSXoYa2H8w4R0+LVpMg6srMA0wvrUmhVk+qhvmGRV/AwjTORKFl6BD6XLrFzRwPc6RweVKEkexZvqa/eGJ9ri5NCvZwj0RHW7NuyE+xWP3/gmhikkx0hKNPnf2uXg6SnJgPayh4UYHxO2/vdx5GBUwYEqysvJi2a4M8Lq82XXoktlqfWkooep6W5XIg42i/kkMflai49T4ZRg5U4311FcKV6eiqznmgCpdm9IymeihHXgiE8g0q2N/3jfrqgOQDIAEG/ZwBeZ87iNOdokzg/suNGVVgyuMj7yC6MMXaOrYgAxAm9Gx5g16YYZqtMf3nWw4jKjvB+KnV9aVLia/8ZBVTDvz/Jeislk0xFn3f0PXbN+aTELGfk1w+45Tkj8Z+zL3syvBHh4hgS8f5rMNMHc8vmVapbo8Vt0/FgNNuZ2AcWxcrr/8OJOu3HELSQ4xTe7S10k9eeTpc5JSpnZOuec0LrqQb5+CqU= - centos@mohammed-gentemp.openstacklocal + - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCWL9EOaqZjHE86+ORcwviHMCtrlMc8c28KSXoYa2H8w4R0+LVpMg6srMA0wvrUmhVk+qhvmGRV/AwjTORKFl6BD6XLrFzRwPc6RweVKEkexZvqa/eGJ9ri5NCvZwj0RHW7NuyE+xWP3/gmhikkx0hKNPnf2uXg6SnJgPayh4UYHxO2/vdx5GBUwYEqysvJi2a4M8Lq82XXoktlqfWkooep6W5XIg42i/kkMflai49T4ZRg5U4311FcKV6eiqznmgCpdm9IymeihHXgiE8g0q2N/3jfrqgOQDIAEG/ZwBeZ87iNOdokzg/suNGVVgyuMj7yC6MMXaOrYgAxAm9Gx5g16YYZqtMf3nWw4jKjvB+KnV9aVLia/8ZBVTDvz/Jeislk0xFn3f0PXbN+aTELGfk1w+45Tkj8Z+zL3syvBHh4hgS8f5rMNMHc8vmVapbo8Vt0/FgNNuZ2AcWxcrr/8OJOu3HELSQ4xTe7S10k9eeTpc5JSpnZOuec0LrqQb5+CqU= centos@mohammed-gentemp.openstacklocal sudo: ALL=(ALL) NOPASSWD:ALL machineTemplate: infrastructureRef: diff --git a/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/ipam-test1-v1.2.yaml b/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/ipam-test1-v1.2.yaml index 75cb7ac1..7e955b69 100644 --- a/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/ipam-test1-v1.2.yaml +++ b/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/ipam-test1-v1.2.yaml @@ -61,14 +61,10 @@ spec: description: IPAddress is the Schema for the ipaddresses API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -86,17 +82,7 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -108,8 +94,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -134,17 +119,7 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -156,8 +131,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -234,14 +208,10 @@ spec: description: IPClaim is the Schema for the ipclaims API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -255,17 +225,7 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -277,8 +237,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -292,24 +251,13 @@ spec: description: IPClaimStatus defines the observed state of IPClaim. properties: address: - description: Address is the IPAddress that was generated for this - claim. + description: Address is the IPAddress that was generated for this claim. properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -321,8 +269,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -399,14 +346,10 @@ spec: description: IPPool is the Schema for the ippools API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -414,8 +357,7 @@ spec: description: IPPoolSpec defines the desired state of IPPool. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + description: ClusterName is the name of the Cluster this object belongs to. type: string dnsServers: description: DNSServers is the list of dns servers @@ -429,15 +371,13 @@ spec: pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) type: string namePrefix: - description: namePrefix is the prefix used to generate the IPAddress - object names + description: namePrefix is the prefix used to generate the IPAddress object names minLength: 1 type: string pools: description: Pools contains the list of IP addresses pools items: - description: MetaDataIPAddress contains the info to render th ip - address. It is IP-version agnostic. + description: MetaDataIPAddress contains the info to render th ip address. It is IP-version agnostic. properties: dnsServers: description: DNSServers is the list of dns servers @@ -447,8 +387,7 @@ spec: type: string type: array end: - description: End is the last IP address that can be rendered. - It is used as a validation that the rendered IP is in bound. + description: End is the last IP address that can be rendered. It is used as a validation that the rendered IP is in bound. pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) type: string gateway: @@ -456,8 +395,7 @@ spec: pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) type: string prefix: - description: Prefix is the mask of the network as integer (max - 128) + description: Prefix is the mask of the network as integer (max 128) maximum: 128 type: integer start: @@ -465,10 +403,7 @@ spec: pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) type: string subnet: - description: Subnet is used to validate that the rendered IP - is in bounds. In case the Start value is not given, it is - derived from the subnet ip incremented by 1 (`192.168.0.1` - for `192.168.0.0/24`) + description: Subnet is used to validate that the rendered IP is in bounds. In case the Start value is not given, it is derived from the subnet ip incremented by 1 (`192.168.0.1` for `192.168.0.0/24`) pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))/([0-9]|[1-2][0-9]|3[0-2])$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8])$)) type: string type: object @@ -495,8 +430,7 @@ spec: description: IPAddress is used for validation of an IP address. pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) type: string - description: Allocations contains the map of objects and IP addresses - they have + description: Allocations contains the map of objects and IP addresses they have type: object lastUpdated: description: LastUpdated identifies when this status was last observed. diff --git a/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/kubeadm-bootstrap.yaml b/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/kubeadm-bootstrap.yaml index 1bc03d9e..d238d0eb 100644 --- a/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/kubeadm-bootstrap.yaml +++ b/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/kubeadm-bootstrap.yaml @@ -47,58 +47,42 @@ spec: description: KubeadmConfig is the Schema for the kubeadmconfigs API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: - description: KubeadmConfigSpec defines the desired state of KubeadmConfig. - Either ClusterConfiguration and InitConfiguration should be defined - or the JoinConfiguration should be defined. + description: KubeadmConfigSpec defines the desired state of KubeadmConfig. Either ClusterConfiguration and InitConfiguration should be defined or the JoinConfiguration should be defined. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration are - the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for the API server - control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative Names - for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and - ideally we would like to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that will - be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod where - hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -116,65 +100,39 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the timeout that - we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store or look - for all required certificates. NB: if not provided, this will - default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP address or - DNS name for the control plane; it can be a valid IP address - or a RFC-1123 DNS subdomain, both with optional TCP port. In - case the ControlPlaneEndpoint is not specified, the AdvertiseAddress - + BindPort are used; in case the ControlPlaneEndpoint is specified - but without a TCP port, the BindPort is used. Possible usages - are: e.g. In a cluster with more than one control plane instances, - this field should be assigned the address of the external load - balancer in front of the control plane instances. e.g. in environments - with enforced node recycling, the ControlPlaneEndpoint could - be used for assigning a stable DNS to the control plane. NB: - This value defaults to the first value in the Cluster object - status.apiEndpoints array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings for the - controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and - ideally we would like to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that will - be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod where - hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -193,40 +151,29 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on installed - in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container registry to - pull images from. if not set, the ImageRepository defined - in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for the image. - In case this value is set, kubeadm does not change automatically - the version of the above components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: description: Type defines the DNS add-on to be used type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: This value - defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect to an external - etcd cluster Local and External are mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate Authority file - used to secure etcd communication. Required if using - a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification file used - to secure etcd communication. Required if using a TLS - connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: description: Endpoints of etcd members. Required for ExternalEtcd. @@ -234,8 +181,7 @@ spec: type: string type: array keyFile: - description: KeyFile is an SSL key file used to secure - etcd communication. Required if using a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -244,40 +190,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs for configuring - the local etcd instance Local and External are mutually - exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd will place - its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments provided to - the etcd binary when run inside a static pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for the - image. In case this value is set, kubeadm does not change - automatically the version of the above components during - upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject Alternative - Names for the etcd server signing cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -289,72 +224,45 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry to pull - images from. If empty, `k8s.gcr.io` will be used by default; - in case of kubernetes version is a CI build (kubernetes version - starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` - will be used as a default for control plane components and for - kube-proxy, while `k8s.gcr.io` will be used for all the other - images. + description: ImageRepository sets the container registry to pull images from. If empty, `k8s.gcr.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `k8s.gcr.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version of the control - plane. NB: This value defaults to the Machine object spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to the Cluster - object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used by k8s services. - Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. If unset, - the API server will not allocate CIDR ranges for every node. - Defaults to a comma-delimited string of the Cluster object's - spec.clusterNetwork.services.cidrBlocks if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used by k8s services. - Defaults to a comma-delimited string of the Cluster object's - spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" - if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for the scheduler - control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and - ideally we would like to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that will - be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod where - hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -373,18 +281,14 @@ spec: type: array type: object useHyperKubeImage: - description: UseHyperKubeImage controls if hyperkube should be - used for Kubernetes components instead of their respective separate - images + description: UseHyperKubeImage controls if hyperkube should be used for Kubernetes components instead of their respective separate images type: boolean type: object diskSetup: - description: DiskSetup specifies options for the creation of partition - tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file systems to - setup. + description: Filesystems specifies the list of file systems to setup. items: description: Filesystem defines the file systems to be created. properties: @@ -392,8 +296,7 @@ spec: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options to add to the - command for creating the file system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array @@ -401,24 +304,16 @@ spec: description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system label to be - used. If set to None, no label is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not to overwrite - any existing filesystem. If true, any pre-existing file - system will be destroyed. Use with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition to use. - The valid options are: "auto|any", "auto", "any", "none", - and , where NUM is the actual partition number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, used for - Microsoft Azure that instructs cloud-init to replace a - file system of . NOTE: unless you define a label, - this requires the use of the ''any'' partition directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -427,8 +322,7 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the partitions to - setup. + description: Partitions specifies the list of the partitions to setup. items: description: Partition defines how to create and layout a partition. properties: @@ -436,21 +330,13 @@ spec: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. If it is - true, a single partition will be created for the entire - device. When layout is false, it means don't partition - or ignore existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to skip checks - and create the partition if a partition or filesystem - is found on the device. Use with caution. Default is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of partition - table. The following are supported: ''mbr'': default and - setups a MS-DOS partition table ''gpt'': setups a GPT - partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -459,30 +345,24 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed to user_data - upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files in - cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: content: description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source of content to - populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that should populate - this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's data map - for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -499,16 +379,13 @@ spec: - gzip+base64 type: string owner: - description: Owner specifies the ownership of the file, e.g. - "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk where to store - the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions to assign - to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path @@ -520,54 +397,36 @@ spec: - cloud-config type: string initConfiguration: - description: InitConfiguration along with ClusterConfiguration are - the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm init` time - and describes a set of Bootstrap Tokens to create. This information - IS NOT uploaded to the kubeadm cluster configmap, partly because - of its sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap token, stored - as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly message why - this token exists and what it's used for, so other administrators - can know its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp when this token - expires. Defaults to being set dynamically at runtime - based on the TTL. Expires and TTL are mutually exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups that this - token will authenticate as when/if used for authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing bidirectional - trust between nodes and control-planes. Used for joining - nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for this token. - Defaults to 24h. Expires and TTL are mutually exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which this token - can be used. Can by default be used for establishing bidirectional - trust, but that can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -576,30 +435,16 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint of the API - server instance that's deployed on this control plane node In - HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global endpoint - for the cluster, which then loadbalances the requests to each - individual API server. This configuration object lets you customize - what IP/DNS name and port the local API server advertises it's - accessible on. By default, kubeadm tries to auto-detect the - IP of the default interface and use that, but in case that process - fails you may set the desired value here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address for the - API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the API Server - to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer required: @@ -607,65 +452,36 @@ spec: - bindPort type: object nodeRegistration: - description: NodeRegistration holds fields that relate to registering - the new control-plane node to the cluster. When used in the - context of control plane nodes, NodeRegistration should remain - consistent across both InitConfiguration and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node API - object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the kubelet - command line via the environment file kubeadm writes at - runtime for the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X ConfigMap - Flags have higher priority when parsing. These values are - local and specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the Node - API object that will be created in this `kubeadm init` or - `kubeadm join` operation. This field is also used in the - CommonName field of the kubelet's client certificate to - the API server. Defaults to the hostname of the node if - not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API object - should be registered with. If this field is unset, i.e. - nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. If - you don''t want to taint your control-plane node, set this - field to an empty slice, i.e. `taints: {}` in the YAML file. - This field is solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has the - "effect" on any pod that does not tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on pods - that do not tolerate the taint. Valid effects are - NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied to - a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the taint - key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -675,37 +491,25 @@ spec: type: object type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration for the - join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate authority - used to secure comunications between node and control-plane. - Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when - there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control plane - instance to be deployed on the joining node. If nil, no additional - control plane instance will be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint of the - API server instance to be deployed on this node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address for - the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the API - Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer required: @@ -714,57 +518,34 @@ spec: type: object type: object discovery: - description: 'Discovery specifies the options for the kubelet - to use during the TLS Bootstrap process TODO: revisit when there - is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the options for - bootstrap token based discovery BootstrapToken and File - are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or domain name - to the API server from which info will be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set of public key - pins to verify when token-based discovery is used. The - root CA found during discovery must match one of these - values. Specifying an empty set disables root CA pinning, - which can be unsafe. Each hash is specified as ":", - where the only currently supported type is "sha256". - This is a hex-encoded SHA-256 hash of the Subject Public - Key Info (SPKI) object in DER-encoded ASN.1. These hashes - can be calculated using, for example, OpenSSL: openssl - x509 -pubkey -in ca.crt openssl rsa -pubin -outform - der 2>&/dev/null | openssl dgst -sha256 -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate cluster - information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since other - nodes can impersonate the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token - unsafeSkipCAVerification type: object file: - description: File is used to specify a file or URL to a kubeconfig - file from which to load cluster information BootstrapToken - and File are mutually exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify the actual - file path or URL to the kubeconfig file from which to - load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -773,80 +554,43 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: 'TLSBootstrapToken is a token used for TLS bootstrapping. - If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, - but can be overridden. If .File is set, this field **must - be set** in case the KubeConfigFile does not contain any - other authentication information TODO: revisit when there - is defaulting from k/k' + description: 'TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information TODO: revisit when there is defaulting from k/k' type: string type: object kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate to registering - the new control-plane node to the cluster. When used in the - context of control plane nodes, NodeRegistration should remain - consistent across both InitConfiguration and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node API - object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the kubelet - command line via the environment file kubeadm writes at - runtime for the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X ConfigMap - Flags have higher priority when parsing. These values are - local and specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the Node - API object that will be created in this `kubeadm init` or - `kubeadm join` operation. This field is also used in the - CommonName field of the kubelet's client certificate to - the API server. Defaults to the hostname of the node if - not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API object - should be registered with. If this field is unset, i.e. - nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. If - you don''t want to taint your control-plane node, set this - field to an empty slice, i.e. `taints: {}` in the YAML file. - This field is solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has the - "effect" on any pod that does not tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on pods - that do not tolerate the taint. Valid effects are - NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied to - a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the taint - key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -876,25 +620,17 @@ spec: type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands to run after - kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands to run before - kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic kubeadm command - with a shell script with retries for joins. \n This is meant to - be an experimental temporary workaround on some environments where - joins fail due to timing (and other issues). The long term goal - is to add retries to kubeadm proper and use that functionality. - \n This will add about 40KB to userdata \n For more information, - refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." type: boolean users: description: Users specifies extra users to add @@ -905,20 +641,16 @@ spec: description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups for the - user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory to use for - the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark the user as - inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password login should - be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name @@ -927,15 +659,13 @@ spec: description: Passwd specifies a hashed password for the user type: string primaryGroup: - description: PrimaryGroup specifies the primary group for the - user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list of ssh authorized - keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array @@ -947,8 +677,7 @@ spec: type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log level verbosity. - It overrides the `--v` flag in kubeadm commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object @@ -956,48 +685,32 @@ spec: description: KubeadmConfigStatus defines the observed state of KubeadmConfig. properties: bootstrapData: - description: "BootstrapData will be a cloud-init script for now. \n - Deprecated: Switch to DataSecretName." + description: "BootstrapData will be a cloud-init script for now. \n Deprecated: Switch to DataSecretName." format: byte type: string conditions: description: Conditions defines current service state of the KubeadmConfig. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -1005,8 +718,7 @@ spec: type: object type: array dataSecretName: - description: DataSecretName is the name of the secret that stores - the bootstrap data script. + description: DataSecretName is the name of the secret that stores the bootstrap data script. type: string failureMessage: description: FailureMessage will be set on non-retryable errors @@ -1015,13 +727,11 @@ spec: description: FailureReason will be set on non-retryable errors type: string observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + description: ObservedGeneration is the latest generation observed by the controller. format: int64 type: integer ready: - description: Ready indicates the BootstrapData field is ready to be - consumed + description: Ready indicates the BootstrapData field is ready to be consumed type: boolean type: object type: object @@ -1040,58 +750,42 @@ spec: description: KubeadmConfig is the Schema for the kubeadmconfigs API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: - description: KubeadmConfigSpec defines the desired state of KubeadmConfig. - Either ClusterConfiguration and InitConfiguration should be defined - or the JoinConfiguration should be defined. + description: KubeadmConfigSpec defines the desired state of KubeadmConfig. Either ClusterConfiguration and InitConfiguration should be defined or the JoinConfiguration should be defined. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration are - the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for the API server - control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative Names - for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and - ideally we would like to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that will - be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod where - hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -1109,65 +803,39 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the timeout that - we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store or look - for all required certificates. NB: if not provided, this will - default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP address or - DNS name for the control plane; it can be a valid IP address - or a RFC-1123 DNS subdomain, both with optional TCP port. In - case the ControlPlaneEndpoint is not specified, the AdvertiseAddress - + BindPort are used; in case the ControlPlaneEndpoint is specified - but without a TCP port, the BindPort is used. Possible usages - are: e.g. In a cluster with more than one control plane instances, - this field should be assigned the address of the external load - balancer in front of the control plane instances. e.g. in environments - with enforced node recycling, the ControlPlaneEndpoint could - be used for assigning a stable DNS to the control plane. NB: - This value defaults to the first value in the Cluster object - status.apiEndpoints array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings for the - controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and - ideally we would like to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that will - be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod where - hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -1186,37 +854,26 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on installed - in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container registry to - pull images from. if not set, the ImageRepository defined - in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for the image. - In case this value is set, kubeadm does not change automatically - the version of the above components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: This value - defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect to an external - etcd cluster Local and External are mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate Authority file - used to secure etcd communication. Required if using - a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification file used - to secure etcd communication. Required if using a TLS - connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: description: Endpoints of etcd members. Required for ExternalEtcd. @@ -1224,8 +881,7 @@ spec: type: string type: array keyFile: - description: KeyFile is an SSL key file used to secure - etcd communication. Required if using a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -1234,40 +890,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs for configuring - the local etcd instance Local and External are mutually - exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd will place - its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments provided to - the etcd binary when run inside a static pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for the - image. In case this value is set, kubeadm does not change - automatically the version of the above components during - upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject Alternative - Names for the etcd server signing cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -1279,72 +924,45 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry to pull - images from. If empty, `registry.k8s.io` will be used by default; - in case of kubernetes version is a CI build (kubernetes version - starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` - will be used as a default for control plane components and for - kube-proxy, while `registry.k8s.io` will be used for all the - other images. + description: ImageRepository sets the container registry to pull images from. If empty, `registry.k8s.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `registry.k8s.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version of the control - plane. NB: This value defaults to the Machine object spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to the Cluster - object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used by k8s services. - Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. If unset, - the API server will not allocate CIDR ranges for every node. - Defaults to a comma-delimited string of the Cluster object's - spec.clusterNetwork.services.cidrBlocks if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used by k8s services. - Defaults to a comma-delimited string of the Cluster object's - spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" - if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for the scheduler - control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and - ideally we would like to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that will - be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod where - hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -1364,12 +982,10 @@ spec: type: object type: object diskSetup: - description: DiskSetup specifies options for the creation of partition - tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file systems to - setup. + description: Filesystems specifies the list of file systems to setup. items: description: Filesystem defines the file systems to be created. properties: @@ -1377,8 +993,7 @@ spec: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options to add to the - command for creating the file system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array @@ -1386,24 +1001,16 @@ spec: description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system label to be - used. If set to None, no label is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not to overwrite - any existing filesystem. If true, any pre-existing file - system will be destroyed. Use with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition to use. - The valid options are: "auto|any", "auto", "any", "none", - and , where NUM is the actual partition number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, used for - Microsoft Azure that instructs cloud-init to replace a - file system of . NOTE: unless you define a label, - this requires the use of the ''any'' partition directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -1412,8 +1019,7 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the partitions to - setup. + description: Partitions specifies the list of the partitions to setup. items: description: Partition defines how to create and layout a partition. properties: @@ -1421,21 +1027,13 @@ spec: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. If it is - true, a single partition will be created for the entire - device. When layout is false, it means don't partition - or ignore existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to skip checks - and create the partition if a partition or filesystem - is found on the device. Use with caution. Default is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of partition - table. The following are supported: ''mbr'': default and - setups a MS-DOS partition table ''gpt'': setups a GPT - partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -1444,30 +1042,24 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed to user_data - upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files in - cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: content: description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source of content to - populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that should populate - this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's data map - for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -1484,16 +1076,13 @@ spec: - gzip+base64 type: string owner: - description: Owner specifies the ownership of the file, e.g. - "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk where to store - the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions to assign - to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path @@ -1505,54 +1094,36 @@ spec: - cloud-config type: string initConfiguration: - description: InitConfiguration along with ClusterConfiguration are - the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm init` time - and describes a set of Bootstrap Tokens to create. This information - IS NOT uploaded to the kubeadm cluster configmap, partly because - of its sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap token, stored - as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly message why - this token exists and what it's used for, so other administrators - can know its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp when this token - expires. Defaults to being set dynamically at runtime - based on the TTL. Expires and TTL are mutually exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups that this - token will authenticate as when/if used for authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing bidirectional - trust between nodes and control-planes. Used for joining - nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for this token. - Defaults to 24h. Expires and TTL are mutually exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which this token - can be used. Can by default be used for establishing bidirectional - trust, but that can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -1561,99 +1132,55 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint of the API - server instance that's deployed on this control plane node In - HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global endpoint - for the cluster, which then loadbalances the requests to each - individual API server. This configuration object lets you customize - what IP/DNS name and port the local API server advertises it's - accessible on. By default, kubeadm tries to auto-detect the - IP of the default interface and use that, but in case that process - fails you may set the desired value here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address for the - API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the API Server - to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object nodeRegistration: - description: NodeRegistration holds fields that relate to registering - the new control-plane node to the cluster. When used in the - context of control plane nodes, NodeRegistration should remain - consistent across both InitConfiguration and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node API - object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice of pre-flight - errors to be ignored when the current node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the kubelet - command line via the environment file kubeadm writes at - runtime for the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X ConfigMap - Flags have higher priority when parsing. These values are - local and specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the Node - API object that will be created in this `kubeadm init` or - `kubeadm join` operation. This field is also used in the - CommonName field of the kubelet's client certificate to - the API server. Defaults to the hostname of the node if - not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API object - should be registered with. If this field is unset, i.e. - nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. If - you don''t want to taint your control-plane node, set this - field to an empty slice, i.e. `taints: {}` in the YAML file. - This field is solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has the - "effect" on any pod that does not tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on pods - that do not tolerate the taint. Valid effects are - NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied to - a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the taint - key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -1663,92 +1190,57 @@ spec: type: object type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration for the - join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate authority - used to secure comunications between node and control-plane. - Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when - there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control plane - instance to be deployed on the joining node. If nil, no additional - control plane instance will be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint of the - API server instance to be deployed on this node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address for - the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the API - Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object type: object discovery: - description: 'Discovery specifies the options for the kubelet - to use during the TLS Bootstrap process TODO: revisit when there - is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the options for - bootstrap token based discovery BootstrapToken and File - are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or domain name - to the API server from which info will be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set of public key - pins to verify when token-based discovery is used. The - root CA found during discovery must match one of these - values. Specifying an empty set disables root CA pinning, - which can be unsafe. Each hash is specified as ":", - where the only currently supported type is "sha256". - This is a hex-encoded SHA-256 hash of the Subject Public - Key Info (SPKI) object in DER-encoded ASN.1. These hashes - can be calculated using, for example, OpenSSL: openssl - x509 -pubkey -in ca.crt openssl rsa -pubin -outform - der 2>&/dev/null | openssl dgst -sha256 -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate cluster - information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since other - nodes can impersonate the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token type: object file: - description: File is used to specify a file or URL to a kubeconfig - file from which to load cluster information BootstrapToken - and File are mutually exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify the actual - file path or URL to the kubeconfig file from which to - load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -1757,85 +1249,48 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: TLSBootstrapToken is a token used for TLS bootstrapping. - If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, - but can be overridden. If .File is set, this field **must - be set** in case the KubeConfigFile does not contain any - other authentication information + description: TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information type: string type: object kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate to registering - the new control-plane node to the cluster. When used in the - context of control plane nodes, NodeRegistration should remain - consistent across both InitConfiguration and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node API - object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice of pre-flight - errors to be ignored when the current node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the kubelet - command line via the environment file kubeadm writes at - runtime for the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X ConfigMap - Flags have higher priority when parsing. These values are - local and specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the Node - API object that will be created in this `kubeadm init` or - `kubeadm join` operation. This field is also used in the - CommonName field of the kubelet's client certificate to - the API server. Defaults to the hostname of the node if - not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API object - should be registered with. If this field is unset, i.e. - nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. If - you don''t want to taint your control-plane node, set this - field to an empty slice, i.e. `taints: {}` in the YAML file. - This field is solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has the - "effect" on any pod that does not tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on pods - that do not tolerate the taint. Valid effects are - NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied to - a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the taint - key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -1865,25 +1320,17 @@ spec: type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands to run after - kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands to run before - kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic kubeadm command - with a shell script with retries for joins. \n This is meant to - be an experimental temporary workaround on some environments where - joins fail due to timing (and other issues). The long term goal - is to add retries to kubeadm proper and use that functionality. - \n This will add about 40KB to userdata \n For more information, - refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." type: boolean users: description: Users specifies extra users to add @@ -1894,20 +1341,16 @@ spec: description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups for the - user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory to use for - the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark the user as - inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password login should - be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name @@ -1916,15 +1359,13 @@ spec: description: Passwd specifies a hashed password for the user type: string primaryGroup: - description: PrimaryGroup specifies the primary group for the - user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list of ssh authorized - keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array @@ -1936,8 +1377,7 @@ spec: type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log level verbosity. - It overrides the `--v` flag in kubeadm commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object @@ -1947,41 +1387,26 @@ spec: conditions: description: Conditions defines current service state of the KubeadmConfig. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -1989,8 +1414,7 @@ spec: type: object type: array dataSecretName: - description: DataSecretName is the name of the secret that stores - the bootstrap data script. + description: DataSecretName is the name of the secret that stores the bootstrap data script. type: string failureMessage: description: FailureMessage will be set on non-retryable errors @@ -1999,13 +1423,11 @@ spec: description: FailureReason will be set on non-retryable errors type: string observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + description: ObservedGeneration is the latest generation observed by the controller. format: int64 type: integer ready: - description: Ready indicates the BootstrapData field is ready to be - consumed + description: Ready indicates the BootstrapData field is ready to be consumed type: boolean type: object type: object @@ -2028,58 +1450,42 @@ spec: description: KubeadmConfig is the Schema for the kubeadmconfigs API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: - description: KubeadmConfigSpec defines the desired state of KubeadmConfig. - Either ClusterConfiguration and InitConfiguration should be defined - or the JoinConfiguration should be defined. + description: KubeadmConfigSpec defines the desired state of KubeadmConfig. Either ClusterConfiguration and InitConfiguration should be defined or the JoinConfiguration should be defined. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration are - the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for the API server - control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative Names - for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and - ideally we would like to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that will - be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod where - hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -2097,65 +1503,39 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the timeout that - we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store or look - for all required certificates. NB: if not provided, this will - default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP address or - DNS name for the control plane; it can be a valid IP address - or a RFC-1123 DNS subdomain, both with optional TCP port. In - case the ControlPlaneEndpoint is not specified, the AdvertiseAddress - + BindPort are used; in case the ControlPlaneEndpoint is specified - but without a TCP port, the BindPort is used. Possible usages - are: e.g. In a cluster with more than one control plane instances, - this field should be assigned the address of the external load - balancer in front of the control plane instances. e.g. in environments - with enforced node recycling, the ControlPlaneEndpoint could - be used for assigning a stable DNS to the control plane. NB: - This value defaults to the first value in the Cluster object - status.apiEndpoints array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings for the - controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and - ideally we would like to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that will - be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod where - hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -2174,37 +1554,26 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on installed - in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container registry to - pull images from. if not set, the ImageRepository defined - in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for the image. - In case this value is set, kubeadm does not change automatically - the version of the above components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: This value - defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect to an external - etcd cluster Local and External are mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate Authority file - used to secure etcd communication. Required if using - a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification file used - to secure etcd communication. Required if using a TLS - connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: description: Endpoints of etcd members. Required for ExternalEtcd. @@ -2212,8 +1581,7 @@ spec: type: string type: array keyFile: - description: KeyFile is an SSL key file used to secure - etcd communication. Required if using a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -2222,40 +1590,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs for configuring - the local etcd instance Local and External are mutually - exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd will place - its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments provided to - the etcd binary when run inside a static pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for the - image. In case this value is set, kubeadm does not change - automatically the version of the above components during - upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject Alternative - Names for the etcd server signing cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -2267,72 +1624,45 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry to pull - images from. If empty, `registry.k8s.io` will be used by default; - in case of kubernetes version is a CI build (kubernetes version - starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` - will be used as a default for control plane components and for - kube-proxy, while `registry.k8s.io` will be used for all the - other images. + description: ImageRepository sets the container registry to pull images from. If empty, `registry.k8s.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `registry.k8s.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version of the control - plane. NB: This value defaults to the Machine object spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to the Cluster - object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used by k8s services. - Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. If unset, - the API server will not allocate CIDR ranges for every node. - Defaults to a comma-delimited string of the Cluster object's - spec.clusterNetwork.services.cidrBlocks if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used by k8s services. - Defaults to a comma-delimited string of the Cluster object's - spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" - if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for the scheduler - control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and - ideally we would like to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that will - be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod where - hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -2352,12 +1682,10 @@ spec: type: object type: object diskSetup: - description: DiskSetup specifies options for the creation of partition - tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file systems to - setup. + description: Filesystems specifies the list of file systems to setup. items: description: Filesystem defines the file systems to be created. properties: @@ -2365,8 +1693,7 @@ spec: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options to add to the - command for creating the file system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array @@ -2374,24 +1701,16 @@ spec: description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system label to be - used. If set to None, no label is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not to overwrite - any existing filesystem. If true, any pre-existing file - system will be destroyed. Use with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition to use. - The valid options are: "auto|any", "auto", "any", "none", - and , where NUM is the actual partition number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, used for - Microsoft Azure that instructs cloud-init to replace a - file system of . NOTE: unless you define a label, - this requires the use of the ''any'' partition directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -2400,8 +1719,7 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the partitions to - setup. + description: Partitions specifies the list of the partitions to setup. items: description: Partition defines how to create and layout a partition. properties: @@ -2409,21 +1727,13 @@ spec: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. If it is - true, a single partition will be created for the entire - device. When layout is false, it means don't partition - or ignore existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to skip checks - and create the partition if a partition or filesystem - is found on the device. Use with caution. Default is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of partition - table. The following are supported: ''mbr'': default and - setups a MS-DOS partition table ''gpt'': setups a GPT - partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -2432,34 +1742,27 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed to user_data - upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files in - cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: append: - description: Append specifies whether to append Content to existing - file if Path exists. + description: Append specifies whether to append Content to existing file if Path exists. type: boolean content: description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source of content to - populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that should populate - this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's data map - for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -2476,16 +1779,13 @@ spec: - gzip+base64 type: string owner: - description: Owner specifies the ownership of the file, e.g. - "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk where to store - the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions to assign - to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path @@ -2504,66 +1804,44 @@ spec: description: ContainerLinuxConfig contains CLC specific configuration. properties: additionalConfig: - description: "AdditionalConfig contains additional configuration - to be merged with the Ignition configuration generated by - the bootstrapper controller. More info: https://coreos.github.io/ignition/operator-notes/#config-merging - \n The data format is documented here: https://kinvolk.io/docs/flatcar-container-linux/latest/provisioning/cl-config/" + description: "AdditionalConfig contains additional configuration to be merged with the Ignition configuration generated by the bootstrapper controller. More info: https://coreos.github.io/ignition/operator-notes/#config-merging \n The data format is documented here: https://kinvolk.io/docs/flatcar-container-linux/latest/provisioning/cl-config/" type: string strict: - description: Strict controls if AdditionalConfig should be - strictly parsed. If so, warnings are treated as errors. + description: Strict controls if AdditionalConfig should be strictly parsed. If so, warnings are treated as errors. type: boolean type: object type: object initConfiguration: - description: InitConfiguration along with ClusterConfiguration are - the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm init` time - and describes a set of Bootstrap Tokens to create. This information - IS NOT uploaded to the kubeadm cluster configmap, partly because - of its sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap token, stored - as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly message why - this token exists and what it's used for, so other administrators - can know its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp when this token - expires. Defaults to being set dynamically at runtime - based on the TTL. Expires and TTL are mutually exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups that this - token will authenticate as when/if used for authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing bidirectional - trust between nodes and control-planes. Used for joining - nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for this token. - Defaults to 24h. Expires and TTL are mutually exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which this token - can be used. Can by default be used for establishing bidirectional - trust, but that can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -2572,99 +1850,55 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint of the API - server instance that's deployed on this control plane node In - HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global endpoint - for the cluster, which then loadbalances the requests to each - individual API server. This configuration object lets you customize - what IP/DNS name and port the local API server advertises it's - accessible on. By default, kubeadm tries to auto-detect the - IP of the default interface and use that, but in case that process - fails you may set the desired value here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address for the - API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the API Server - to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object nodeRegistration: - description: NodeRegistration holds fields that relate to registering - the new control-plane node to the cluster. When used in the - context of control plane nodes, NodeRegistration should remain - consistent across both InitConfiguration and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node API - object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice of pre-flight - errors to be ignored when the current node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the kubelet - command line via the environment file kubeadm writes at - runtime for the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X ConfigMap - Flags have higher priority when parsing. These values are - local and specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the Node - API object that will be created in this `kubeadm init` or - `kubeadm join` operation. This field is also used in the - CommonName field of the kubelet's client certificate to - the API server. Defaults to the hostname of the node if - not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API object - should be registered with. If this field is unset, i.e. - nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. If - you don''t want to taint your control-plane node, set this - field to an empty slice, i.e. `taints: []` in the YAML file. - This field is solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: []` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has the - "effect" on any pod that does not tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on pods - that do not tolerate the taint. Valid effects are - NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied to - a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the taint - key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -2673,122 +1907,70 @@ spec: type: array type: object patches: - description: Patches contains options related to applying patches - to components deployed by kubeadm during "kubeadm init". The - minimum kubernetes version needed to support Patches is v1.22 + description: Patches contains options related to applying patches to components deployed by kubeadm during "kubeadm init". The minimum kubernetes version needed to support Patches is v1.22 properties: directory: - description: Directory is a path to a directory that contains - files named "target[suffix][+patchtype].extension". For - example, "kube-apiserver0+merge.yaml" or just "etcd.json". - "target" can be one of "kube-apiserver", "kube-controller-manager", - "kube-scheduler", "etcd". "patchtype" can be one of "strategic" - "merge" or "json" and they match the patch formats supported - by kubectl. The default "patchtype" is "strategic". "extension" - must be either "json" or "yaml". "suffix" is an optional - string that can be used to determine which patches are applied - first alpha-numerically. These files can be written into - the target directory via KubeadmConfig.Files which specifies - additional files to be created on the machine, either with - content inline or by referencing a secret. + description: Directory is a path to a directory that contains files named "target[suffix][+patchtype].extension". For example, "kube-apiserver0+merge.yaml" or just "etcd.json". "target" can be one of "kube-apiserver", "kube-controller-manager", "kube-scheduler", "etcd". "patchtype" can be one of "strategic" "merge" or "json" and they match the patch formats supported by kubectl. The default "patchtype" is "strategic". "extension" must be either "json" or "yaml". "suffix" is an optional string that can be used to determine which patches are applied first alpha-numerically. These files can be written into the target directory via KubeadmConfig.Files which specifies additional files to be created on the machine, either with content inline or by referencing a secret. type: string type: object skipPhases: - description: SkipPhases is a list of phases to skip during command - execution. The list of phases can be obtained with the "kubeadm - init --help" command. This option takes effect only on Kubernetes - >=1.22.0. + description: SkipPhases is a list of phases to skip during command execution. The list of phases can be obtained with the "kubeadm init --help" command. This option takes effect only on Kubernetes >=1.22.0. items: type: string type: array type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration for the - join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate authority - used to secure comunications between node and control-plane. - Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when - there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control plane - instance to be deployed on the joining node. If nil, no additional - control plane instance will be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint of the - API server instance to be deployed on this node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address for - the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the API - Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object type: object discovery: - description: 'Discovery specifies the options for the kubelet - to use during the TLS Bootstrap process TODO: revisit when there - is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the options for - bootstrap token based discovery BootstrapToken and File - are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or domain name - to the API server from which info will be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set of public key - pins to verify when token-based discovery is used. The - root CA found during discovery must match one of these - values. Specifying an empty set disables root CA pinning, - which can be unsafe. Each hash is specified as ":", - where the only currently supported type is "sha256". - This is a hex-encoded SHA-256 hash of the Subject Public - Key Info (SPKI) object in DER-encoded ASN.1. These hashes - can be calculated using, for example, OpenSSL: openssl - x509 -pubkey -in ca.crt openssl rsa -pubin -outform - der 2>&/dev/null | openssl dgst -sha256 -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate cluster - information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since other - nodes can impersonate the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token type: object file: - description: File is used to specify a file or URL to a kubeconfig - file from which to load cluster information BootstrapToken - and File are mutually exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify the actual - file path or URL to the kubeconfig file from which to - load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -2797,85 +1979,48 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: TLSBootstrapToken is a token used for TLS bootstrapping. - If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, - but can be overridden. If .File is set, this field **must - be set** in case the KubeConfigFile does not contain any - other authentication information + description: TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information type: string type: object kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate to registering - the new control-plane node to the cluster. When used in the - context of control plane nodes, NodeRegistration should remain - consistent across both InitConfiguration and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node API - object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice of pre-flight - errors to be ignored when the current node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the kubelet - command line via the environment file kubeadm writes at - runtime for the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X ConfigMap - Flags have higher priority when parsing. These values are - local and specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the Node - API object that will be created in this `kubeadm init` or - `kubeadm join` operation. This field is also used in the - CommonName field of the kubelet's client certificate to - the API server. Defaults to the hostname of the node if - not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API object - should be registered with. If this field is unset, i.e. - nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. If - you don''t want to taint your control-plane node, set this - field to an empty slice, i.e. `taints: []` in the YAML file. - This field is solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: []` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has the - "effect" on any pod that does not tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on pods - that do not tolerate the taint. Valid effects are - NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied to - a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the taint - key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -2884,31 +2029,14 @@ spec: type: array type: object patches: - description: Patches contains options related to applying patches - to components deployed by kubeadm during "kubeadm join". The - minimum kubernetes version needed to support Patches is v1.22 + description: Patches contains options related to applying patches to components deployed by kubeadm during "kubeadm join". The minimum kubernetes version needed to support Patches is v1.22 properties: directory: - description: Directory is a path to a directory that contains - files named "target[suffix][+patchtype].extension". For - example, "kube-apiserver0+merge.yaml" or just "etcd.json". - "target" can be one of "kube-apiserver", "kube-controller-manager", - "kube-scheduler", "etcd". "patchtype" can be one of "strategic" - "merge" or "json" and they match the patch formats supported - by kubectl. The default "patchtype" is "strategic". "extension" - must be either "json" or "yaml". "suffix" is an optional - string that can be used to determine which patches are applied - first alpha-numerically. These files can be written into - the target directory via KubeadmConfig.Files which specifies - additional files to be created on the machine, either with - content inline or by referencing a secret. + description: Directory is a path to a directory that contains files named "target[suffix][+patchtype].extension". For example, "kube-apiserver0+merge.yaml" or just "etcd.json". "target" can be one of "kube-apiserver", "kube-controller-manager", "kube-scheduler", "etcd". "patchtype" can be one of "strategic" "merge" or "json" and they match the patch formats supported by kubectl. The default "patchtype" is "strategic". "extension" must be either "json" or "yaml". "suffix" is an optional string that can be used to determine which patches are applied first alpha-numerically. These files can be written into the target directory via KubeadmConfig.Files which specifies additional files to be created on the machine, either with content inline or by referencing a secret. type: string type: object skipPhases: - description: SkipPhases is a list of phases to skip during command - execution. The list of phases can be obtained with the "kubeadm - init --help" command. This option takes effect only on Kubernetes - >=1.22.0. + description: SkipPhases is a list of phases to skip during command execution. The list of phases can be obtained with the "kubeadm init --help" command. This option takes effect only on Kubernetes >=1.22.0. items: type: string type: array @@ -2934,27 +2062,17 @@ spec: type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands to run after - kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands to run before - kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic kubeadm command - with a shell script with retries for joins. \n This is meant to - be an experimental temporary workaround on some environments where - joins fail due to timing (and other issues). The long term goal - is to add retries to kubeadm proper and use that functionality. - \n This will add about 40KB to userdata \n For more information, - refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055. - Deprecated: This experimental fix is no longer needed and this field - will be removed in a future release." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055. Deprecated: This experimental fix is no longer needed and this field will be removed in a future release." type: boolean users: description: Users specifies extra users to add @@ -2965,20 +2083,16 @@ spec: description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups for the - user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory to use for - the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark the user as - inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password login should - be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name @@ -2987,20 +2101,16 @@ spec: description: Passwd specifies a hashed password for the user type: string passwdFrom: - description: PasswdFrom is a referenced source of passwd to - populate the passwd. + description: PasswdFrom is a referenced source of passwd to populate the passwd. properties: secret: - description: Secret represents a secret that should populate - this password. + description: Secret represents a secret that should populate this password. properties: key: - description: Key is the key in the secret's data map - for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -3010,15 +2120,13 @@ spec: - secret type: object primaryGroup: - description: PrimaryGroup specifies the primary group for the - user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list of ssh authorized - keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array @@ -3030,8 +2138,7 @@ spec: type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log level verbosity. - It overrides the `--v` flag in kubeadm commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object @@ -3041,41 +2148,26 @@ spec: conditions: description: Conditions defines current service state of the KubeadmConfig. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -3084,8 +2176,7 @@ spec: type: object type: array dataSecretName: - description: DataSecretName is the name of the secret that stores - the bootstrap data script. + description: DataSecretName is the name of the secret that stores the bootstrap data script. type: string failureMessage: description: FailureMessage will be set on non-retryable errors @@ -3094,13 +2185,11 @@ spec: description: FailureReason will be set on non-retryable errors type: string observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + description: ObservedGeneration is the latest generation observed by the controller. format: int64 type: integer ready: - description: Ready indicates the BootstrapData field is ready to be - consumed + description: Ready indicates the BootstrapData field is ready to be consumed type: boolean type: object type: object @@ -3147,18 +2236,13 @@ spec: - name: v1alpha3 schema: openAPIV3Schema: - description: KubeadmConfigTemplate is the Schema for the kubeadmconfigtemplates - API. + description: KubeadmConfigTemplate is the Schema for the kubeadmconfigtemplates API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -3169,57 +2253,43 @@ spec: description: KubeadmConfigTemplateResource defines the Template structure. properties: spec: - description: KubeadmConfigSpec defines the desired state of KubeadmConfig. - Either ClusterConfiguration and InitConfiguration should be - defined or the JoinConfiguration should be defined. + description: KubeadmConfigSpec defines the desired state of KubeadmConfig. Either ClusterConfiguration and InitConfiguration should be defined or the JoinConfiguration should be defined. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration - are the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for the - API server control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative - Names for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This - is temporary and ideally we would like to switch - all components to use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host - that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the - pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the pod - template. + description: Name of the volume inside the pod template. type: string pathType: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -3228,78 +2298,48 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the timeout - that we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal value, - and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store - or look for all required certificates. NB: if not provided, - this will default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP address - or DNS name for the control plane; it can be a valid - IP address or a RFC-1123 DNS subdomain, both with optional - TCP port. In case the ControlPlaneEndpoint is not specified, - the AdvertiseAddress + BindPort are used; in case the - ControlPlaneEndpoint is specified but without a TCP - port, the BindPort is used. Possible usages are: e.g. - In a cluster with more than one control plane instances, - this field should be assigned the address of the external - load balancer in front of the control plane instances. - e.g. in environments with enforced node recycling, - the ControlPlaneEndpoint could be used for assigning - a stable DNS to the control plane. NB: This value defaults - to the first value in the Cluster object status.apiEndpoints - array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings - for the controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This - is temporary and ideally we would like to switch - all components to use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host - that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the - pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the pod - template. + description: Name of the volume inside the pod template. type: string pathType: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -3309,53 +2349,37 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on - installed in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for - the image. In case this value is set, kubeadm does - not change automatically the version of the above - components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: description: Type defines the DNS add-on to be used type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: This - value defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect to - an external etcd cluster Local and External are - mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate Authority - file used to secure etcd communication. Required - if using a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification - file used to secure etcd communication. Required - if using a TLS connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: - description: Endpoints of etcd members. Required - for ExternalEtcd. + description: Endpoints of etcd members. Required for ExternalEtcd. items: type: string type: array keyFile: - description: KeyFile is an SSL key file used to - secure etcd communication. Required if using - a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -3364,43 +2388,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs for - configuring the local etcd instance Local and External - are mutually exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd will - place its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments provided - to the etcd binary when run inside a static - pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container - registry to pull images from. if not set, the - ImageRepository defined in ClusterConfiguration - will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag - for the image. In case this value is set, kubeadm - does not change automatically the version of - the above components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject - Alternative Names for the etcd server signing - cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -3412,85 +2422,54 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. If empty, `k8s.gcr.io` will be - used by default; in case of kubernetes version is a - CI build (kubernetes version starts with `ci/` or `ci-cross/`) - `gcr.io/k8s-staging-ci-images` will be used as a default - for control plane components and for kube-proxy, while - `k8s.gcr.io` will be used for all the other images. + description: ImageRepository sets the container registry to pull images from. If empty, `k8s.gcr.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `k8s.gcr.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing the - REST resource this object represents. Servers may infer - this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version - of the control plane. NB: This value defaults to the - Machine object spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to - the Cluster object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used by k8s - services. Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. - If unset, the API server will not allocate CIDR - ranges for every node. Defaults to a comma-delimited - string of the Cluster object's spec.clusterNetwork.services.cidrBlocks - if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used by k8s - services. Defaults to a comma-delimited string of - the Cluster object's spec.clusterNetwork.pods.cidrBlocks, - or to "10.96.0.0/12" if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for the - scheduler control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This - is temporary and ideally we would like to switch - all components to use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host - that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the - pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the pod - template. + description: Name of the volume inside the pod template. type: string pathType: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -3500,57 +2479,39 @@ spec: type: array type: object useHyperKubeImage: - description: UseHyperKubeImage controls if hyperkube should - be used for Kubernetes components instead of their respective - separate images + description: UseHyperKubeImage controls if hyperkube should be used for Kubernetes components instead of their respective separate images type: boolean type: object diskSetup: - description: DiskSetup specifies options for the creation - of partition tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file systems - to setup. + description: Filesystems specifies the list of file systems to setup. items: - description: Filesystem defines the file systems to - be created. + description: Filesystem defines the file systems to be created. properties: device: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options to - add to the command for creating the file system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array filesystem: - description: Filesystem specifies the file system - type. + description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system label - to be used. If set to None, no label is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not to - overwrite any existing filesystem. If true, any - pre-existing file system will be destroyed. Use - with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition - to use. The valid options are: "auto|any", "auto", - "any", "none", and , where NUM is the actual - partition number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, - used for Microsoft Azure that instructs cloud-init - to replace a file system of . NOTE: unless - you define a label, this requires the use of the - ''any'' partition directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -3559,32 +2520,21 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the partitions - to setup. + description: Partitions specifies the list of the partitions to setup. items: - description: Partition defines how to create and layout - a partition. + description: Partition defines how to create and layout a partition. properties: device: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. - If it is true, a single partition will be created - for the entire device. When layout is false, it - means don't partition or ignore existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to skip - checks and create the partition if a partition - or filesystem is found on the device. Use with - caution. Default is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of partition - table. The following are supported: ''mbr'': default - and setups a MS-DOS partition table ''gpt'': setups - a GPT partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -3593,30 +2543,24 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed to user_data - upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files - in cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: content: description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source of content - to populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that should - populate this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's - data map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -3626,88 +2570,61 @@ spec: - secret type: object encoding: - description: Encoding specifies the encoding of the - file contents. + description: Encoding specifies the encoding of the file contents. enum: - base64 - gzip - gzip+base64 type: string owner: - description: Owner specifies the ownership of the file, - e.g. "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk where - to store the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions to - assign to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path type: object type: array format: - description: Format specifies the output format of the bootstrap - data + description: Format specifies the output format of the bootstrap data enum: - cloud-config type: string initConfiguration: - description: InitConfiguration along with ClusterConfiguration - are the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal value, - and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm - init` time and describes a set of Bootstrap Tokens to - create. This information IS NOT uploaded to the kubeadm - cluster configmap, partly because of its sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap - token, stored as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly message - why this token exists and what it's used for, - so other administrators can know its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp when - this token expires. Defaults to being set dynamically - at runtime based on the TTL. Expires and TTL are - mutually exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups that - this token will authenticate as when/if used for - authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing bidirectional - trust between nodes and control-planes. Used for - joining nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for this - token. Defaults to 24h. Expires and TTL are mutually - exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which - this token can be used. Can by default be used - for establishing bidirectional trust, but that - can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -3716,31 +2633,16 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing the - REST resource this object represents. Servers may infer - this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance that's deployed on this control - plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global - endpoint for the cluster, which then loadbalances the - requests to each individual API server. This configuration - object lets you customize what IP/DNS name and port - the local API server advertises it's accessible on. - By default, kubeadm tries to auto-detect the IP of the - default interface and use that, but in case that process - fails you may set the desired value here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the - API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer required: @@ -3748,70 +2650,36 @@ spec: - bindPort type: object nodeRegistration: - description: NodeRegistration holds fields that relate - to registering the new control-plane node to the cluster. - When used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration - and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here are - passed to the kubelet command line via the environment - file kubeadm writes at runtime for the kubelet to - source. This overrides the generic base-level configuration - in the kubelet-config-1.X ConfigMap Flags have higher - priority when parsing. These values are local and - specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of - the Node API object that will be created in this - `kubeadm init` or `kubeadm join` operation. This - field is also used in the CommonName field of the - kubelet's client certificate to the API server. - Defaults to the hostname of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node - API object should be registered with. If this field - is unset, i.e. nil, in the `kubeadm init` process - it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: - {}` in the YAML file. This field is solely used - for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to - has the "effect" on any pod that does not tolerate - the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint - on pods that do not tolerate the taint. Valid - effects are NoSchedule, PreferNoSchedule and - NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at - which the taint was added. It is only written - for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to - the taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -3821,38 +2689,25 @@ spec: type: object type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration - for the join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal value, - and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate - authority used to secure comunications between node - and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". - TODO: revisit when there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control - plane instance to be deployed on the joining node. If - nil, no additional control plane instance will be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance to be deployed on this - node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for - the API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer required: @@ -3861,61 +2716,34 @@ spec: type: object type: object discovery: - description: 'Discovery specifies the options for the - kubelet to use during the TLS Bootstrap process TODO: - revisit when there is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the options - for bootstrap token based discovery BootstrapToken - and File are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or domain - name to the API server from which info will - be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set of - public key pins to verify when token-based discovery - is used. The root CA found during discovery - must match one of these values. Specifying an - empty set disables root CA pinning, which can - be unsafe. Each hash is specified as ":", - where the only currently supported type is "sha256". - This is a hex-encoded SHA-256 hash of the Subject - Public Key Info (SPKI) object in DER-encoded - ASN.1. These hashes can be calculated using, - for example, OpenSSL: openssl x509 -pubkey -in - ca.crt openssl rsa -pubin -outform der 2>&/dev/null - | openssl dgst -sha256 -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate - cluster information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since - other nodes can impersonate the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token - unsafeSkipCAVerification type: object file: - description: File is used to specify a file or URL - to a kubeconfig file from which to load cluster - information BootstrapToken and File are mutually - exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify - the actual file path or URL to the kubeconfig - file from which to load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -3924,86 +2752,43 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: 'TLSBootstrapToken is a token used for - TLS bootstrapping. If .BootstrapToken is set, this - field is defaulted to .BootstrapToken.Token, but - can be overridden. If .File is set, this field **must - be set** in case the KubeConfigFile does not contain - any other authentication information TODO: revisit - when there is defaulting from k/k' + description: 'TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information TODO: revisit when there is defaulting from k/k' type: string type: object kind: - description: 'Kind is a string value representing the - REST resource this object represents. Servers may infer - this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate - to registering the new control-plane node to the cluster. - When used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration - and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here are - passed to the kubelet command line via the environment - file kubeadm writes at runtime for the kubelet to - source. This overrides the generic base-level configuration - in the kubelet-config-1.X ConfigMap Flags have higher - priority when parsing. These values are local and - specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of - the Node API object that will be created in this - `kubeadm init` or `kubeadm join` operation. This - field is also used in the CommonName field of the - kubelet's client certificate to the API server. - Defaults to the hostname of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node - API object should be registered with. If this field - is unset, i.e. nil, in the `kubeadm init` process - it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: - {}` in the YAML file. This field is solely used - for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to - has the "effect" on any pod that does not tolerate - the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint - on pods that do not tolerate the taint. Valid - effects are NoSchedule, PreferNoSchedule and - NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at - which the taint was added. It is only written - for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to - the taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -4013,11 +2798,9 @@ spec: type: object type: object mounts: - description: Mounts specifies a list of mount points to be - setup. + description: Mounts specifies a list of mount points to be setup. items: - description: MountPoints defines input for generated mounts - in cloud-init. + description: MountPoints defines input for generated mounts in cloud-init. items: type: string type: array @@ -4035,69 +2818,52 @@ spec: type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands - to run after kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands to - run before kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic kubeadm - command with a shell script with retries for joins. \n This - is meant to be an experimental temporary workaround on some - environments where joins fail due to timing (and other issues). - The long term goal is to add retries to kubeadm proper and - use that functionality. \n This will add about 40KB to userdata - \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." type: boolean users: description: Users specifies extra users to add items: - description: User defines the input for a generated user - in cloud-init. + description: User defines the input for a generated user in cloud-init. properties: gecos: - description: Gecos specifies the gecos to use for the - user + description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups - for the user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory to - use for the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark the - user as inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password login - should be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name type: string passwd: - description: Passwd specifies a hashed password for - the user + description: Passwd specifies a hashed password for the user type: string primaryGroup: - description: PrimaryGroup specifies the primary group - for the user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list of ssh - authorized keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array @@ -4109,8 +2875,7 @@ spec: type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log level - verbosity. It overrides the `--v` flag in kubeadm commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object @@ -4129,18 +2894,13 @@ spec: name: v1alpha4 schema: openAPIV3Schema: - description: KubeadmConfigTemplate is the Schema for the kubeadmconfigtemplates - API. + description: KubeadmConfigTemplate is the Schema for the kubeadmconfigtemplates API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -4151,57 +2911,43 @@ spec: description: KubeadmConfigTemplateResource defines the Template structure. properties: spec: - description: KubeadmConfigSpec defines the desired state of KubeadmConfig. - Either ClusterConfiguration and InitConfiguration should be - defined or the JoinConfiguration should be defined. + description: KubeadmConfigSpec defines the desired state of KubeadmConfig. Either ClusterConfiguration and InitConfiguration should be defined or the JoinConfiguration should be defined. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration - are the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for the - API server control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative - Names for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This - is temporary and ideally we would like to switch - all components to use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host - that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the - pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the pod - template. + description: Name of the volume inside the pod template. type: string pathType: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -4210,78 +2956,48 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the timeout - that we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal value, - and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store - or look for all required certificates. NB: if not provided, - this will default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP address - or DNS name for the control plane; it can be a valid - IP address or a RFC-1123 DNS subdomain, both with optional - TCP port. In case the ControlPlaneEndpoint is not specified, - the AdvertiseAddress + BindPort are used; in case the - ControlPlaneEndpoint is specified but without a TCP - port, the BindPort is used. Possible usages are: e.g. - In a cluster with more than one control plane instances, - this field should be assigned the address of the external - load balancer in front of the control plane instances. - e.g. in environments with enforced node recycling, - the ControlPlaneEndpoint could be used for assigning - a stable DNS to the control plane. NB: This value defaults - to the first value in the Cluster object status.apiEndpoints - array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings - for the controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This - is temporary and ideally we would like to switch - all components to use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host - that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the - pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the pod - template. + description: Name of the volume inside the pod template. type: string pathType: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -4291,50 +3007,34 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on - installed in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for - the image. In case this value is set, kubeadm does - not change automatically the version of the above - components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: This - value defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect to - an external etcd cluster Local and External are - mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate Authority - file used to secure etcd communication. Required - if using a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification - file used to secure etcd communication. Required - if using a TLS connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: - description: Endpoints of etcd members. Required - for ExternalEtcd. + description: Endpoints of etcd members. Required for ExternalEtcd. items: type: string type: array keyFile: - description: KeyFile is an SSL key file used to - secure etcd communication. Required if using - a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -4343,43 +3043,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs for - configuring the local etcd instance Local and External - are mutually exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd will - place its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments provided - to the etcd binary when run inside a static - pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container - registry to pull images from. if not set, the - ImageRepository defined in ClusterConfiguration - will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag - for the image. In case this value is set, kubeadm - does not change automatically the version of - the above components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject - Alternative Names for the etcd server signing - cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -4391,86 +3077,54 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. If empty, `registry.k8s.io` will - be used by default; in case of kubernetes version is - a CI build (kubernetes version starts with `ci/` or - `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be - used as a default for control plane components and for - kube-proxy, while `registry.k8s.io` will be used for - all the other images. + description: ImageRepository sets the container registry to pull images from. If empty, `registry.k8s.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `registry.k8s.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing the - REST resource this object represents. Servers may infer - this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version - of the control plane. NB: This value defaults to the - Machine object spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to - the Cluster object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used by k8s - services. Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. - If unset, the API server will not allocate CIDR - ranges for every node. Defaults to a comma-delimited - string of the Cluster object's spec.clusterNetwork.services.cidrBlocks - if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used by k8s - services. Defaults to a comma-delimited string of - the Cluster object's spec.clusterNetwork.pods.cidrBlocks, - or to "10.96.0.0/12" if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for the - scheduler control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This - is temporary and ideally we would like to switch - all components to use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host - that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the - pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the pod - template. + description: Name of the volume inside the pod template. type: string pathType: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -4481,51 +3135,35 @@ spec: type: object type: object diskSetup: - description: DiskSetup specifies options for the creation - of partition tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file systems - to setup. + description: Filesystems specifies the list of file systems to setup. items: - description: Filesystem defines the file systems to - be created. + description: Filesystem defines the file systems to be created. properties: device: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options to - add to the command for creating the file system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array filesystem: - description: Filesystem specifies the file system - type. + description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system label - to be used. If set to None, no label is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not to - overwrite any existing filesystem. If true, any - pre-existing file system will be destroyed. Use - with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition - to use. The valid options are: "auto|any", "auto", - "any", "none", and , where NUM is the actual - partition number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, - used for Microsoft Azure that instructs cloud-init - to replace a file system of . NOTE: unless - you define a label, this requires the use of the - ''any'' partition directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -4534,32 +3172,21 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the partitions - to setup. + description: Partitions specifies the list of the partitions to setup. items: - description: Partition defines how to create and layout - a partition. + description: Partition defines how to create and layout a partition. properties: device: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. - If it is true, a single partition will be created - for the entire device. When layout is false, it - means don't partition or ignore existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to skip - checks and create the partition if a partition - or filesystem is found on the device. Use with - caution. Default is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of partition - table. The following are supported: ''mbr'': default - and setups a MS-DOS partition table ''gpt'': setups - a GPT partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -4568,30 +3195,24 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed to user_data - upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files - in cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: content: description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source of content - to populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that should - populate this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's - data map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -4601,88 +3222,61 @@ spec: - secret type: object encoding: - description: Encoding specifies the encoding of the - file contents. + description: Encoding specifies the encoding of the file contents. enum: - base64 - gzip - gzip+base64 type: string owner: - description: Owner specifies the ownership of the file, - e.g. "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk where - to store the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions to - assign to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path type: object type: array format: - description: Format specifies the output format of the bootstrap - data + description: Format specifies the output format of the bootstrap data enum: - cloud-config type: string initConfiguration: - description: InitConfiguration along with ClusterConfiguration - are the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal value, - and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm - init` time and describes a set of Bootstrap Tokens to - create. This information IS NOT uploaded to the kubeadm - cluster configmap, partly because of its sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap - token, stored as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly message - why this token exists and what it's used for, - so other administrators can know its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp when - this token expires. Defaults to being set dynamically - at runtime based on the TTL. Expires and TTL are - mutually exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups that - this token will authenticate as when/if used for - authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing bidirectional - trust between nodes and control-planes. Used for - joining nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for this - token. Defaults to 24h. Expires and TTL are mutually - exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which - this token can be used. Can by default be used - for establishing bidirectional trust, but that - can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -4691,106 +3285,55 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing the - REST resource this object represents. Servers may infer - this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance that's deployed on this control - plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global - endpoint for the cluster, which then loadbalances the - requests to each individual API server. This configuration - object lets you customize what IP/DNS name and port - the local API server advertises it's accessible on. - By default, kubeadm tries to auto-detect the IP of the - default interface and use that, but in case that process - fails you may set the desired value here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the - API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object nodeRegistration: - description: NodeRegistration holds fields that relate - to registering the new control-plane node to the cluster. - When used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration - and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice - of pre-flight errors to be ignored when the current - node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here are - passed to the kubelet command line via the environment - file kubeadm writes at runtime for the kubelet to - source. This overrides the generic base-level configuration - in the kubelet-config-1.X ConfigMap Flags have higher - priority when parsing. These values are local and - specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of - the Node API object that will be created in this - `kubeadm init` or `kubeadm join` operation. This - field is also used in the CommonName field of the - kubelet's client certificate to the API server. - Defaults to the hostname of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node - API object should be registered with. If this field - is unset, i.e. nil, in the `kubeadm init` process - it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: - {}` in the YAML file. This field is solely used - for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to - has the "effect" on any pod that does not tolerate - the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint - on pods that do not tolerate the taint. Valid - effects are NoSchedule, PreferNoSchedule and - NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at - which the taint was added. It is only written - for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to - the taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -4800,97 +3343,57 @@ spec: type: object type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration - for the join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal value, - and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate - authority used to secure comunications between node - and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". - TODO: revisit when there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control - plane instance to be deployed on the joining node. If - nil, no additional control plane instance will be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance to be deployed on this - node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for - the API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object type: object discovery: - description: 'Discovery specifies the options for the - kubelet to use during the TLS Bootstrap process TODO: - revisit when there is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the options - for bootstrap token based discovery BootstrapToken - and File are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or domain - name to the API server from which info will - be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set of - public key pins to verify when token-based discovery - is used. The root CA found during discovery - must match one of these values. Specifying an - empty set disables root CA pinning, which can - be unsafe. Each hash is specified as ":", - where the only currently supported type is "sha256". - This is a hex-encoded SHA-256 hash of the Subject - Public Key Info (SPKI) object in DER-encoded - ASN.1. These hashes can be calculated using, - for example, OpenSSL: openssl x509 -pubkey -in - ca.crt openssl rsa -pubin -outform der 2>&/dev/null - | openssl dgst -sha256 -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate - cluster information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since - other nodes can impersonate the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token type: object file: - description: File is used to specify a file or URL - to a kubeconfig file from which to load cluster - information BootstrapToken and File are mutually - exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify - the actual file path or URL to the kubeconfig - file from which to load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -4899,92 +3402,48 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: TLSBootstrapToken is a token used for - TLS bootstrapping. If .BootstrapToken is set, this - field is defaulted to .BootstrapToken.Token, but - can be overridden. If .File is set, this field **must - be set** in case the KubeConfigFile does not contain - any other authentication information + description: TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information type: string type: object kind: - description: 'Kind is a string value representing the - REST resource this object represents. Servers may infer - this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate - to registering the new control-plane node to the cluster. - When used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration - and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice - of pre-flight errors to be ignored when the current - node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here are - passed to the kubelet command line via the environment - file kubeadm writes at runtime for the kubelet to - source. This overrides the generic base-level configuration - in the kubelet-config-1.X ConfigMap Flags have higher - priority when parsing. These values are local and - specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of - the Node API object that will be created in this - `kubeadm init` or `kubeadm join` operation. This - field is also used in the CommonName field of the - kubelet's client certificate to the API server. - Defaults to the hostname of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node - API object should be registered with. If this field - is unset, i.e. nil, in the `kubeadm init` process - it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: - {}` in the YAML file. This field is solely used - for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to - has the "effect" on any pod that does not tolerate - the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint - on pods that do not tolerate the taint. Valid - effects are NoSchedule, PreferNoSchedule and - NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at - which the taint was added. It is only written - for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to - the taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -4994,11 +3453,9 @@ spec: type: object type: object mounts: - description: Mounts specifies a list of mount points to be - setup. + description: Mounts specifies a list of mount points to be setup. items: - description: MountPoints defines input for generated mounts - in cloud-init. + description: MountPoints defines input for generated mounts in cloud-init. items: type: string type: array @@ -5016,69 +3473,52 @@ spec: type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands - to run after kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands to - run before kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic kubeadm - command with a shell script with retries for joins. \n This - is meant to be an experimental temporary workaround on some - environments where joins fail due to timing (and other issues). - The long term goal is to add retries to kubeadm proper and - use that functionality. \n This will add about 40KB to userdata - \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." type: boolean users: description: Users specifies extra users to add items: - description: User defines the input for a generated user - in cloud-init. + description: User defines the input for a generated user in cloud-init. properties: gecos: - description: Gecos specifies the gecos to use for the - user + description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups - for the user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory to - use for the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark the - user as inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password login - should be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name type: string passwd: - description: Passwd specifies a hashed password for - the user + description: Passwd specifies a hashed password for the user type: string primaryGroup: - description: PrimaryGroup specifies the primary group - for the user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list of ssh - authorized keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array @@ -5090,8 +3530,7 @@ spec: type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log level - verbosity. It overrides the `--v` flag in kubeadm commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object @@ -5111,18 +3550,13 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: KubeadmConfigTemplate is the Schema for the kubeadmconfigtemplates - API. + description: KubeadmConfigTemplate is the Schema for the kubeadmconfigtemplates API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -5133,57 +3567,43 @@ spec: description: KubeadmConfigTemplateResource defines the Template structure. properties: spec: - description: KubeadmConfigSpec defines the desired state of KubeadmConfig. - Either ClusterConfiguration and InitConfiguration should be - defined or the JoinConfiguration should be defined. + description: KubeadmConfigSpec defines the desired state of KubeadmConfig. Either ClusterConfiguration and InitConfiguration should be defined or the JoinConfiguration should be defined. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration - are the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for the - API server control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative - Names for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This - is temporary and ideally we would like to switch - all components to use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host - that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the - pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the pod - template. + description: Name of the volume inside the pod template. type: string pathType: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -5192,78 +3612,48 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the timeout - that we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal value, - and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store - or look for all required certificates. NB: if not provided, - this will default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP address - or DNS name for the control plane; it can be a valid - IP address or a RFC-1123 DNS subdomain, both with optional - TCP port. In case the ControlPlaneEndpoint is not specified, - the AdvertiseAddress + BindPort are used; in case the - ControlPlaneEndpoint is specified but without a TCP - port, the BindPort is used. Possible usages are: e.g. - In a cluster with more than one control plane instances, - this field should be assigned the address of the external - load balancer in front of the control plane instances. - e.g. in environments with enforced node recycling, - the ControlPlaneEndpoint could be used for assigning - a stable DNS to the control plane. NB: This value defaults - to the first value in the Cluster object status.apiEndpoints - array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings - for the controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This - is temporary and ideally we would like to switch - all components to use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host - that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the - pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the pod - template. + description: Name of the volume inside the pod template. type: string pathType: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -5273,50 +3663,34 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on - installed in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for - the image. In case this value is set, kubeadm does - not change automatically the version of the above - components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: This - value defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect to - an external etcd cluster Local and External are - mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate Authority - file used to secure etcd communication. Required - if using a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification - file used to secure etcd communication. Required - if using a TLS connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: - description: Endpoints of etcd members. Required - for ExternalEtcd. + description: Endpoints of etcd members. Required for ExternalEtcd. items: type: string type: array keyFile: - description: KeyFile is an SSL key file used to - secure etcd communication. Required if using - a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -5325,43 +3699,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs for - configuring the local etcd instance Local and External - are mutually exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd will - place its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments provided - to the etcd binary when run inside a static - pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container - registry to pull images from. if not set, the - ImageRepository defined in ClusterConfiguration - will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag - for the image. In case this value is set, kubeadm - does not change automatically the version of - the above components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject - Alternative Names for the etcd server signing - cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -5373,86 +3733,54 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. If empty, `registry.k8s.io` will - be used by default; in case of kubernetes version is - a CI build (kubernetes version starts with `ci/` or - `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be - used as a default for control plane components and for - kube-proxy, while `registry.k8s.io` will be used for - all the other images. + description: ImageRepository sets the container registry to pull images from. If empty, `registry.k8s.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `registry.k8s.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing the - REST resource this object represents. Servers may infer - this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version - of the control plane. NB: This value defaults to the - Machine object spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to - the Cluster object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used by k8s - services. Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. - If unset, the API server will not allocate CIDR - ranges for every node. Defaults to a comma-delimited - string of the Cluster object's spec.clusterNetwork.services.cidrBlocks - if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used by k8s - services. Defaults to a comma-delimited string of - the Cluster object's spec.clusterNetwork.pods.cidrBlocks, - or to "10.96.0.0/12" if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for the - scheduler control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This - is temporary and ideally we would like to switch - all components to use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host - that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the - pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the pod - template. + description: Name of the volume inside the pod template. type: string pathType: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -5463,51 +3791,35 @@ spec: type: object type: object diskSetup: - description: DiskSetup specifies options for the creation - of partition tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file systems - to setup. + description: Filesystems specifies the list of file systems to setup. items: - description: Filesystem defines the file systems to - be created. + description: Filesystem defines the file systems to be created. properties: device: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options to - add to the command for creating the file system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array filesystem: - description: Filesystem specifies the file system - type. + description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system label - to be used. If set to None, no label is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not to - overwrite any existing filesystem. If true, any - pre-existing file system will be destroyed. Use - with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition - to use. The valid options are: "auto|any", "auto", - "any", "none", and , where NUM is the actual - partition number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, - used for Microsoft Azure that instructs cloud-init - to replace a file system of . NOTE: unless - you define a label, this requires the use of the - ''any'' partition directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -5516,32 +3828,21 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the partitions - to setup. + description: Partitions specifies the list of the partitions to setup. items: - description: Partition defines how to create and layout - a partition. + description: Partition defines how to create and layout a partition. properties: device: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. - If it is true, a single partition will be created - for the entire device. When layout is false, it - means don't partition or ignore existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to skip - checks and create the partition if a partition - or filesystem is found on the device. Use with - caution. Default is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of partition - table. The following are supported: ''mbr'': default - and setups a MS-DOS partition table ''gpt'': setups - a GPT partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -5550,34 +3851,27 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed to user_data - upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files - in cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: append: - description: Append specifies whether to append Content - to existing file if Path exists. + description: Append specifies whether to append Content to existing file if Path exists. type: boolean content: description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source of content - to populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that should - populate this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's - data map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -5587,32 +3881,27 @@ spec: - secret type: object encoding: - description: Encoding specifies the encoding of the - file contents. + description: Encoding specifies the encoding of the file contents. enum: - base64 - gzip - gzip+base64 type: string owner: - description: Owner specifies the ownership of the file, - e.g. "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk where - to store the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions to - assign to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path type: object type: array format: - description: Format specifies the output format of the bootstrap - data + description: Format specifies the output format of the bootstrap data enum: - cloud-config - ignition @@ -5621,76 +3910,47 @@ spec: description: Ignition contains Ignition specific configuration. properties: containerLinuxConfig: - description: ContainerLinuxConfig contains CLC specific - configuration. + description: ContainerLinuxConfig contains CLC specific configuration. properties: additionalConfig: - description: "AdditionalConfig contains additional - configuration to be merged with the Ignition configuration - generated by the bootstrapper controller. More info: - https://coreos.github.io/ignition/operator-notes/#config-merging - \n The data format is documented here: https://kinvolk.io/docs/flatcar-container-linux/latest/provisioning/cl-config/" + description: "AdditionalConfig contains additional configuration to be merged with the Ignition configuration generated by the bootstrapper controller. More info: https://coreos.github.io/ignition/operator-notes/#config-merging \n The data format is documented here: https://kinvolk.io/docs/flatcar-container-linux/latest/provisioning/cl-config/" type: string strict: - description: Strict controls if AdditionalConfig should - be strictly parsed. If so, warnings are treated - as errors. + description: Strict controls if AdditionalConfig should be strictly parsed. If so, warnings are treated as errors. type: boolean type: object type: object initConfiguration: - description: InitConfiguration along with ClusterConfiguration - are the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal value, - and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm - init` time and describes a set of Bootstrap Tokens to - create. This information IS NOT uploaded to the kubeadm - cluster configmap, partly because of its sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap - token, stored as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly message - why this token exists and what it's used for, - so other administrators can know its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp when - this token expires. Defaults to being set dynamically - at runtime based on the TTL. Expires and TTL are - mutually exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups that - this token will authenticate as when/if used for - authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing bidirectional - trust between nodes and control-planes. Used for - joining nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for this - token. Defaults to 24h. Expires and TTL are mutually - exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which - this token can be used. Can by default be used - for establishing bidirectional trust, but that - can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -5699,106 +3959,55 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing the - REST resource this object represents. Servers may infer - this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance that's deployed on this control - plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global - endpoint for the cluster, which then loadbalances the - requests to each individual API server. This configuration - object lets you customize what IP/DNS name and port - the local API server advertises it's accessible on. - By default, kubeadm tries to auto-detect the IP of the - default interface and use that, but in case that process - fails you may set the desired value here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the - API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object nodeRegistration: - description: NodeRegistration holds fields that relate - to registering the new control-plane node to the cluster. - When used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration - and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice - of pre-flight errors to be ignored when the current - node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here are - passed to the kubelet command line via the environment - file kubeadm writes at runtime for the kubelet to - source. This overrides the generic base-level configuration - in the kubelet-config-1.X ConfigMap Flags have higher - priority when parsing. These values are local and - specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of - the Node API object that will be created in this - `kubeadm init` or `kubeadm join` operation. This - field is also used in the CommonName field of the - kubelet's client certificate to the API server. - Defaults to the hostname of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node - API object should be registered with. If this field - is unset, i.e. nil, in the `kubeadm init` process - it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: - []` in the YAML file. This field is solely used - for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: []` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to - has the "effect" on any pod that does not tolerate - the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint - on pods that do not tolerate the taint. Valid - effects are NoSchedule, PreferNoSchedule and - NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at - which the taint was added. It is only written - for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to - the taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -5807,130 +4016,70 @@ spec: type: array type: object patches: - description: Patches contains options related to applying - patches to components deployed by kubeadm during "kubeadm - init". The minimum kubernetes version needed to support - Patches is v1.22 + description: Patches contains options related to applying patches to components deployed by kubeadm during "kubeadm init". The minimum kubernetes version needed to support Patches is v1.22 properties: directory: - description: Directory is a path to a directory that - contains files named "target[suffix][+patchtype].extension". - For example, "kube-apiserver0+merge.yaml" or just - "etcd.json". "target" can be one of "kube-apiserver", - "kube-controller-manager", "kube-scheduler", "etcd". - "patchtype" can be one of "strategic" "merge" or - "json" and they match the patch formats supported - by kubectl. The default "patchtype" is "strategic". - "extension" must be either "json" or "yaml". "suffix" - is an optional string that can be used to determine - which patches are applied first alpha-numerically. - These files can be written into the target directory - via KubeadmConfig.Files which specifies additional - files to be created on the machine, either with - content inline or by referencing a secret. + description: Directory is a path to a directory that contains files named "target[suffix][+patchtype].extension". For example, "kube-apiserver0+merge.yaml" or just "etcd.json". "target" can be one of "kube-apiserver", "kube-controller-manager", "kube-scheduler", "etcd". "patchtype" can be one of "strategic" "merge" or "json" and they match the patch formats supported by kubectl. The default "patchtype" is "strategic". "extension" must be either "json" or "yaml". "suffix" is an optional string that can be used to determine which patches are applied first alpha-numerically. These files can be written into the target directory via KubeadmConfig.Files which specifies additional files to be created on the machine, either with content inline or by referencing a secret. type: string type: object skipPhases: - description: SkipPhases is a list of phases to skip during - command execution. The list of phases can be obtained - with the "kubeadm init --help" command. This option - takes effect only on Kubernetes >=1.22.0. + description: SkipPhases is a list of phases to skip during command execution. The list of phases can be obtained with the "kubeadm init --help" command. This option takes effect only on Kubernetes >=1.22.0. items: type: string type: array type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration - for the join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal value, - and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate - authority used to secure comunications between node - and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". - TODO: revisit when there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control - plane instance to be deployed on the joining node. If - nil, no additional control plane instance will be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance to be deployed on this - node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for - the API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object type: object discovery: - description: 'Discovery specifies the options for the - kubelet to use during the TLS Bootstrap process TODO: - revisit when there is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the options - for bootstrap token based discovery BootstrapToken - and File are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or domain - name to the API server from which info will - be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set of - public key pins to verify when token-based discovery - is used. The root CA found during discovery - must match one of these values. Specifying an - empty set disables root CA pinning, which can - be unsafe. Each hash is specified as ":", - where the only currently supported type is "sha256". - This is a hex-encoded SHA-256 hash of the Subject - Public Key Info (SPKI) object in DER-encoded - ASN.1. These hashes can be calculated using, - for example, OpenSSL: openssl x509 -pubkey -in - ca.crt openssl rsa -pubin -outform der 2>&/dev/null - | openssl dgst -sha256 -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate - cluster information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since - other nodes can impersonate the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token type: object file: - description: File is used to specify a file or URL - to a kubeconfig file from which to load cluster - information BootstrapToken and File are mutually - exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify - the actual file path or URL to the kubeconfig - file from which to load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -5939,92 +4088,48 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: TLSBootstrapToken is a token used for - TLS bootstrapping. If .BootstrapToken is set, this - field is defaulted to .BootstrapToken.Token, but - can be overridden. If .File is set, this field **must - be set** in case the KubeConfigFile does not contain - any other authentication information + description: TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information type: string type: object kind: - description: 'Kind is a string value representing the - REST resource this object represents. Servers may infer - this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate - to registering the new control-plane node to the cluster. - When used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration - and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice - of pre-flight errors to be ignored when the current - node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here are - passed to the kubelet command line via the environment - file kubeadm writes at runtime for the kubelet to - source. This overrides the generic base-level configuration - in the kubelet-config-1.X ConfigMap Flags have higher - priority when parsing. These values are local and - specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of - the Node API object that will be created in this - `kubeadm init` or `kubeadm join` operation. This - field is also used in the CommonName field of the - kubelet's client certificate to the API server. - Defaults to the hostname of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node - API object should be registered with. If this field - is unset, i.e. nil, in the `kubeadm init` process - it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: - []` in the YAML file. This field is solely used - for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: []` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to - has the "effect" on any pod that does not tolerate - the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint - on pods that do not tolerate the taint. Valid - effects are NoSchedule, PreferNoSchedule and - NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at - which the taint was added. It is only written - for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to - the taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -6033,44 +4138,22 @@ spec: type: array type: object patches: - description: Patches contains options related to applying - patches to components deployed by kubeadm during "kubeadm - join". The minimum kubernetes version needed to support - Patches is v1.22 + description: Patches contains options related to applying patches to components deployed by kubeadm during "kubeadm join". The minimum kubernetes version needed to support Patches is v1.22 properties: directory: - description: Directory is a path to a directory that - contains files named "target[suffix][+patchtype].extension". - For example, "kube-apiserver0+merge.yaml" or just - "etcd.json". "target" can be one of "kube-apiserver", - "kube-controller-manager", "kube-scheduler", "etcd". - "patchtype" can be one of "strategic" "merge" or - "json" and they match the patch formats supported - by kubectl. The default "patchtype" is "strategic". - "extension" must be either "json" or "yaml". "suffix" - is an optional string that can be used to determine - which patches are applied first alpha-numerically. - These files can be written into the target directory - via KubeadmConfig.Files which specifies additional - files to be created on the machine, either with - content inline or by referencing a secret. + description: Directory is a path to a directory that contains files named "target[suffix][+patchtype].extension". For example, "kube-apiserver0+merge.yaml" or just "etcd.json". "target" can be one of "kube-apiserver", "kube-controller-manager", "kube-scheduler", "etcd". "patchtype" can be one of "strategic" "merge" or "json" and they match the patch formats supported by kubectl. The default "patchtype" is "strategic". "extension" must be either "json" or "yaml". "suffix" is an optional string that can be used to determine which patches are applied first alpha-numerically. These files can be written into the target directory via KubeadmConfig.Files which specifies additional files to be created on the machine, either with content inline or by referencing a secret. type: string type: object skipPhases: - description: SkipPhases is a list of phases to skip during - command execution. The list of phases can be obtained - with the "kubeadm init --help" command. This option - takes effect only on Kubernetes >=1.22.0. + description: SkipPhases is a list of phases to skip during command execution. The list of phases can be obtained with the "kubeadm init --help" command. This option takes effect only on Kubernetes >=1.22.0. items: type: string type: array type: object mounts: - description: Mounts specifies a list of mount points to be - setup. + description: Mounts specifies a list of mount points to be setup. items: - description: MountPoints defines input for generated mounts - in cloud-init. + description: MountPoints defines input for generated mounts in cloud-init. items: type: string type: array @@ -6088,76 +4171,55 @@ spec: type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands - to run after kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands to - run before kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic kubeadm - command with a shell script with retries for joins. \n This - is meant to be an experimental temporary workaround on some - environments where joins fail due to timing (and other issues). - The long term goal is to add retries to kubeadm proper and - use that functionality. \n This will add about 40KB to userdata - \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055. - Deprecated: This experimental fix is no longer needed and - this field will be removed in a future release." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055. Deprecated: This experimental fix is no longer needed and this field will be removed in a future release." type: boolean users: description: Users specifies extra users to add items: - description: User defines the input for a generated user - in cloud-init. + description: User defines the input for a generated user in cloud-init. properties: gecos: - description: Gecos specifies the gecos to use for the - user + description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups - for the user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory to - use for the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark the - user as inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password login - should be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name type: string passwd: - description: Passwd specifies a hashed password for - the user + description: Passwd specifies a hashed password for the user type: string passwdFrom: - description: PasswdFrom is a referenced source of passwd - to populate the passwd. + description: PasswdFrom is a referenced source of passwd to populate the passwd. properties: secret: - description: Secret represents a secret that should - populate this password. + description: Secret represents a secret that should populate this password. properties: key: - description: Key is the key in the secret's - data map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -6167,15 +4229,13 @@ spec: - secret type: object primaryGroup: - description: PrimaryGroup specifies the primary group - for the user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list of ssh - authorized keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array @@ -6187,8 +4247,7 @@ spec: type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log level - verbosity. It overrides the `--v` flag in kubeadm commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object @@ -6358,8 +4417,8 @@ spec: - --namespace=test1 - --leader-elect - --metrics-bind-addr=localhost:8080 - # - --feature-gates=MachinePool=${EXP_MACHINE_POOL:=false},KubeadmBootstrapFormatIgnition=${EXP_KUBEADM_BOOTSTRAP_FORMAT_IGNITION:=false} - #- --bootstrap-token-ttl=${KUBEADM_BOOTSTRAP_TOKEN_TTL:=15m} + # - --feature-gates=MachinePool=${EXP_MACHINE_POOL:=false},KubeadmBootstrapFormatIgnition=${EXP_KUBEADM_BOOTSTRAP_FORMAT_IGNITION:=false} + #- --bootstrap-token-ttl=${KUBEADM_BOOTSTRAP_TOKEN_TTL:=15m} command: - /manager image: gcr.io/k8s-staging-cluster-api/kubeadm-bootstrap-controller:main diff --git a/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/kubeadm.yaml b/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/kubeadm.yaml index 13dc133b..56303b31 100644 --- a/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/kubeadm.yaml +++ b/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/kubeadm.yaml @@ -44,8 +44,7 @@ spec: scope: Namespaced versions: - additionalPrinterColumns: - - description: This denotes whether or not the control plane has the uploaded - kubeadm-config configmap + - description: This denotes whether or not the control plane has the uploaded kubeadm-config configmap jsonPath: .status.initialized name: Initialized type: boolean @@ -57,8 +56,7 @@ spec: jsonPath: .spec.version name: Version type: string - - description: Total number of non-terminated machines targeted by this control - plane + - description: Total number of non-terminated machines targeted by this control plane jsonPath: .status.replicas name: Replicas type: integer @@ -66,8 +64,7 @@ spec: jsonPath: .status.readyReplicas name: Ready type: integer - - description: Total number of non-terminated machines targeted by this control - plane that have the desired template spec + - description: Total number of non-terminated machines targeted by this control plane that have the desired template spec jsonPath: .status.updatedReplicas name: Updated type: integer @@ -78,18 +75,13 @@ spec: name: v1alpha3 schema: openAPIV3Schema: - description: KubeadmControlPlane is the Schema for the KubeadmControlPlane - API. + description: KubeadmControlPlane is the Schema for the KubeadmControlPlane API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -97,24 +89,13 @@ spec: description: KubeadmControlPlaneSpec defines the desired state of KubeadmControlPlane. properties: infrastructureTemplate: - description: InfrastructureTemplate is a required reference to a custom - resource offered by an infrastructure provider. + description: InfrastructureTemplate 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.' + 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' @@ -126,8 +107,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -135,45 +115,34 @@ spec: type: object x-kubernetes-map-type: atomic kubeadmConfigSpec: - description: KubeadmConfigSpec is a KubeadmConfigSpec to use for initializing - and joining machines to the control plane. + description: KubeadmConfigSpec is a KubeadmConfigSpec to use for initializing and joining machines to the control plane. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration - are the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for the API - server control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative Names - for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass - to the control plane component. TODO: This is temporary - and ideally we would like to switch all components to - use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that - will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod - where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -182,8 +151,7 @@ spec: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to the - volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -192,66 +160,39 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the timeout - that we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store or - look for all required certificates. NB: if not provided, - this will default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP address - or DNS name for the control plane; it can be a valid IP - address or a RFC-1123 DNS subdomain, both with optional - TCP port. In case the ControlPlaneEndpoint is not specified, - the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint - is specified but without a TCP port, the BindPort is used. - Possible usages are: e.g. In a cluster with more than one - control plane instances, this field should be assigned the - address of the external load balancer in front of the control - plane instances. e.g. in environments with enforced node - recycling, the ControlPlaneEndpoint could be used for assigning - a stable DNS to the control plane. NB: This value defaults - to the first value in the Cluster object status.apiEndpoints - array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings for - the controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass - to the control plane component. TODO: This is temporary - and ideally we would like to switch all components to - use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that - will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod - where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -260,8 +201,7 @@ spec: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to the - volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -271,51 +211,37 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on installed - in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for the - image. In case this value is set, kubeadm does not change - automatically the version of the above components during - upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: description: Type defines the DNS add-on to be used type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: This - value defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect to an external - etcd cluster Local and External are mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate Authority - file used to secure etcd communication. Required - if using a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification file - used to secure etcd communication. Required if using - a TLS connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: - description: Endpoints of etcd members. Required for - ExternalEtcd. + description: Endpoints of etcd members. Required for ExternalEtcd. items: type: string type: array keyFile: - description: KeyFile is an SSL key file used to secure - etcd communication. Required if using a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -324,40 +250,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs for configuring - the local etcd instance Local and External are mutually - exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd will place - its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments provided - to the etcd binary when run inside a static pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for - the image. In case this value is set, kubeadm does - not change automatically the version of the above - components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject Alternative - Names for the etcd server signing cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -369,74 +284,45 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry to - pull images from. If empty, `k8s.gcr.io` will be used by - default; in case of kubernetes version is a CI build (kubernetes - version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` - will be used as a default for control plane components and - for kube-proxy, while `k8s.gcr.io` will be used for all - the other images. + description: ImageRepository sets the container registry to pull images from. If empty, `k8s.gcr.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `k8s.gcr.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version of the - control plane. NB: This value defaults to the Machine object - spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to the - Cluster object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used by k8s services. - Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. If - unset, the API server will not allocate CIDR ranges - for every node. Defaults to a comma-delimited string - of the Cluster object's spec.clusterNetwork.services.cidrBlocks - if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used by k8s services. - Defaults to a comma-delimited string of the Cluster - object's spec.clusterNetwork.pods.cidrBlocks, or to - "10.96.0.0/12" if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for the scheduler - control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass - to the control plane component. TODO: This is temporary - and ideally we would like to switch all components to - use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that - will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod - where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -445,8 +331,7 @@ spec: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to the - volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -456,18 +341,14 @@ spec: type: array type: object useHyperKubeImage: - description: UseHyperKubeImage controls if hyperkube should - be used for Kubernetes components instead of their respective - separate images + description: UseHyperKubeImage controls if hyperkube should be used for Kubernetes components instead of their respective separate images type: boolean type: object diskSetup: - description: DiskSetup specifies options for the creation of partition - tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file systems - to setup. + description: Filesystems specifies the list of file systems to setup. items: description: Filesystem defines the file systems to be created. properties: @@ -475,8 +356,7 @@ spec: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options to add - to the command for creating the file system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array @@ -484,26 +364,16 @@ spec: description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system label to - be used. If set to None, no label is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not to overwrite - any existing filesystem. If true, any pre-existing - file system will be destroyed. Use with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition to use. - The valid options are: "auto|any", "auto", "any", - "none", and , where NUM is the actual partition - number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, used - for Microsoft Azure that instructs cloud-init to replace - a file system of . NOTE: unless you define - a label, this requires the use of the ''any'' partition - directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -512,32 +382,21 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the partitions - to setup. + description: Partitions specifies the list of the partitions to setup. items: - description: Partition defines how to create and layout - a partition. + description: Partition defines how to create and layout a partition. properties: device: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. If - it is true, a single partition will be created for - the entire device. When layout is false, it means - don't partition or ignore existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to skip checks - and create the partition if a partition or filesystem - is found on the device. Use with caution. Default - is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of partition - table. The following are supported: ''mbr'': default - and setups a MS-DOS partition table ''gpt'': setups - a GPT partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -546,30 +405,24 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed to user_data - upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files - in cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: content: description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source of content - to populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that should - populate this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's data - map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -579,85 +432,61 @@ spec: - secret type: object encoding: - description: Encoding specifies the encoding of the file - contents. + description: Encoding specifies the encoding of the file contents. enum: - base64 - gzip - gzip+base64 type: string owner: - description: Owner specifies the ownership of the file, - e.g. "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk where - to store the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions to assign - to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path type: object type: array format: - description: Format specifies the output format of the bootstrap - data + description: Format specifies the output format of the bootstrap data enum: - cloud-config type: string initConfiguration: - description: InitConfiguration along with ClusterConfiguration - are the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm init` - time and describes a set of Bootstrap Tokens to create. - This information IS NOT uploaded to the kubeadm cluster - configmap, partly because of its sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap token, - stored as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly message - why this token exists and what it's used for, so other - administrators can know its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp when this - token expires. Defaults to being set dynamically at - runtime based on the TTL. Expires and TTL are mutually - exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups that - this token will authenticate as when/if used for authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing bidirectional - trust between nodes and control-planes. Used for joining - nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for this token. - Defaults to 24h. Expires and TTL are mutually exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which this - token can be used. Can by default be used for establishing - bidirectional trust, but that can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -666,31 +495,16 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint of the - API server instance that's deployed on this control plane - node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global endpoint - for the cluster, which then loadbalances the requests to - each individual API server. This configuration object lets - you customize what IP/DNS name and port the local API server - advertises it's accessible on. By default, kubeadm tries - to auto-detect the IP of the default interface and use that, - but in case that process fails you may set the desired value - here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address for - the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the API - Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer required: @@ -698,69 +512,36 @@ spec: - bindPort type: object nodeRegistration: - description: NodeRegistration holds fields that relate to - registering the new control-plane node to the cluster. When - used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration and - JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node - API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the - kubelet command line via the environment file kubeadm - writes at runtime for the kubelet to source. This overrides - the generic base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. These - values are local and specific to the node kubeadm is - executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the - Node API object that will be created in this `kubeadm - init` or `kubeadm join` operation. This field is also - used in the CommonName field of the kubelet's client - certificate to the API server. Defaults to the hostname - of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API - object should be registered with. If this field is unset, - i.e. nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: {}` - in the YAML file. This field is solely used for Node - registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has - the "effect" on any pod that does not tolerate the - Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on - pods that do not tolerate the taint. Valid effects - are NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the - taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -770,37 +551,25 @@ spec: type: object type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration for - the join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate - authority used to secure comunications between node and - control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". - TODO: revisit when there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control plane - instance to be deployed on the joining node. If nil, no - additional control plane instance will be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance to be deployed on this node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the - API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer required: @@ -809,58 +578,34 @@ spec: type: object type: object discovery: - description: 'Discovery specifies the options for the kubelet - to use during the TLS Bootstrap process TODO: revisit when - there is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the options - for bootstrap token based discovery BootstrapToken and - File are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or domain - name to the API server from which info will be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set of public - key pins to verify when token-based discovery is - used. The root CA found during discovery must match - one of these values. Specifying an empty set disables - root CA pinning, which can be unsafe. Each hash - is specified as ":", where the only - currently supported type is "sha256". This is a - hex-encoded SHA-256 hash of the Subject Public Key - Info (SPKI) object in DER-encoded ASN.1. These hashes - can be calculated using, for example, OpenSSL: openssl - x509 -pubkey -in ca.crt openssl rsa -pubin -outform - der 2>&/dev/null | openssl dgst -sha256 -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate cluster - information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since other - nodes can impersonate the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token - unsafeSkipCAVerification type: object file: - description: File is used to specify a file or URL to - a kubeconfig file from which to load cluster information - BootstrapToken and File are mutually exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify the - actual file path or URL to the kubeconfig file from - which to load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -869,85 +614,43 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: 'TLSBootstrapToken is a token used for TLS - bootstrapping. If .BootstrapToken is set, this field - is defaulted to .BootstrapToken.Token, but can be overridden. - If .File is set, this field **must be set** in case - the KubeConfigFile does not contain any other authentication - information TODO: revisit when there is defaulting from - k/k' + description: 'TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information TODO: revisit when there is defaulting from k/k' type: string type: object kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate to - registering the new control-plane node to the cluster. When - used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration and - JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node - API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the - kubelet command line via the environment file kubeadm - writes at runtime for the kubelet to source. This overrides - the generic base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. These - values are local and specific to the node kubeadm is - executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the - Node API object that will be created in this `kubeadm - init` or `kubeadm join` operation. This field is also - used in the CommonName field of the kubelet's client - certificate to the API server. Defaults to the hostname - of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API - object should be registered with. If this field is unset, - i.e. nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: {}` - in the YAML file. This field is solely used for Node - registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has - the "effect" on any pod that does not tolerate the - Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on - pods that do not tolerate the taint. Valid effects - are NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the - taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -959,8 +662,7 @@ spec: mounts: description: Mounts specifies a list of mount points to be setup. items: - description: MountPoints defines input for generated mounts - in cloud-init. + description: MountPoints defines input for generated mounts in cloud-init. items: type: string type: array @@ -978,68 +680,52 @@ spec: type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands to run - after kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands to run - before kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic kubeadm - command with a shell script with retries for joins. \n This - is meant to be an experimental temporary workaround on some - environments where joins fail due to timing (and other issues). - The long term goal is to add retries to kubeadm proper and use - that functionality. \n This will add about 40KB to userdata - \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." type: boolean users: description: Users specifies extra users to add items: - description: User defines the input for a generated user in - cloud-init. + description: User defines the input for a generated user in cloud-init. properties: gecos: description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups for - the user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory to use - for the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark the user - as inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password login should - be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name type: string passwd: - description: Passwd specifies a hashed password for the - user + description: Passwd specifies a hashed password for the user type: string primaryGroup: - description: PrimaryGroup specifies the primary group for - the user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list of ssh authorized - keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array @@ -1051,52 +737,36 @@ spec: type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log level - verbosity. It overrides the `--v` flag in kubeadm commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object nodeDrainTimeout: - description: 'NodeDrainTimeout is the total amount of time that the - controller will spend on draining a controlplane 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`' + description: 'NodeDrainTimeout is the total amount of time that the controller will spend on draining a controlplane 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 replicas: - description: Number of desired machines. Defaults to 1. When stacked - etcd is used only odd numbers are permitted, as per [etcd best practice](https://etcd.io/docs/v3.3.12/faq/#why-an-odd-number-of-cluster-members). - This is a pointer to distinguish between explicit zero and not specified. + description: Number of desired machines. Defaults to 1. When stacked etcd is used only odd numbers are permitted, as per [etcd best practice](https://etcd.io/docs/v3.3.12/faq/#why-an-odd-number-of-cluster-members). This is a pointer to distinguish between explicit zero and not specified. format: int32 type: integer rolloutStrategy: - description: The RolloutStrategy to use to replace control plane machines - with new ones. + description: The RolloutStrategy to use to replace control plane machines with new ones. properties: rollingUpdate: - description: Rolling update config params. Present only if RolloutStrategyType - = RollingUpdate. + description: Rolling update config params. Present only if RolloutStrategyType = RollingUpdate. properties: maxSurge: anyOf: - type: integer - type: string - description: 'The maximum number of control planes that can - be scheduled above or under the desired number of control - planes. Value can be an absolute number 1 or 0. Defaults - to 1. Example: when this is set to 1, the control plane - can be scaled up immediately when the rolling update starts.' + description: 'The maximum number of control planes that can be scheduled above or under the desired number of control planes. Value can be an absolute number 1 or 0. Defaults to 1. Example: when this is set to 1, the control plane can be scaled up immediately when the rolling update starts.' x-kubernetes-int-or-string: true type: object type: - description: Type of rollout. Currently the only supported strategy - is "RollingUpdate". Default is RollingUpdate. + description: Type of rollout. Currently the only supported strategy is "RollingUpdate". Default is RollingUpdate. type: string type: object upgradeAfter: - description: UpgradeAfter is a field to indicate an upgrade should - be performed after the specified time even if no changes have been - made to the KubeadmControlPlane + description: UpgradeAfter is a field to indicate an upgrade should be performed after the specified time even if no changes have been made to the KubeadmControlPlane format: date-time type: string version: @@ -1113,41 +783,26 @@ spec: conditions: description: Conditions defines current service state of the KubeadmControlPlane. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -1155,55 +810,38 @@ spec: type: object type: array failureMessage: - description: ErrorMessage indicates that there is a terminal problem - reconciling the state, and will be set to a descriptive error message. + description: ErrorMessage indicates that there is a terminal problem reconciling the state, and will be set to a descriptive error message. type: string failureReason: - description: FailureReason indicates that there is a terminal problem - reconciling the state, and will be set to a token value suitable - for programmatic interpretation. + description: FailureReason indicates that there is a terminal problem reconciling the state, and will be set to a token value suitable for programmatic interpretation. type: string initialized: - description: Initialized denotes whether or not the control plane - has the uploaded kubeadm-config configmap. + description: Initialized denotes whether or not the control plane has the uploaded kubeadm-config configmap. type: boolean observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + description: ObservedGeneration is the latest generation observed by the controller. format: int64 type: integer ready: - description: Ready denotes that the KubeadmControlPlane API Server - is ready to receive requests. + description: Ready denotes that the KubeadmControlPlane API Server is ready to receive requests. type: boolean readyReplicas: - description: Total number of fully running and ready control plane - machines. + description: Total number of fully running and ready control plane machines. format: int32 type: integer replicas: - description: Total number of non-terminated machines targeted by this - control plane (their labels match the selector). + description: Total number of non-terminated machines targeted by this control plane (their labels match the selector). format: int32 type: integer selector: - description: 'Selector is the label selector in string format to avoid - introspection by clients, and is used to provide the CRD-based integration - for the scale subresource and additional integrations for things - like kubectl describe.. 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' + description: 'Selector is the label selector in string format to avoid introspection by clients, and is used to provide the CRD-based integration for the scale subresource and additional integrations for things like kubectl describe.. 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 - control plane. 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 ready or machines - that still have not been created. + description: Total number of unavailable machines targeted by this control plane. 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 ready or machines that still have not been created. format: int32 type: integer updatedReplicas: - description: Total number of non-terminated machines targeted by this - control plane that have the desired template spec. + description: Total number of non-terminated machines targeted by this control plane that have the desired template spec. format: int32 type: integer type: object @@ -1221,8 +859,7 @@ spec: jsonPath: .metadata.creationTimestamp name: Age type: date - - description: This denotes whether or not the control plane has the uploaded - kubeadm-config configmap + - description: This denotes whether or not the control plane has the uploaded kubeadm-config configmap jsonPath: .status.initialized name: Initialized type: boolean @@ -1234,8 +871,7 @@ spec: jsonPath: .spec.version name: Version type: string - - description: Total number of non-terminated machines targeted by this control - plane + - description: Total number of non-terminated machines targeted by this control plane jsonPath: .status.replicas name: Replicas type: integer @@ -1243,8 +879,7 @@ spec: jsonPath: .status.readyReplicas name: Ready type: integer - - description: Total number of non-terminated machines targeted by this control - plane that have the desired template spec + - description: Total number of non-terminated machines targeted by this control plane that have the desired template spec jsonPath: .status.updatedReplicas name: Updated type: integer @@ -1255,18 +890,13 @@ spec: name: v1alpha4 schema: openAPIV3Schema: - description: KubeadmControlPlane is the Schema for the KubeadmControlPlane - API. + description: KubeadmControlPlane is the Schema for the KubeadmControlPlane API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -1274,45 +904,34 @@ spec: description: KubeadmControlPlaneSpec defines the desired state of KubeadmControlPlane. properties: kubeadmConfigSpec: - description: KubeadmConfigSpec is a KubeadmConfigSpec to use for initializing - and joining machines to the control plane. + description: KubeadmConfigSpec is a KubeadmConfigSpec to use for initializing and joining machines to the control plane. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration - are the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for the API - server control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative Names - for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass - to the control plane component. TODO: This is temporary - and ideally we would like to switch all components to - use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that - will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod - where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -1321,8 +940,7 @@ spec: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to the - volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -1331,66 +949,39 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the timeout - that we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store or - look for all required certificates. NB: if not provided, - this will default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP address - or DNS name for the control plane; it can be a valid IP - address or a RFC-1123 DNS subdomain, both with optional - TCP port. In case the ControlPlaneEndpoint is not specified, - the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint - is specified but without a TCP port, the BindPort is used. - Possible usages are: e.g. In a cluster with more than one - control plane instances, this field should be assigned the - address of the external load balancer in front of the control - plane instances. e.g. in environments with enforced node - recycling, the ControlPlaneEndpoint could be used for assigning - a stable DNS to the control plane. NB: This value defaults - to the first value in the Cluster object status.apiEndpoints - array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings for - the controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass - to the control plane component. TODO: This is temporary - and ideally we would like to switch all components to - use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that - will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod - where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -1399,8 +990,7 @@ spec: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to the - volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -1410,48 +1000,34 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on installed - in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for the - image. In case this value is set, kubeadm does not change - automatically the version of the above components during - upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: This - value defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect to an external - etcd cluster Local and External are mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate Authority - file used to secure etcd communication. Required - if using a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification file - used to secure etcd communication. Required if using - a TLS connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: - description: Endpoints of etcd members. Required for - ExternalEtcd. + description: Endpoints of etcd members. Required for ExternalEtcd. items: type: string type: array keyFile: - description: KeyFile is an SSL key file used to secure - etcd communication. Required if using a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -1460,40 +1036,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs for configuring - the local etcd instance Local and External are mutually - exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd will place - its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments provided - to the etcd binary when run inside a static pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for - the image. In case this value is set, kubeadm does - not change automatically the version of the above - components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject Alternative - Names for the etcd server signing cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -1505,74 +1070,45 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry to - pull images from. If empty, `registry.k8s.io` will be used - by default; in case of kubernetes version is a CI build - (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` - will be used as a default for control plane components and - for kube-proxy, while `registry.k8s.io` will be used for - all the other images. + description: ImageRepository sets the container registry to pull images from. If empty, `registry.k8s.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `registry.k8s.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version of the - control plane. NB: This value defaults to the Machine object - spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to the - Cluster object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used by k8s services. - Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. If - unset, the API server will not allocate CIDR ranges - for every node. Defaults to a comma-delimited string - of the Cluster object's spec.clusterNetwork.services.cidrBlocks - if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used by k8s services. - Defaults to a comma-delimited string of the Cluster - object's spec.clusterNetwork.pods.cidrBlocks, or to - "10.96.0.0/12" if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for the scheduler - control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass - to the control plane component. TODO: This is temporary - and ideally we would like to switch all components to - use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that - will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod - where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -1581,8 +1117,7 @@ spec: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to the - volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -1593,12 +1128,10 @@ spec: type: object type: object diskSetup: - description: DiskSetup specifies options for the creation of partition - tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file systems - to setup. + description: Filesystems specifies the list of file systems to setup. items: description: Filesystem defines the file systems to be created. properties: @@ -1606,8 +1139,7 @@ spec: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options to add - to the command for creating the file system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array @@ -1615,26 +1147,16 @@ spec: description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system label to - be used. If set to None, no label is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not to overwrite - any existing filesystem. If true, any pre-existing - file system will be destroyed. Use with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition to use. - The valid options are: "auto|any", "auto", "any", - "none", and , where NUM is the actual partition - number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, used - for Microsoft Azure that instructs cloud-init to replace - a file system of . NOTE: unless you define - a label, this requires the use of the ''any'' partition - directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -1643,32 +1165,21 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the partitions - to setup. + description: Partitions specifies the list of the partitions to setup. items: - description: Partition defines how to create and layout - a partition. + description: Partition defines how to create and layout a partition. properties: device: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. If - it is true, a single partition will be created for - the entire device. When layout is false, it means - don't partition or ignore existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to skip checks - and create the partition if a partition or filesystem - is found on the device. Use with caution. Default - is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of partition - table. The following are supported: ''mbr'': default - and setups a MS-DOS partition table ''gpt'': setups - a GPT partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -1677,30 +1188,24 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed to user_data - upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files - in cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: content: description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source of content - to populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that should - populate this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's data - map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -1710,85 +1215,61 @@ spec: - secret type: object encoding: - description: Encoding specifies the encoding of the file - contents. + description: Encoding specifies the encoding of the file contents. enum: - base64 - gzip - gzip+base64 type: string owner: - description: Owner specifies the ownership of the file, - e.g. "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk where - to store the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions to assign - to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path type: object type: array format: - description: Format specifies the output format of the bootstrap - data + description: Format specifies the output format of the bootstrap data enum: - cloud-config type: string initConfiguration: - description: InitConfiguration along with ClusterConfiguration - are the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm init` - time and describes a set of Bootstrap Tokens to create. - This information IS NOT uploaded to the kubeadm cluster - configmap, partly because of its sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap token, - stored as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly message - why this token exists and what it's used for, so other - administrators can know its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp when this - token expires. Defaults to being set dynamically at - runtime based on the TTL. Expires and TTL are mutually - exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups that - this token will authenticate as when/if used for authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing bidirectional - trust between nodes and control-planes. Used for joining - nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for this token. - Defaults to 24h. Expires and TTL are mutually exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which this - token can be used. Can by default be used for establishing - bidirectional trust, but that can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -1797,105 +1278,55 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint of the - API server instance that's deployed on this control plane - node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global endpoint - for the cluster, which then loadbalances the requests to - each individual API server. This configuration object lets - you customize what IP/DNS name and port the local API server - advertises it's accessible on. By default, kubeadm tries - to auto-detect the IP of the default interface and use that, - but in case that process fails you may set the desired value - here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address for - the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the API - Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object nodeRegistration: - description: NodeRegistration holds fields that relate to - registering the new control-plane node to the cluster. When - used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration and - JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node - API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice of - pre-flight errors to be ignored when the current node - is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the - kubelet command line via the environment file kubeadm - writes at runtime for the kubelet to source. This overrides - the generic base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. These - values are local and specific to the node kubeadm is - executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the - Node API object that will be created in this `kubeadm - init` or `kubeadm join` operation. This field is also - used in the CommonName field of the kubelet's client - certificate to the API server. Defaults to the hostname - of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API - object should be registered with. If this field is unset, - i.e. nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: {}` - in the YAML file. This field is solely used for Node - registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has - the "effect" on any pod that does not tolerate the - Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on - pods that do not tolerate the taint. Valid effects - are NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the - taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -1905,93 +1336,57 @@ spec: type: object type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration for - the join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate - authority used to secure comunications between node and - control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". - TODO: revisit when there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control plane - instance to be deployed on the joining node. If nil, no - additional control plane instance will be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance to be deployed on this node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the - API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object type: object discovery: - description: 'Discovery specifies the options for the kubelet - to use during the TLS Bootstrap process TODO: revisit when - there is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the options - for bootstrap token based discovery BootstrapToken and - File are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or domain - name to the API server from which info will be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set of public - key pins to verify when token-based discovery is - used. The root CA found during discovery must match - one of these values. Specifying an empty set disables - root CA pinning, which can be unsafe. Each hash - is specified as ":", where the only - currently supported type is "sha256". This is a - hex-encoded SHA-256 hash of the Subject Public Key - Info (SPKI) object in DER-encoded ASN.1. These hashes - can be calculated using, for example, OpenSSL: openssl - x509 -pubkey -in ca.crt openssl rsa -pubin -outform - der 2>&/dev/null | openssl dgst -sha256 -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate cluster - information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since other - nodes can impersonate the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token type: object file: - description: File is used to specify a file or URL to - a kubeconfig file from which to load cluster information - BootstrapToken and File are mutually exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify the - actual file path or URL to the kubeconfig file from - which to load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -2000,91 +1395,48 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: TLSBootstrapToken is a token used for TLS - bootstrapping. If .BootstrapToken is set, this field - is defaulted to .BootstrapToken.Token, but can be overridden. - If .File is set, this field **must be set** in case - the KubeConfigFile does not contain any other authentication - information + description: TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information type: string type: object kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate to - registering the new control-plane node to the cluster. When - used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration and - JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node - API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice of - pre-flight errors to be ignored when the current node - is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the - kubelet command line via the environment file kubeadm - writes at runtime for the kubelet to source. This overrides - the generic base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. These - values are local and specific to the node kubeadm is - executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the - Node API object that will be created in this `kubeadm - init` or `kubeadm join` operation. This field is also - used in the CommonName field of the kubelet's client - certificate to the API server. Defaults to the hostname - of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API - object should be registered with. If this field is unset, - i.e. nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: {}` - in the YAML file. This field is solely used for Node - registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has - the "effect" on any pod that does not tolerate the - Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on - pods that do not tolerate the taint. Valid effects - are NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the - taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -2096,8 +1448,7 @@ spec: mounts: description: Mounts specifies a list of mount points to be setup. items: - description: MountPoints defines input for generated mounts - in cloud-init. + description: MountPoints defines input for generated mounts in cloud-init. items: type: string type: array @@ -2115,68 +1466,52 @@ spec: type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands to run - after kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands to run - before kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic kubeadm - command with a shell script with retries for joins. \n This - is meant to be an experimental temporary workaround on some - environments where joins fail due to timing (and other issues). - The long term goal is to add retries to kubeadm proper and use - that functionality. \n This will add about 40KB to userdata - \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." type: boolean users: description: Users specifies extra users to add items: - description: User defines the input for a generated user in - cloud-init. + description: User defines the input for a generated user in cloud-init. properties: gecos: description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups for - the user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory to use - for the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark the user - as inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password login should - be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name type: string passwd: - description: Passwd specifies a hashed password for the - user + description: Passwd specifies a hashed password for the user type: string primaryGroup: - description: PrimaryGroup specifies the primary group for - the user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list of ssh authorized - keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array @@ -2188,34 +1523,21 @@ spec: type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log level - verbosity. It overrides the `--v` flag in kubeadm commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object machineTemplate: - description: MachineTemplate contains information about how machines - should be shaped when creating or updating a control plane. + description: MachineTemplate contains information about how machines should be shaped when creating or updating a control plane. properties: infrastructureRef: - description: InfrastructureRef is a required reference to a custom - resource offered by an infrastructure provider. + 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.' + 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' @@ -2227,8 +1549,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -2241,41 +1562,26 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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' + 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 nodeDrainTimeout: - description: 'NodeDrainTimeout is the total amount of time that - the controller will spend on draining a controlplane 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`' + description: 'NodeDrainTimeout is the total amount of time that the controller will spend on draining a controlplane 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 required: - infrastructureRef type: object replicas: - description: Number of desired machines. Defaults to 1. When stacked - etcd is used only odd numbers are permitted, as per [etcd best practice](https://etcd.io/docs/v3.3.12/faq/#why-an-odd-number-of-cluster-members). - This is a pointer to distinguish between explicit zero and not specified. + description: Number of desired machines. Defaults to 1. When stacked etcd is used only odd numbers are permitted, as per [etcd best practice](https://etcd.io/docs/v3.3.12/faq/#why-an-odd-number-of-cluster-members). This is a pointer to distinguish between explicit zero and not specified. format: int32 type: integer rolloutAfter: - description: RolloutAfter is a field to indicate a rollout should - be performed after the specified time even if no changes have been - made to the KubeadmControlPlane. + description: RolloutAfter is a field to indicate a rollout should be performed after the specified time even if no changes have been made to the KubeadmControlPlane. format: date-time type: string rolloutStrategy: @@ -2283,27 +1589,20 @@ spec: rollingUpdate: maxSurge: 1 type: RollingUpdate - description: The RolloutStrategy to use to replace control plane machines - with new ones. + description: The RolloutStrategy to use to replace control plane machines with new ones. properties: rollingUpdate: - description: Rolling update config params. Present only if RolloutStrategyType - = RollingUpdate. + description: Rolling update config params. Present only if RolloutStrategyType = RollingUpdate. properties: maxSurge: anyOf: - type: integer - type: string - description: 'The maximum number of control planes that can - be scheduled above or under the desired number of control - planes. Value can be an absolute number 1 or 0. Defaults - to 1. Example: when this is set to 1, the control plane - can be scaled up immediately when the rolling update starts.' + description: 'The maximum number of control planes that can be scheduled above or under the desired number of control planes. Value can be an absolute number 1 or 0. Defaults to 1. Example: when this is set to 1, the control plane can be scaled up immediately when the rolling update starts.' x-kubernetes-int-or-string: true type: object type: - description: Type of rollout. Currently the only supported strategy - is "RollingUpdate". Default is RollingUpdate. + description: Type of rollout. Currently the only supported strategy is "RollingUpdate". Default is RollingUpdate. type: string type: object version: @@ -2320,41 +1619,26 @@ spec: conditions: description: Conditions defines current service state of the KubeadmControlPlane. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -2362,60 +1646,42 @@ spec: type: object type: array failureMessage: - description: ErrorMessage indicates that there is a terminal problem - reconciling the state, and will be set to a descriptive error message. + description: ErrorMessage indicates that there is a terminal problem reconciling the state, and will be set to a descriptive error message. type: string failureReason: - description: FailureReason indicates that there is a terminal problem - reconciling the state, and will be set to a token value suitable - for programmatic interpretation. + description: FailureReason indicates that there is a terminal problem reconciling the state, and will be set to a token value suitable for programmatic interpretation. type: string initialized: - description: Initialized denotes whether or not the control plane - has the uploaded kubeadm-config configmap. + description: Initialized denotes whether or not the control plane has the uploaded kubeadm-config configmap. type: boolean observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + description: ObservedGeneration is the latest generation observed by the controller. format: int64 type: integer ready: - description: Ready denotes that the KubeadmControlPlane API Server - is ready to receive requests. + description: Ready denotes that the KubeadmControlPlane API Server is ready to receive requests. type: boolean readyReplicas: - description: Total number of fully running and ready control plane - machines. + description: Total number of fully running and ready control plane machines. format: int32 type: integer replicas: - description: Total number of non-terminated machines targeted by this - control plane (their labels match the selector). + description: Total number of non-terminated machines targeted by this control plane (their labels match the selector). format: int32 type: integer selector: - description: 'Selector is the label selector in string format to avoid - introspection by clients, and is used to provide the CRD-based integration - for the scale subresource and additional integrations for things - like kubectl describe.. 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' + description: 'Selector is the label selector in string format to avoid introspection by clients, and is used to provide the CRD-based integration for the scale subresource and additional integrations for things like kubectl describe.. 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 - control plane. 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 ready or machines - that still have not been created. + description: Total number of unavailable machines targeted by this control plane. 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 ready or machines that still have not been created. format: int32 type: integer updatedReplicas: - description: Total number of non-terminated machines targeted by this - control plane that have the desired template spec. + description: Total number of non-terminated machines targeted by this control plane that have the desired template spec. format: int32 type: integer version: - description: Version represents the minimum Kubernetes version for - the control plane machines in the cluster. + description: Version represents the minimum Kubernetes version for the control plane machines in the cluster. type: string type: object type: object @@ -2432,8 +1698,7 @@ spec: jsonPath: .metadata.labels['cluster\.x-k8s\.io/cluster-name'] name: Cluster type: string - - description: This denotes whether or not the control plane has the uploaded - kubeadm-config configmap + - description: This denotes whether or not the control plane has the uploaded kubeadm-config configmap jsonPath: .status.initialized name: Initialized type: boolean @@ -2446,8 +1711,7 @@ spec: name: Desired priority: 10 type: integer - - description: Total number of non-terminated machines targeted by this control - plane + - description: Total number of non-terminated machines targeted by this control plane jsonPath: .status.replicas name: Replicas type: integer @@ -2455,8 +1719,7 @@ spec: jsonPath: .status.readyReplicas name: Ready type: integer - - description: Total number of non-terminated machines targeted by this control - plane that have the desired template spec + - description: Total number of non-terminated machines targeted by this control plane that have the desired template spec jsonPath: .status.updatedReplicas name: Updated type: integer @@ -2475,18 +1738,13 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: KubeadmControlPlane is the Schema for the KubeadmControlPlane - API. + description: KubeadmControlPlane is the Schema for the KubeadmControlPlane API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -2494,45 +1752,34 @@ spec: description: KubeadmControlPlaneSpec defines the desired state of KubeadmControlPlane. properties: kubeadmConfigSpec: - description: KubeadmConfigSpec is a KubeadmConfigSpec to use for initializing - and joining machines to the control plane. + description: KubeadmConfigSpec is a KubeadmConfigSpec to use for initializing and joining machines to the control plane. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration - are the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for the API - server control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative Names - for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass - to the control plane component. TODO: This is temporary - and ideally we would like to switch all components to - use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that - will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod - where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -2541,8 +1788,7 @@ spec: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to the - volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -2551,66 +1797,39 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the timeout - that we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store or - look for all required certificates. NB: if not provided, - this will default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP address - or DNS name for the control plane; it can be a valid IP - address or a RFC-1123 DNS subdomain, both with optional - TCP port. In case the ControlPlaneEndpoint is not specified, - the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint - is specified but without a TCP port, the BindPort is used. - Possible usages are: e.g. In a cluster with more than one - control plane instances, this field should be assigned the - address of the external load balancer in front of the control - plane instances. e.g. in environments with enforced node - recycling, the ControlPlaneEndpoint could be used for assigning - a stable DNS to the control plane. NB: This value defaults - to the first value in the Cluster object status.apiEndpoints - array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings for - the controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass - to the control plane component. TODO: This is temporary - and ideally we would like to switch all components to - use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that - will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod - where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -2619,8 +1838,7 @@ spec: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to the - volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -2630,48 +1848,34 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on installed - in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for the - image. In case this value is set, kubeadm does not change - automatically the version of the above components during - upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: This - value defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect to an external - etcd cluster Local and External are mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate Authority - file used to secure etcd communication. Required - if using a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification file - used to secure etcd communication. Required if using - a TLS connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: - description: Endpoints of etcd members. Required for - ExternalEtcd. + description: Endpoints of etcd members. Required for ExternalEtcd. items: type: string type: array keyFile: - description: KeyFile is an SSL key file used to secure - etcd communication. Required if using a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -2680,40 +1884,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs for configuring - the local etcd instance Local and External are mutually - exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd will place - its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments provided - to the etcd binary when run inside a static pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for - the image. In case this value is set, kubeadm does - not change automatically the version of the above - components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject Alternative - Names for the etcd server signing cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -2725,74 +1918,45 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry to - pull images from. If empty, `registry.k8s.io` will be used - by default; in case of kubernetes version is a CI build - (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` - will be used as a default for control plane components and - for kube-proxy, while `registry.k8s.io` will be used for - all the other images. + description: ImageRepository sets the container registry to pull images from. If empty, `registry.k8s.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `registry.k8s.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version of the - control plane. NB: This value defaults to the Machine object - spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to the - Cluster object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used by k8s services. - Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. If - unset, the API server will not allocate CIDR ranges - for every node. Defaults to a comma-delimited string - of the Cluster object's spec.clusterNetwork.services.cidrBlocks - if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used by k8s services. - Defaults to a comma-delimited string of the Cluster - object's spec.clusterNetwork.pods.cidrBlocks, or to - "10.96.0.0/12" if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for the scheduler - control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass - to the control plane component. TODO: This is temporary - and ideally we would like to switch all components to - use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that - will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod - where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -2801,8 +1965,7 @@ spec: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to the - volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -2813,12 +1976,10 @@ spec: type: object type: object diskSetup: - description: DiskSetup specifies options for the creation of partition - tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file systems - to setup. + description: Filesystems specifies the list of file systems to setup. items: description: Filesystem defines the file systems to be created. properties: @@ -2826,8 +1987,7 @@ spec: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options to add - to the command for creating the file system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array @@ -2835,26 +1995,16 @@ spec: description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system label to - be used. If set to None, no label is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not to overwrite - any existing filesystem. If true, any pre-existing - file system will be destroyed. Use with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition to use. - The valid options are: "auto|any", "auto", "any", - "none", and , where NUM is the actual partition - number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, used - for Microsoft Azure that instructs cloud-init to replace - a file system of . NOTE: unless you define - a label, this requires the use of the ''any'' partition - directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -2863,32 +2013,21 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the partitions - to setup. + description: Partitions specifies the list of the partitions to setup. items: - description: Partition defines how to create and layout - a partition. + description: Partition defines how to create and layout a partition. properties: device: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. If - it is true, a single partition will be created for - the entire device. When layout is false, it means - don't partition or ignore existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to skip checks - and create the partition if a partition or filesystem - is found on the device. Use with caution. Default - is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of partition - table. The following are supported: ''mbr'': default - and setups a MS-DOS partition table ''gpt'': setups - a GPT partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -2897,34 +2036,27 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed to user_data - upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files - in cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: append: - description: Append specifies whether to append Content - to existing file if Path exists. + description: Append specifies whether to append Content to existing file if Path exists. type: boolean content: description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source of content - to populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that should - populate this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's data - map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -2934,32 +2066,27 @@ spec: - secret type: object encoding: - description: Encoding specifies the encoding of the file - contents. + description: Encoding specifies the encoding of the file contents. enum: - base64 - gzip - gzip+base64 type: string owner: - description: Owner specifies the ownership of the file, - e.g. "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk where - to store the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions to assign - to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path type: object type: array format: - description: Format specifies the output format of the bootstrap - data + description: Format specifies the output format of the bootstrap data enum: - cloud-config - ignition @@ -2971,67 +2098,44 @@ spec: description: ContainerLinuxConfig contains CLC specific configuration. properties: additionalConfig: - description: "AdditionalConfig contains additional configuration - to be merged with the Ignition configuration generated - by the bootstrapper controller. More info: https://coreos.github.io/ignition/operator-notes/#config-merging - \n The data format is documented here: https://kinvolk.io/docs/flatcar-container-linux/latest/provisioning/cl-config/" + description: "AdditionalConfig contains additional configuration to be merged with the Ignition configuration generated by the bootstrapper controller. More info: https://coreos.github.io/ignition/operator-notes/#config-merging \n The data format is documented here: https://kinvolk.io/docs/flatcar-container-linux/latest/provisioning/cl-config/" type: string strict: - description: Strict controls if AdditionalConfig should - be strictly parsed. If so, warnings are treated as errors. + description: Strict controls if AdditionalConfig should be strictly parsed. If so, warnings are treated as errors. type: boolean type: object type: object initConfiguration: - description: InitConfiguration along with ClusterConfiguration - are the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm init` - time and describes a set of Bootstrap Tokens to create. - This information IS NOT uploaded to the kubeadm cluster - configmap, partly because of its sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap token, - stored as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly message - why this token exists and what it's used for, so other - administrators can know its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp when this - token expires. Defaults to being set dynamically at - runtime based on the TTL. Expires and TTL are mutually - exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups that - this token will authenticate as when/if used for authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing bidirectional - trust between nodes and control-planes. Used for joining - nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for this token. - Defaults to 24h. Expires and TTL are mutually exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which this - token can be used. Can by default be used for establishing - bidirectional trust, but that can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -3040,105 +2144,55 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint of the - API server instance that's deployed on this control plane - node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global endpoint - for the cluster, which then loadbalances the requests to - each individual API server. This configuration object lets - you customize what IP/DNS name and port the local API server - advertises it's accessible on. By default, kubeadm tries - to auto-detect the IP of the default interface and use that, - but in case that process fails you may set the desired value - here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address for - the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the API - Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object nodeRegistration: - description: NodeRegistration holds fields that relate to - registering the new control-plane node to the cluster. When - used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration and - JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node - API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice of - pre-flight errors to be ignored when the current node - is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the - kubelet command line via the environment file kubeadm - writes at runtime for the kubelet to source. This overrides - the generic base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. These - values are local and specific to the node kubeadm is - executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the - Node API object that will be created in this `kubeadm - init` or `kubeadm join` operation. This field is also - used in the CommonName field of the kubelet's client - certificate to the API server. Defaults to the hostname - of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API - object should be registered with. If this field is unset, - i.e. nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: []` - in the YAML file. This field is solely used for Node - registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: []` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has - the "effect" on any pod that does not tolerate the - Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on - pods that do not tolerate the taint. Valid effects - are NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the - taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -3147,125 +2201,70 @@ spec: type: array type: object patches: - description: Patches contains options related to applying - patches to components deployed by kubeadm during "kubeadm - init". The minimum kubernetes version needed to support - Patches is v1.22 + description: Patches contains options related to applying patches to components deployed by kubeadm during "kubeadm init". The minimum kubernetes version needed to support Patches is v1.22 properties: directory: - description: Directory is a path to a directory that contains - files named "target[suffix][+patchtype].extension". - For example, "kube-apiserver0+merge.yaml" or just "etcd.json". - "target" can be one of "kube-apiserver", "kube-controller-manager", - "kube-scheduler", "etcd". "patchtype" can be one of - "strategic" "merge" or "json" and they match the patch - formats supported by kubectl. The default "patchtype" - is "strategic". "extension" must be either "json" or - "yaml". "suffix" is an optional string that can be used - to determine which patches are applied first alpha-numerically. - These files can be written into the target directory - via KubeadmConfig.Files which specifies additional files - to be created on the machine, either with content inline - or by referencing a secret. + description: Directory is a path to a directory that contains files named "target[suffix][+patchtype].extension". For example, "kube-apiserver0+merge.yaml" or just "etcd.json". "target" can be one of "kube-apiserver", "kube-controller-manager", "kube-scheduler", "etcd". "patchtype" can be one of "strategic" "merge" or "json" and they match the patch formats supported by kubectl. The default "patchtype" is "strategic". "extension" must be either "json" or "yaml". "suffix" is an optional string that can be used to determine which patches are applied first alpha-numerically. These files can be written into the target directory via KubeadmConfig.Files which specifies additional files to be created on the machine, either with content inline or by referencing a secret. type: string type: object skipPhases: - description: SkipPhases is a list of phases to skip during - command execution. The list of phases can be obtained with - the "kubeadm init --help" command. This option takes effect - only on Kubernetes >=1.22.0. + description: SkipPhases is a list of phases to skip during command execution. The list of phases can be obtained with the "kubeadm init --help" command. This option takes effect only on Kubernetes >=1.22.0. items: type: string type: array type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration for - the join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate - authority used to secure comunications between node and - control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". - TODO: revisit when there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control plane - instance to be deployed on the joining node. If nil, no - additional control plane instance will be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance to be deployed on this node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the - API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object type: object discovery: - description: 'Discovery specifies the options for the kubelet - to use during the TLS Bootstrap process TODO: revisit when - there is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the options - for bootstrap token based discovery BootstrapToken and - File are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or domain - name to the API server from which info will be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set of public - key pins to verify when token-based discovery is - used. The root CA found during discovery must match - one of these values. Specifying an empty set disables - root CA pinning, which can be unsafe. Each hash - is specified as ":", where the only - currently supported type is "sha256". This is a - hex-encoded SHA-256 hash of the Subject Public Key - Info (SPKI) object in DER-encoded ASN.1. These hashes - can be calculated using, for example, OpenSSL: openssl - x509 -pubkey -in ca.crt openssl rsa -pubin -outform - der 2>&/dev/null | openssl dgst -sha256 -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate cluster - information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since other - nodes can impersonate the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token type: object file: - description: File is used to specify a file or URL to - a kubeconfig file from which to load cluster information - BootstrapToken and File are mutually exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify the - actual file path or URL to the kubeconfig file from - which to load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -3274,91 +2273,48 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: TLSBootstrapToken is a token used for TLS - bootstrapping. If .BootstrapToken is set, this field - is defaulted to .BootstrapToken.Token, but can be overridden. - If .File is set, this field **must be set** in case - the KubeConfigFile does not contain any other authentication - information + description: TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information type: string type: object kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate to - registering the new control-plane node to the cluster. When - used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration and - JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node - API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice of - pre-flight errors to be ignored when the current node - is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the - kubelet command line via the environment file kubeadm - writes at runtime for the kubelet to source. This overrides - the generic base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. These - values are local and specific to the node kubeadm is - executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the - Node API object that will be created in this `kubeadm - init` or `kubeadm join` operation. This field is also - used in the CommonName field of the kubelet's client - certificate to the API server. Defaults to the hostname - of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API - object should be registered with. If this field is unset, - i.e. nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: []` - in the YAML file. This field is solely used for Node - registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: []` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has - the "effect" on any pod that does not tolerate the - Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on - pods that do not tolerate the taint. Valid effects - are NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the - taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -3367,33 +2323,14 @@ spec: type: array type: object patches: - description: Patches contains options related to applying - patches to components deployed by kubeadm during "kubeadm - join". The minimum kubernetes version needed to support - Patches is v1.22 + description: Patches contains options related to applying patches to components deployed by kubeadm during "kubeadm join". The minimum kubernetes version needed to support Patches is v1.22 properties: directory: - description: Directory is a path to a directory that contains - files named "target[suffix][+patchtype].extension". - For example, "kube-apiserver0+merge.yaml" or just "etcd.json". - "target" can be one of "kube-apiserver", "kube-controller-manager", - "kube-scheduler", "etcd". "patchtype" can be one of - "strategic" "merge" or "json" and they match the patch - formats supported by kubectl. The default "patchtype" - is "strategic". "extension" must be either "json" or - "yaml". "suffix" is an optional string that can be used - to determine which patches are applied first alpha-numerically. - These files can be written into the target directory - via KubeadmConfig.Files which specifies additional files - to be created on the machine, either with content inline - or by referencing a secret. + description: Directory is a path to a directory that contains files named "target[suffix][+patchtype].extension". For example, "kube-apiserver0+merge.yaml" or just "etcd.json". "target" can be one of "kube-apiserver", "kube-controller-manager", "kube-scheduler", "etcd". "patchtype" can be one of "strategic" "merge" or "json" and they match the patch formats supported by kubectl. The default "patchtype" is "strategic". "extension" must be either "json" or "yaml". "suffix" is an optional string that can be used to determine which patches are applied first alpha-numerically. These files can be written into the target directory via KubeadmConfig.Files which specifies additional files to be created on the machine, either with content inline or by referencing a secret. type: string type: object skipPhases: - description: SkipPhases is a list of phases to skip during - command execution. The list of phases can be obtained with - the "kubeadm init --help" command. This option takes effect - only on Kubernetes >=1.22.0. + description: SkipPhases is a list of phases to skip during command execution. The list of phases can be obtained with the "kubeadm init --help" command. This option takes effect only on Kubernetes >=1.22.0. items: type: string type: array @@ -3401,8 +2338,7 @@ spec: mounts: description: Mounts specifies a list of mount points to be setup. items: - description: MountPoints defines input for generated mounts - in cloud-init. + description: MountPoints defines input for generated mounts in cloud-init. items: type: string type: array @@ -3420,75 +2356,55 @@ spec: type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands to run - after kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands to run - before kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic kubeadm - command with a shell script with retries for joins. \n This - is meant to be an experimental temporary workaround on some - environments where joins fail due to timing (and other issues). - The long term goal is to add retries to kubeadm proper and use - that functionality. \n This will add about 40KB to userdata - \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055. - Deprecated: This experimental fix is no longer needed and this - field will be removed in a future release." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055. Deprecated: This experimental fix is no longer needed and this field will be removed in a future release." type: boolean users: description: Users specifies extra users to add items: - description: User defines the input for a generated user in - cloud-init. + description: User defines the input for a generated user in cloud-init. properties: gecos: description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups for - the user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory to use - for the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark the user - as inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password login should - be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name type: string passwd: - description: Passwd specifies a hashed password for the - user + description: Passwd specifies a hashed password for the user type: string passwdFrom: - description: PasswdFrom is a referenced source of passwd - to populate the passwd. + description: PasswdFrom is a referenced source of passwd to populate the passwd. properties: secret: - description: Secret represents a secret that should - populate this password. + description: Secret represents a secret that should populate this password. properties: key: - description: Key is the key in the secret's data - map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -3498,15 +2414,13 @@ spec: - secret type: object primaryGroup: - description: PrimaryGroup specifies the primary group for - the user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list of ssh authorized - keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array @@ -3518,34 +2432,21 @@ spec: type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log level - verbosity. It overrides the `--v` flag in kubeadm commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object machineTemplate: - description: MachineTemplate contains information about how machines - should be shaped when creating or updating a control plane. + description: MachineTemplate contains information about how machines should be shaped when creating or updating a control plane. properties: infrastructureRef: - description: InfrastructureRef is a required reference to a custom - resource offered by an infrastructure provider. + 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.' + 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' @@ -3557,8 +2458,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -3571,49 +2471,29 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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' + 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 machine - 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. If no value is provided, - the default value for this property of the Machine resource - will be used. + description: NodeDeletionTimeout defines how long the machine 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. If no value is provided, the default value for this property of the Machine resource will be used. type: string nodeDrainTimeout: - description: 'NodeDrainTimeout is the total amount of time that - the controller will spend on draining a controlplane 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`' + description: 'NodeDrainTimeout is the total amount of time that the controller will spend on draining a controlplane 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 required: - infrastructureRef type: object replicas: - description: Number of desired machines. Defaults to 1. When stacked - etcd is used only odd numbers are permitted, as per [etcd best practice](https://etcd.io/docs/v3.3.12/faq/#why-an-odd-number-of-cluster-members). - This is a pointer to distinguish between explicit zero and not specified. + description: Number of desired machines. Defaults to 1. When stacked etcd is used only odd numbers are permitted, as per [etcd best practice](https://etcd.io/docs/v3.3.12/faq/#why-an-odd-number-of-cluster-members). This is a pointer to distinguish between explicit zero and not specified. format: int32 type: integer rolloutAfter: - description: RolloutAfter is a field to indicate a rollout should - be performed after the specified time even if no changes have been - made to the KubeadmControlPlane. + description: RolloutAfter is a field to indicate a rollout should be performed after the specified time even if no changes have been made to the KubeadmControlPlane. format: date-time type: string rolloutStrategy: @@ -3621,27 +2501,20 @@ spec: rollingUpdate: maxSurge: 1 type: RollingUpdate - description: The RolloutStrategy to use to replace control plane machines - with new ones. + description: The RolloutStrategy to use to replace control plane machines with new ones. properties: rollingUpdate: - description: Rolling update config params. Present only if RolloutStrategyType - = RollingUpdate. + description: Rolling update config params. Present only if RolloutStrategyType = RollingUpdate. properties: maxSurge: anyOf: - type: integer - type: string - description: 'The maximum number of control planes that can - be scheduled above or under the desired number of control - planes. Value can be an absolute number 1 or 0. Defaults - to 1. Example: when this is set to 1, the control plane - can be scaled up immediately when the rolling update starts.' + description: 'The maximum number of control planes that can be scheduled above or under the desired number of control planes. Value can be an absolute number 1 or 0. Defaults to 1. Example: when this is set to 1, the control plane can be scaled up immediately when the rolling update starts.' x-kubernetes-int-or-string: true type: object type: - description: Type of rollout. Currently the only supported strategy - is "RollingUpdate". Default is RollingUpdate. + description: Type of rollout. Currently the only supported strategy is "RollingUpdate". Default is RollingUpdate. type: string type: object version: @@ -3658,41 +2531,26 @@ spec: conditions: description: Conditions defines current service state of the KubeadmControlPlane. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -3701,60 +2559,42 @@ spec: type: object type: array failureMessage: - description: ErrorMessage indicates that there is a terminal problem - reconciling the state, and will be set to a descriptive error message. + description: ErrorMessage indicates that there is a terminal problem reconciling the state, and will be set to a descriptive error message. type: string failureReason: - description: FailureReason indicates that there is a terminal problem - reconciling the state, and will be set to a token value suitable - for programmatic interpretation. + description: FailureReason indicates that there is a terminal problem reconciling the state, and will be set to a token value suitable for programmatic interpretation. type: string initialized: - description: Initialized denotes whether or not the control plane - has the uploaded kubeadm-config configmap. + description: Initialized denotes whether or not the control plane has the uploaded kubeadm-config configmap. type: boolean observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + description: ObservedGeneration is the latest generation observed by the controller. format: int64 type: integer ready: - description: Ready denotes that the KubeadmControlPlane API Server - is ready to receive requests. + description: Ready denotes that the KubeadmControlPlane API Server is ready to receive requests. type: boolean readyReplicas: - description: Total number of fully running and ready control plane - machines. + description: Total number of fully running and ready control plane machines. format: int32 type: integer replicas: - description: Total number of non-terminated machines targeted by this - control plane (their labels match the selector). + description: Total number of non-terminated machines targeted by this control plane (their labels match the selector). format: int32 type: integer selector: - description: 'Selector is the label selector in string format to avoid - introspection by clients, and is used to provide the CRD-based integration - for the scale subresource and additional integrations for things - like kubectl describe.. 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' + description: 'Selector is the label selector in string format to avoid introspection by clients, and is used to provide the CRD-based integration for the scale subresource and additional integrations for things like kubectl describe.. 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 - control plane. 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 ready or machines - that still have not been created. + description: Total number of unavailable machines targeted by this control plane. 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 ready or machines that still have not been created. format: int32 type: integer updatedReplicas: - description: Total number of non-terminated machines targeted by this - control plane that have the desired template spec. + description: Total number of non-terminated machines targeted by this control plane that have the desired template spec. format: int32 type: integer version: - description: Version represents the minimum Kubernetes version for - the control plane machines in the cluster. + description: Version represents the minimum Kubernetes version for the control plane machines in the cluster. type: string type: object type: object @@ -3810,87 +2650,63 @@ spec: name: v1alpha4 schema: openAPIV3Schema: - description: KubeadmControlPlaneTemplate is the Schema for the kubeadmcontrolplanetemplates - API. + description: KubeadmControlPlaneTemplate is the Schema for the kubeadmcontrolplanetemplates API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: - description: KubeadmControlPlaneTemplateSpec defines the desired state - of KubeadmControlPlaneTemplate. + description: KubeadmControlPlaneTemplateSpec defines the desired state of KubeadmControlPlaneTemplate. properties: template: - description: KubeadmControlPlaneTemplateResource describes the data - needed to create a KubeadmControlPlane from a template. + description: KubeadmControlPlaneTemplateResource describes the data needed to create a KubeadmControlPlane from a template. properties: spec: - description: KubeadmControlPlaneSpec defines the desired state - of KubeadmControlPlane. + description: KubeadmControlPlaneSpec defines the desired state of KubeadmControlPlane. properties: kubeadmConfigSpec: - description: KubeadmConfigSpec is a KubeadmConfigSpec to use - for initializing and joining machines to the control plane. + description: KubeadmConfigSpec is a KubeadmConfigSpec to use for initializing and joining machines to the control plane. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration - are the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for - the API server control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative - Names for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags - to pass to the control plane component. TODO: - This is temporary and ideally we would like - to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements - describing volumes that are mounted from the - host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the - host that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside - the pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the - pod template. + description: Name of the volume inside the pod template. type: string pathType: - description: PathType is the type of the - HostPath. + description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -3899,83 +2715,48 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the - timeout that we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal - value, and may reject unrecognized values. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store - or look for all required certificates. NB: if not - provided, this will default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP - address or DNS name for the control plane; it can - be a valid IP address or a RFC-1123 DNS subdomain, - both with optional TCP port. In case the ControlPlaneEndpoint - is not specified, the AdvertiseAddress + BindPort - are used; in case the ControlPlaneEndpoint is specified - but without a TCP port, the BindPort is used. Possible - usages are: e.g. In a cluster with more than one - control plane instances, this field should be assigned - the address of the external load balancer in front - of the control plane instances. e.g. in environments - with enforced node recycling, the ControlPlaneEndpoint - could be used for assigning a stable DNS to the - control plane. NB: This value defaults to the first - value in the Cluster object status.apiEndpoints - array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings - for the controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags - to pass to the control plane component. TODO: - This is temporary and ideally we would like - to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements - describing volumes that are mounted from the - host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the - host that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside - the pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the - pod template. + description: Name of the volume inside the pod template. type: string pathType: - description: PathType is the type of the - HostPath. + description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -3985,51 +2766,34 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on - installed in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container - registry to pull images from. if not set, the - ImageRepository defined in ClusterConfiguration - will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag - for the image. In case this value is set, kubeadm - does not change automatically the version of - the above components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: - This value defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect - to an external etcd cluster Local and External - are mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate - Authority file used to secure etcd communication. - Required if using a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification - file used to secure etcd communication. - Required if using a TLS connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: - description: Endpoints of etcd members. Required - for ExternalEtcd. + description: Endpoints of etcd members. Required for ExternalEtcd. items: type: string type: array keyFile: - description: KeyFile is an SSL key file used - to secure etcd communication. Required if - using a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -4038,45 +2802,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs - for configuring the local etcd instance Local - and External are mutually exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd - will place its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments - provided to the etcd binary when run inside - a static pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container - registry to pull images from. if not set, - the ImageRepository defined in ClusterConfiguration - will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a - tag for the image. In case this value is - set, kubeadm does not change automatically - the version of the above components during - upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject - Alternative Names for the etcd peer signing - cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject - Alternative Names for the etcd server signing - cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -4088,90 +2836,54 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. If empty, `registry.k8s.io` - will be used by default; in case of kubernetes version - is a CI build (kubernetes version starts with `ci/` - or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will - be used as a default for control plane components - and for kube-proxy, while `registry.k8s.io` will - be used for all the other images. + description: ImageRepository sets the container registry to pull images from. If empty, `registry.k8s.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `registry.k8s.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing - the REST resource this object represents. Servers - may infer this from the endpoint the client submits - requests to. Cannot be updated. In CamelCase. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version - of the control plane. NB: This value defaults to - the Machine object spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the - networking topology of the cluster. NB: This value - defaults to the Cluster object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used - by k8s services. Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. - If unset, the API server will not allocate CIDR - ranges for every node. Defaults to a comma-delimited - string of the Cluster object's spec.clusterNetwork.services.cidrBlocks - if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used - by k8s services. Defaults to a comma-delimited - string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, - or to "10.96.0.0/12" if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for - the scheduler control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags - to pass to the control plane component. TODO: - This is temporary and ideally we would like - to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements - describing volumes that are mounted from the - host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the - host that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside - the pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the - pod template. + description: Name of the volume inside the pod template. type: string pathType: - description: PathType is the type of the - HostPath. + description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -4182,53 +2894,35 @@ spec: type: object type: object diskSetup: - description: DiskSetup specifies options for the creation - of partition tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file - systems to setup. + description: Filesystems specifies the list of file systems to setup. items: - description: Filesystem defines the file systems - to be created. + description: Filesystem defines the file systems to be created. properties: device: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options - to add to the command for creating the file - system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array filesystem: - description: Filesystem specifies the file system - type. + description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system - label to be used. If set to None, no label - is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not - to overwrite any existing filesystem. If true, - any pre-existing file system will be destroyed. - Use with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition - to use. The valid options are: "auto|any", - "auto", "any", "none", and , where NUM - is the actual partition number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, - used for Microsoft Azure that instructs cloud-init - to replace a file system of . NOTE: - unless you define a label, this requires the - use of the ''any'' partition directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -4237,33 +2931,21 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the - partitions to setup. + description: Partitions specifies the list of the partitions to setup. items: - description: Partition defines how to create and - layout a partition. + description: Partition defines how to create and layout a partition. properties: device: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. - If it is true, a single partition will be - created for the entire device. When layout - is false, it means don't partition or ignore - existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to - skip checks and create the partition if a - partition or filesystem is found on the device. - Use with caution. Default is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of - partition table. The following are supported: - ''mbr'': default and setups a MS-DOS partition - table ''gpt'': setups a GPT partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -4272,31 +2954,24 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed - to user_data upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files - in cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: content: - description: Content is the actual content of the - file. + description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source - of content to populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that - should populate this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's - data map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -4306,91 +2981,61 @@ spec: - secret type: object encoding: - description: Encoding specifies the encoding of - the file contents. + description: Encoding specifies the encoding of the file contents. enum: - base64 - gzip - gzip+base64 type: string owner: - description: Owner specifies the ownership of the - file, e.g. "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk - where to store the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions - to assign to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path type: object type: array format: - description: Format specifies the output format of the - bootstrap data + description: Format specifies the output format of the bootstrap data enum: - cloud-config type: string initConfiguration: - description: InitConfiguration along with ClusterConfiguration - are the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal - value, and may reject unrecognized values. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm - init` time and describes a set of Bootstrap Tokens - to create. This information IS NOT uploaded to the - kubeadm cluster configmap, partly because of its - sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap - token, stored as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly - message why this token exists and what it's - used for, so other administrators can know - its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp - when this token expires. Defaults to being - set dynamically at runtime based on the TTL. - Expires and TTL are mutually exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups - that this token will authenticate as when/if - used for authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing - bidirectional trust between nodes and control-planes. - Used for joining nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for - this token. Defaults to 24h. Expires and TTL - are mutually exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which - this token can be used. Can by default be - used for establishing bidirectional trust, - but that can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -4399,111 +3044,55 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing - the REST resource this object represents. Servers - may infer this from the endpoint the client submits - requests to. Cannot be updated. In CamelCase. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance that's deployed on this - control plane node In HA setups, this differs from - ClusterConfiguration.ControlPlaneEndpoint in the - sense that ControlPlaneEndpoint is the global endpoint - for the cluster, which then loadbalances the requests - to each individual API server. This configuration - object lets you customize what IP/DNS name and port - the local API server advertises it's accessible - on. By default, kubeadm tries to auto-detect the - IP of the default interface and use that, but in - case that process fails you may set the desired - value here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for - the API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object nodeRegistration: - description: NodeRegistration holds fields that relate - to registering the new control-plane node to the - cluster. When used in the context of control plane - nodes, NodeRegistration should remain consistent - across both InitConfiguration and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a - slice of pre-flight errors to be ignored when - the current node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here - are passed to the kubelet command line via the - environment file kubeadm writes at runtime for - the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. - These values are local and specific to the node - kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field - of the Node API object that will be created - in this `kubeadm init` or `kubeadm join` operation. - This field is also used in the CommonName field - of the kubelet's client certificate to the API - server. Defaults to the hostname of the node - if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the - Node API object should be registered with. If - this field is unset, i.e. nil, in the `kubeadm - init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane - node, set this field to an empty slice, i.e. - `taints: {}` in the YAML file. This field is - solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached - to has the "effect" on any pod that does not - tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the - taint on pods that do not tolerate the - taint. Valid effects are NoSchedule, PreferNoSchedule - and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to - be applied to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time - at which the taint was added. It is only - written for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding - to the taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -4513,103 +3102,57 @@ spec: type: object type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration - for the join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal - value, and may reject unrecognized values. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate - authority used to secure comunications between node - and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". - TODO: revisit when there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control - plane instance to be deployed on the joining node. - If nil, no additional control plane instance will - be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance to be deployed on - this node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP - address for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port - for the API Server to bind to. Defaults - to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object type: object discovery: - description: 'Discovery specifies the options for - the kubelet to use during the TLS Bootstrap process - TODO: revisit when there is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the - options for bootstrap token based discovery - BootstrapToken and File are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or - domain name to the API server from which - info will be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set - of public key pins to verify when token-based - discovery is used. The root CA found during - discovery must match one of these values. - Specifying an empty set disables root CA - pinning, which can be unsafe. Each hash - is specified as ":", where - the only currently supported type is "sha256". - This is a hex-encoded SHA-256 hash of the - Subject Public Key Info (SPKI) object in - DER-encoded ASN.1. These hashes can be calculated - using, for example, OpenSSL: openssl x509 - -pubkey -in ca.crt openssl rsa -pubin -outform - der 2>&/dev/null | openssl dgst -sha256 - -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate - cluster information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows - token-based discovery without CA verification - via CACertHashes. This can weaken the security - of kubeadm since other nodes can impersonate - the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token type: object file: - description: File is used to specify a file or - URL to a kubeconfig file from which to load - cluster information BootstrapToken and File - are mutually exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify - the actual file path or URL to the kubeconfig - file from which to load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -4618,95 +3161,48 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: TLSBootstrapToken is a token used - for TLS bootstrapping. If .BootstrapToken is - set, this field is defaulted to .BootstrapToken.Token, - but can be overridden. If .File is set, this - field **must be set** in case the KubeConfigFile - does not contain any other authentication information + description: TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information type: string type: object kind: - description: 'Kind is a string value representing - the REST resource this object represents. Servers - may infer this from the endpoint the client submits - requests to. Cannot be updated. In CamelCase. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate - to registering the new control-plane node to the - cluster. When used in the context of control plane - nodes, NodeRegistration should remain consistent - across both InitConfiguration and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a - slice of pre-flight errors to be ignored when - the current node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here - are passed to the kubelet command line via the - environment file kubeadm writes at runtime for - the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. - These values are local and specific to the node - kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field - of the Node API object that will be created - in this `kubeadm init` or `kubeadm join` operation. - This field is also used in the CommonName field - of the kubelet's client certificate to the API - server. Defaults to the hostname of the node - if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the - Node API object should be registered with. If - this field is unset, i.e. nil, in the `kubeadm - init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane - node, set this field to an empty slice, i.e. - `taints: {}` in the YAML file. This field is - solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached - to has the "effect" on any pod that does not - tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the - taint on pods that do not tolerate the - taint. Valid effects are NoSchedule, PreferNoSchedule - and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to - be applied to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time - at which the taint was added. It is only - written for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding - to the taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -4716,11 +3212,9 @@ spec: type: object type: object mounts: - description: Mounts specifies a list of mount points to - be setup. + description: Mounts specifies a list of mount points to be setup. items: - description: MountPoints defines input for generated - mounts in cloud-init. + description: MountPoints defines input for generated mounts in cloud-init. items: type: string type: array @@ -4729,125 +3223,87 @@ spec: description: NTP specifies NTP configuration properties: enabled: - description: Enabled specifies whether NTP should - be enabled + description: Enabled specifies whether NTP should be enabled type: boolean servers: - description: Servers specifies which NTP servers to - use + description: Servers specifies which NTP servers to use items: type: string type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands - to run after kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands - to run before kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic - kubeadm command with a shell script with retries for - joins. \n This is meant to be an experimental temporary - workaround on some environments where joins fail due - to timing (and other issues). The long term goal is - to add retries to kubeadm proper and use that functionality. - \n This will add about 40KB to userdata \n For more - information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." type: boolean users: description: Users specifies extra users to add items: - description: User defines the input for a generated - user in cloud-init. + description: User defines the input for a generated user in cloud-init. properties: gecos: - description: Gecos specifies the gecos to use for - the user + description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups - for the user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory - to use for the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark - the user as inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password - login should be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name type: string passwd: - description: Passwd specifies a hashed password - for the user + description: Passwd specifies a hashed password for the user type: string primaryGroup: - description: PrimaryGroup specifies the primary - group for the user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list - of ssh authorized keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array sudo: - description: Sudo specifies a sudo role for the - user + description: Sudo specifies a sudo role for the user type: string required: - name type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log - level verbosity. It overrides the `--v` flag in kubeadm - commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object machineTemplate: - description: MachineTemplate contains information about how - machines should be shaped when creating or updating a control - plane. + description: MachineTemplate contains information about how machines should be shaped when creating or updating a control plane. properties: infrastructureRef: - description: InfrastructureRef is a required reference - to a custom resource offered by an infrastructure provider. + 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.' + 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' @@ -4856,12 +3312,10 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -4869,49 +3323,31 @@ spec: type: object x-kubernetes-map-type: atomic metadata: - description: 'Standard object''s metadata. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#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' + 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' + 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 nodeDrainTimeout: - description: 'NodeDrainTimeout is the total amount of - time that the controller will spend on draining a controlplane - 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`' + description: 'NodeDrainTimeout is the total amount of time that the controller will spend on draining a controlplane 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 required: - infrastructureRef type: object replicas: - description: Number of desired machines. Defaults to 1. When - stacked etcd is used only odd numbers are permitted, as - per [etcd best practice](https://etcd.io/docs/v3.3.12/faq/#why-an-odd-number-of-cluster-members). - This is a pointer to distinguish between explicit zero and - not specified. + description: Number of desired machines. Defaults to 1. When stacked etcd is used only odd numbers are permitted, as per [etcd best practice](https://etcd.io/docs/v3.3.12/faq/#why-an-odd-number-of-cluster-members). This is a pointer to distinguish between explicit zero and not specified. format: int32 type: integer rolloutAfter: - description: RolloutAfter is a field to indicate a rollout - should be performed after the specified time even if no - changes have been made to the KubeadmControlPlane. + description: RolloutAfter is a field to indicate a rollout should be performed after the specified time even if no changes have been made to the KubeadmControlPlane. format: date-time type: string rolloutStrategy: @@ -4919,28 +3355,20 @@ spec: rollingUpdate: maxSurge: 1 type: RollingUpdate - description: The RolloutStrategy to use to replace control - plane machines with new ones. + description: The RolloutStrategy to use to replace control plane machines with new ones. properties: rollingUpdate: - description: Rolling update config params. Present only - if RolloutStrategyType = RollingUpdate. + description: Rolling update config params. Present only if RolloutStrategyType = RollingUpdate. properties: maxSurge: anyOf: - type: integer - type: string - description: 'The maximum number of control planes - that can be scheduled above or under the desired - number of control planes. Value can be an absolute - number 1 or 0. Defaults to 1. Example: when this - is set to 1, the control plane can be scaled up - immediately when the rolling update starts.' + description: 'The maximum number of control planes that can be scheduled above or under the desired number of control planes. Value can be an absolute number 1 or 0. Defaults to 1. Example: when this is set to 1, the control plane can be scaled up immediately when the rolling update starts.' x-kubernetes-int-or-string: true type: object type: - description: Type of rollout. Currently the only supported - strategy is "RollingUpdate". Default is RollingUpdate. + description: Type of rollout. Currently the only supported strategy is "RollingUpdate". Default is RollingUpdate. type: string type: object version: @@ -4969,91 +3397,63 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: KubeadmControlPlaneTemplate is the Schema for the kubeadmcontrolplanetemplates - API. + description: KubeadmControlPlaneTemplate is the Schema for the kubeadmcontrolplanetemplates API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: - description: KubeadmControlPlaneTemplateSpec defines the desired state - of KubeadmControlPlaneTemplate. + description: KubeadmControlPlaneTemplateSpec defines the desired state of KubeadmControlPlaneTemplate. properties: template: - description: KubeadmControlPlaneTemplateResource describes the data - needed to create a KubeadmControlPlane from a template. + description: KubeadmControlPlaneTemplateResource describes the data needed to create a KubeadmControlPlane from a template. properties: spec: - description: 'KubeadmControlPlaneTemplateResourceSpec defines - the desired state of KubeadmControlPlane. NOTE: KubeadmControlPlaneTemplateResourceSpec - is similar to KubeadmControlPlaneSpec but omits Replicas and - Version fields. These fields do not make sense on the KubeadmControlPlaneTemplate, - because they are calculated by the Cluster topology reconciler - during reconciliation and thus cannot be configured on the KubeadmControlPlaneTemplate.' + description: 'KubeadmControlPlaneTemplateResourceSpec defines the desired state of KubeadmControlPlane. NOTE: KubeadmControlPlaneTemplateResourceSpec is similar to KubeadmControlPlaneSpec but omits Replicas and Version fields. These fields do not make sense on the KubeadmControlPlaneTemplate, because they are calculated by the Cluster topology reconciler during reconciliation and thus cannot be configured on the KubeadmControlPlaneTemplate.' properties: kubeadmConfigSpec: - description: KubeadmConfigSpec is a KubeadmConfigSpec to use - for initializing and joining machines to the control plane. + description: KubeadmConfigSpec is a KubeadmConfigSpec to use for initializing and joining machines to the control plane. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration - are the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for - the API server control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative - Names for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags - to pass to the control plane component. TODO: - This is temporary and ideally we would like - to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements - describing volumes that are mounted from the - host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the - host that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside - the pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the - pod template. + description: Name of the volume inside the pod template. type: string pathType: - description: PathType is the type of the - HostPath. + description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -5062,83 +3462,48 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the - timeout that we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal - value, and may reject unrecognized values. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store - or look for all required certificates. NB: if not - provided, this will default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP - address or DNS name for the control plane; it can - be a valid IP address or a RFC-1123 DNS subdomain, - both with optional TCP port. In case the ControlPlaneEndpoint - is not specified, the AdvertiseAddress + BindPort - are used; in case the ControlPlaneEndpoint is specified - but without a TCP port, the BindPort is used. Possible - usages are: e.g. In a cluster with more than one - control plane instances, this field should be assigned - the address of the external load balancer in front - of the control plane instances. e.g. in environments - with enforced node recycling, the ControlPlaneEndpoint - could be used for assigning a stable DNS to the - control plane. NB: This value defaults to the first - value in the Cluster object status.apiEndpoints - array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings - for the controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags - to pass to the control plane component. TODO: - This is temporary and ideally we would like - to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements - describing volumes that are mounted from the - host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the - host that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside - the pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the - pod template. + description: Name of the volume inside the pod template. type: string pathType: - description: PathType is the type of the - HostPath. + description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -5148,51 +3513,34 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on - installed in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container - registry to pull images from. if not set, the - ImageRepository defined in ClusterConfiguration - will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag - for the image. In case this value is set, kubeadm - does not change automatically the version of - the above components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: - This value defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect - to an external etcd cluster Local and External - are mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate - Authority file used to secure etcd communication. - Required if using a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification - file used to secure etcd communication. - Required if using a TLS connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: - description: Endpoints of etcd members. Required - for ExternalEtcd. + description: Endpoints of etcd members. Required for ExternalEtcd. items: type: string type: array keyFile: - description: KeyFile is an SSL key file used - to secure etcd communication. Required if - using a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -5201,45 +3549,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs - for configuring the local etcd instance Local - and External are mutually exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd - will place its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments - provided to the etcd binary when run inside - a static pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container - registry to pull images from. if not set, - the ImageRepository defined in ClusterConfiguration - will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a - tag for the image. In case this value is - set, kubeadm does not change automatically - the version of the above components during - upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject - Alternative Names for the etcd peer signing - cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject - Alternative Names for the etcd server signing - cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -5251,90 +3583,54 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. If empty, `registry.k8s.io` - will be used by default; in case of kubernetes version - is a CI build (kubernetes version starts with `ci/` - or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will - be used as a default for control plane components - and for kube-proxy, while `registry.k8s.io` will - be used for all the other images. + description: ImageRepository sets the container registry to pull images from. If empty, `registry.k8s.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `registry.k8s.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing - the REST resource this object represents. Servers - may infer this from the endpoint the client submits - requests to. Cannot be updated. In CamelCase. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version - of the control plane. NB: This value defaults to - the Machine object spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the - networking topology of the cluster. NB: This value - defaults to the Cluster object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used - by k8s services. Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. - If unset, the API server will not allocate CIDR - ranges for every node. Defaults to a comma-delimited - string of the Cluster object's spec.clusterNetwork.services.cidrBlocks - if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used - by k8s services. Defaults to a comma-delimited - string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, - or to "10.96.0.0/12" if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for - the scheduler control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags - to pass to the control plane component. TODO: - This is temporary and ideally we would like - to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements - describing volumes that are mounted from the - host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the - host that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside - the pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the - pod template. + description: Name of the volume inside the pod template. type: string pathType: - description: PathType is the type of the - HostPath. + description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -5345,53 +3641,35 @@ spec: type: object type: object diskSetup: - description: DiskSetup specifies options for the creation - of partition tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file - systems to setup. + description: Filesystems specifies the list of file systems to setup. items: - description: Filesystem defines the file systems - to be created. + description: Filesystem defines the file systems to be created. properties: device: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options - to add to the command for creating the file - system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array filesystem: - description: Filesystem specifies the file system - type. + description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system - label to be used. If set to None, no label - is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not - to overwrite any existing filesystem. If true, - any pre-existing file system will be destroyed. - Use with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition - to use. The valid options are: "auto|any", - "auto", "any", "none", and , where NUM - is the actual partition number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, - used for Microsoft Azure that instructs cloud-init - to replace a file system of . NOTE: - unless you define a label, this requires the - use of the ''any'' partition directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -5400,33 +3678,21 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the - partitions to setup. + description: Partitions specifies the list of the partitions to setup. items: - description: Partition defines how to create and - layout a partition. + description: Partition defines how to create and layout a partition. properties: device: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. - If it is true, a single partition will be - created for the entire device. When layout - is false, it means don't partition or ignore - existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to - skip checks and create the partition if a - partition or filesystem is found on the device. - Use with caution. Default is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of - partition table. The following are supported: - ''mbr'': default and setups a MS-DOS partition - table ''gpt'': setups a GPT partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -5435,35 +3701,27 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed - to user_data upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files - in cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: append: - description: Append specifies whether to append - Content to existing file if Path exists. + description: Append specifies whether to append Content to existing file if Path exists. type: boolean content: - description: Content is the actual content of the - file. + description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source - of content to populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that - should populate this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's - data map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -5473,32 +3731,27 @@ spec: - secret type: object encoding: - description: Encoding specifies the encoding of - the file contents. + description: Encoding specifies the encoding of the file contents. enum: - base64 - gzip - gzip+base64 type: string owner: - description: Owner specifies the ownership of the - file, e.g. "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk - where to store the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions - to assign to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path type: object type: array format: - description: Format specifies the output format of the - bootstrap data + description: Format specifies the output format of the bootstrap data enum: - cloud-config - ignition @@ -5507,79 +3760,47 @@ spec: description: Ignition contains Ignition specific configuration. properties: containerLinuxConfig: - description: ContainerLinuxConfig contains CLC specific - configuration. + description: ContainerLinuxConfig contains CLC specific configuration. properties: additionalConfig: - description: "AdditionalConfig contains additional - configuration to be merged with the Ignition - configuration generated by the bootstrapper - controller. More info: https://coreos.github.io/ignition/operator-notes/#config-merging - \n The data format is documented here: https://kinvolk.io/docs/flatcar-container-linux/latest/provisioning/cl-config/" + description: "AdditionalConfig contains additional configuration to be merged with the Ignition configuration generated by the bootstrapper controller. More info: https://coreos.github.io/ignition/operator-notes/#config-merging \n The data format is documented here: https://kinvolk.io/docs/flatcar-container-linux/latest/provisioning/cl-config/" type: string strict: - description: Strict controls if AdditionalConfig - should be strictly parsed. If so, warnings are - treated as errors. + description: Strict controls if AdditionalConfig should be strictly parsed. If so, warnings are treated as errors. type: boolean type: object type: object initConfiguration: - description: InitConfiguration along with ClusterConfiguration - are the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal - value, and may reject unrecognized values. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm - init` time and describes a set of Bootstrap Tokens - to create. This information IS NOT uploaded to the - kubeadm cluster configmap, partly because of its - sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap - token, stored as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly - message why this token exists and what it's - used for, so other administrators can know - its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp - when this token expires. Defaults to being - set dynamically at runtime based on the TTL. - Expires and TTL are mutually exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups - that this token will authenticate as when/if - used for authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing - bidirectional trust between nodes and control-planes. - Used for joining nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for - this token. Defaults to 24h. Expires and TTL - are mutually exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which - this token can be used. Can by default be - used for establishing bidirectional trust, - but that can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -5588,111 +3809,55 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing - the REST resource this object represents. Servers - may infer this from the endpoint the client submits - requests to. Cannot be updated. In CamelCase. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance that's deployed on this - control plane node In HA setups, this differs from - ClusterConfiguration.ControlPlaneEndpoint in the - sense that ControlPlaneEndpoint is the global endpoint - for the cluster, which then loadbalances the requests - to each individual API server. This configuration - object lets you customize what IP/DNS name and port - the local API server advertises it's accessible - on. By default, kubeadm tries to auto-detect the - IP of the default interface and use that, but in - case that process fails you may set the desired - value here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for - the API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object nodeRegistration: - description: NodeRegistration holds fields that relate - to registering the new control-plane node to the - cluster. When used in the context of control plane - nodes, NodeRegistration should remain consistent - across both InitConfiguration and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a - slice of pre-flight errors to be ignored when - the current node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here - are passed to the kubelet command line via the - environment file kubeadm writes at runtime for - the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. - These values are local and specific to the node - kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field - of the Node API object that will be created - in this `kubeadm init` or `kubeadm join` operation. - This field is also used in the CommonName field - of the kubelet's client certificate to the API - server. Defaults to the hostname of the node - if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the - Node API object should be registered with. If - this field is unset, i.e. nil, in the `kubeadm - init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane - node, set this field to an empty slice, i.e. - `taints: []` in the YAML file. This field is - solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: []` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached - to has the "effect" on any pod that does not - tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the - taint on pods that do not tolerate the - taint. Valid effects are NoSchedule, PreferNoSchedule - and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to - be applied to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time - at which the taint was added. It is only - written for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding - to the taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -5701,137 +3866,70 @@ spec: type: array type: object patches: - description: Patches contains options related to applying - patches to components deployed by kubeadm during - "kubeadm init". The minimum kubernetes version needed - to support Patches is v1.22 + description: Patches contains options related to applying patches to components deployed by kubeadm during "kubeadm init". The minimum kubernetes version needed to support Patches is v1.22 properties: directory: - description: Directory is a path to a directory - that contains files named "target[suffix][+patchtype].extension". - For example, "kube-apiserver0+merge.yaml" or - just "etcd.json". "target" can be one of "kube-apiserver", - "kube-controller-manager", "kube-scheduler", - "etcd". "patchtype" can be one of "strategic" - "merge" or "json" and they match the patch formats - supported by kubectl. The default "patchtype" - is "strategic". "extension" must be either "json" - or "yaml". "suffix" is an optional string that - can be used to determine which patches are applied - first alpha-numerically. These files can be - written into the target directory via KubeadmConfig.Files - which specifies additional files to be created - on the machine, either with content inline or - by referencing a secret. + description: Directory is a path to a directory that contains files named "target[suffix][+patchtype].extension". For example, "kube-apiserver0+merge.yaml" or just "etcd.json". "target" can be one of "kube-apiserver", "kube-controller-manager", "kube-scheduler", "etcd". "patchtype" can be one of "strategic" "merge" or "json" and they match the patch formats supported by kubectl. The default "patchtype" is "strategic". "extension" must be either "json" or "yaml". "suffix" is an optional string that can be used to determine which patches are applied first alpha-numerically. These files can be written into the target directory via KubeadmConfig.Files which specifies additional files to be created on the machine, either with content inline or by referencing a secret. type: string type: object skipPhases: - description: SkipPhases is a list of phases to skip - during command execution. The list of phases can - be obtained with the "kubeadm init --help" command. - This option takes effect only on Kubernetes >=1.22.0. + description: SkipPhases is a list of phases to skip during command execution. The list of phases can be obtained with the "kubeadm init --help" command. This option takes effect only on Kubernetes >=1.22.0. items: type: string type: array type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration - for the join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal - value, and may reject unrecognized values. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate - authority used to secure comunications between node - and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". - TODO: revisit when there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control - plane instance to be deployed on the joining node. - If nil, no additional control plane instance will - be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance to be deployed on - this node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP - address for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port - for the API Server to bind to. Defaults - to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object type: object discovery: - description: 'Discovery specifies the options for - the kubelet to use during the TLS Bootstrap process - TODO: revisit when there is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the - options for bootstrap token based discovery - BootstrapToken and File are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or - domain name to the API server from which - info will be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set - of public key pins to verify when token-based - discovery is used. The root CA found during - discovery must match one of these values. - Specifying an empty set disables root CA - pinning, which can be unsafe. Each hash - is specified as ":", where - the only currently supported type is "sha256". - This is a hex-encoded SHA-256 hash of the - Subject Public Key Info (SPKI) object in - DER-encoded ASN.1. These hashes can be calculated - using, for example, OpenSSL: openssl x509 - -pubkey -in ca.crt openssl rsa -pubin -outform - der 2>&/dev/null | openssl dgst -sha256 - -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate - cluster information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows - token-based discovery without CA verification - via CACertHashes. This can weaken the security - of kubeadm since other nodes can impersonate - the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token type: object file: - description: File is used to specify a file or - URL to a kubeconfig file from which to load - cluster information BootstrapToken and File - are mutually exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify - the actual file path or URL to the kubeconfig - file from which to load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -5840,95 +3938,48 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: TLSBootstrapToken is a token used - for TLS bootstrapping. If .BootstrapToken is - set, this field is defaulted to .BootstrapToken.Token, - but can be overridden. If .File is set, this - field **must be set** in case the KubeConfigFile - does not contain any other authentication information + description: TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information type: string type: object kind: - description: 'Kind is a string value representing - the REST resource this object represents. Servers - may infer this from the endpoint the client submits - requests to. Cannot be updated. In CamelCase. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate - to registering the new control-plane node to the - cluster. When used in the context of control plane - nodes, NodeRegistration should remain consistent - across both InitConfiguration and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a - slice of pre-flight errors to be ignored when - the current node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here - are passed to the kubelet command line via the - environment file kubeadm writes at runtime for - the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. - These values are local and specific to the node - kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field - of the Node API object that will be created - in this `kubeadm init` or `kubeadm join` operation. - This field is also used in the CommonName field - of the kubelet's client certificate to the API - server. Defaults to the hostname of the node - if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the - Node API object should be registered with. If - this field is unset, i.e. nil, in the `kubeadm - init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane - node, set this field to an empty slice, i.e. - `taints: []` in the YAML file. This field is - solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: []` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached - to has the "effect" on any pod that does not - tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the - taint on pods that do not tolerate the - taint. Valid effects are NoSchedule, PreferNoSchedule - and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to - be applied to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time - at which the taint was added. It is only - written for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding - to the taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -5937,45 +3988,22 @@ spec: type: array type: object patches: - description: Patches contains options related to applying - patches to components deployed by kubeadm during - "kubeadm join". The minimum kubernetes version needed - to support Patches is v1.22 + description: Patches contains options related to applying patches to components deployed by kubeadm during "kubeadm join". The minimum kubernetes version needed to support Patches is v1.22 properties: directory: - description: Directory is a path to a directory - that contains files named "target[suffix][+patchtype].extension". - For example, "kube-apiserver0+merge.yaml" or - just "etcd.json". "target" can be one of "kube-apiserver", - "kube-controller-manager", "kube-scheduler", - "etcd". "patchtype" can be one of "strategic" - "merge" or "json" and they match the patch formats - supported by kubectl. The default "patchtype" - is "strategic". "extension" must be either "json" - or "yaml". "suffix" is an optional string that - can be used to determine which patches are applied - first alpha-numerically. These files can be - written into the target directory via KubeadmConfig.Files - which specifies additional files to be created - on the machine, either with content inline or - by referencing a secret. + description: Directory is a path to a directory that contains files named "target[suffix][+patchtype].extension". For example, "kube-apiserver0+merge.yaml" or just "etcd.json". "target" can be one of "kube-apiserver", "kube-controller-manager", "kube-scheduler", "etcd". "patchtype" can be one of "strategic" "merge" or "json" and they match the patch formats supported by kubectl. The default "patchtype" is "strategic". "extension" must be either "json" or "yaml". "suffix" is an optional string that can be used to determine which patches are applied first alpha-numerically. These files can be written into the target directory via KubeadmConfig.Files which specifies additional files to be created on the machine, either with content inline or by referencing a secret. type: string type: object skipPhases: - description: SkipPhases is a list of phases to skip - during command execution. The list of phases can - be obtained with the "kubeadm init --help" command. - This option takes effect only on Kubernetes >=1.22.0. + description: SkipPhases is a list of phases to skip during command execution. The list of phases can be obtained with the "kubeadm init --help" command. This option takes effect only on Kubernetes >=1.22.0. items: type: string type: array type: object mounts: - description: Mounts specifies a list of mount points to - be setup. + description: Mounts specifies a list of mount points to be setup. items: - description: MountPoints defines input for generated - mounts in cloud-init. + description: MountPoints defines input for generated mounts in cloud-init. items: type: string type: array @@ -5984,88 +4012,64 @@ spec: description: NTP specifies NTP configuration properties: enabled: - description: Enabled specifies whether NTP should - be enabled + description: Enabled specifies whether NTP should be enabled type: boolean servers: - description: Servers specifies which NTP servers to - use + description: Servers specifies which NTP servers to use items: type: string type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands - to run after kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands - to run before kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic - kubeadm command with a shell script with retries for - joins. \n This is meant to be an experimental temporary - workaround on some environments where joins fail due - to timing (and other issues). The long term goal is - to add retries to kubeadm proper and use that functionality. - \n This will add about 40KB to userdata \n For more - information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055. - Deprecated: This experimental fix is no longer needed - and this field will be removed in a future release." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055. Deprecated: This experimental fix is no longer needed and this field will be removed in a future release." type: boolean users: description: Users specifies extra users to add items: - description: User defines the input for a generated - user in cloud-init. + description: User defines the input for a generated user in cloud-init. properties: gecos: - description: Gecos specifies the gecos to use for - the user + description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups - for the user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory - to use for the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark - the user as inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password - login should be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name type: string passwd: - description: Passwd specifies a hashed password - for the user + description: Passwd specifies a hashed password for the user type: string passwdFrom: - description: PasswdFrom is a referenced source of - passwd to populate the passwd. + description: PasswdFrom is a referenced source of passwd to populate the passwd. properties: secret: - description: Secret represents a secret that - should populate this password. + description: Secret represents a secret that should populate this password. properties: key: - description: Key is the key in the secret's - data map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -6075,58 +4079,40 @@ spec: - secret type: object primaryGroup: - description: PrimaryGroup specifies the primary - group for the user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list - of ssh authorized keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array sudo: - description: Sudo specifies a sudo role for the - user + description: Sudo specifies a sudo role for the user type: string required: - name type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log - level verbosity. It overrides the `--v` flag in kubeadm - commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object machineTemplate: - description: MachineTemplate contains information about how - machines should be shaped when creating or updating a control - plane. + description: MachineTemplate contains information about how machines should be shaped when creating or updating a control plane. properties: nodeDeletionTimeout: - description: NodeDeletionTimeout defines how long the - machine 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. If - no value is provided, the default value for this property - of the Machine resource will be used. + description: NodeDeletionTimeout defines how long the machine 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. If no value is provided, the default value for this property of the Machine resource will be used. type: string nodeDrainTimeout: - description: 'NodeDrainTimeout is the total amount of - time that the controller will spend on draining a controlplane - 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`' + description: 'NodeDrainTimeout is the total amount of time that the controller will spend on draining a controlplane 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 type: object rolloutAfter: - description: RolloutAfter is a field to indicate a rollout - should be performed after the specified time even if no - changes have been made to the KubeadmControlPlane. + description: RolloutAfter is a field to indicate a rollout should be performed after the specified time even if no changes have been made to the KubeadmControlPlane. format: date-time type: string rolloutStrategy: @@ -6134,28 +4120,20 @@ spec: rollingUpdate: maxSurge: 1 type: RollingUpdate - description: The RolloutStrategy to use to replace control - plane machines with new ones. + description: The RolloutStrategy to use to replace control plane machines with new ones. properties: rollingUpdate: - description: Rolling update config params. Present only - if RolloutStrategyType = RollingUpdate. + description: Rolling update config params. Present only if RolloutStrategyType = RollingUpdate. properties: maxSurge: anyOf: - type: integer - type: string - description: 'The maximum number of control planes - that can be scheduled above or under the desired - number of control planes. Value can be an absolute - number 1 or 0. Defaults to 1. Example: when this - is set to 1, the control plane can be scaled up - immediately when the rolling update starts.' + description: 'The maximum number of control planes that can be scheduled above or under the desired number of control planes. Value can be an absolute number 1 or 0. Defaults to 1. Example: when this is set to 1, the control plane can be scaled up immediately when the rolling update starts.' x-kubernetes-int-or-string: true type: object type: - description: Type of rollout. Currently the only supported - strategy is "RollingUpdate". Default is RollingUpdate. + description: Type of rollout. Currently the only supported strategy is "RollingUpdate". Default is RollingUpdate. type: string type: object required: @@ -6351,7 +4329,7 @@ spec: - --namespace=test1 - --leader-elect - --metrics-bind-addr=localhost:8080 - #- --feature-gates=ClusterTopology=${CLUSTER_TOPOLOGY:=false},KubeadmBootstrapFormatIgnition=${EXP_KUBEADM_BOOTSTRAP_FORMAT_IGNITION:=false} + #- --feature-gates=ClusterTopology=${CLUSTER_TOPOLOGY:=false},KubeadmBootstrapFormatIgnition=${EXP_KUBEADM_BOOTSTRAP_FORMAT_IGNITION:=false} command: - /manager env: diff --git a/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/role-binding.yaml b/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/role-binding.yaml index 66b0bde5..585a8178 100644 --- a/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/role-binding.yaml +++ b/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/role-binding.yaml @@ -1,4 +1,3 @@ ---- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: diff --git a/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/secret.yaml b/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/secret.yaml index 453881bf..9e8ac791 100644 --- a/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/secret.yaml +++ b/Support/Multitenancy/capi_capm3-mult-instances/test1-manifests/secret.yaml @@ -1,4 +1,3 @@ ---- apiVersion: cert-manager.io/v1 kind: Certificate metadata: diff --git a/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/bmh.yaml b/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/bmh.yaml index 4a4ee3d1..81183a29 100644 --- a/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/bmh.yaml +++ b/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/bmh.yaml @@ -1,4 +1,3 @@ ---- apiVersion: v1 kind: Secret metadata: diff --git a/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/bmo.yaml b/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/bmo.yaml index fb9e59f5..5aa66e49 100644 --- a/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/bmo.yaml +++ b/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/bmo.yaml @@ -66,14 +66,10 @@ spec: description: BareMetalHost is the Schema for the baremetalhosts API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -82,8 +78,7 @@ spec: properties: automatedCleaningMode: default: metadata - description: When set to disabled, automated cleaning will be avoided - during provisioning and deprovisioning. + description: When set to disabled, automated cleaning will be avoided during provisioning and deprovisioning. enum: - metadata - disabled @@ -92,57 +87,37 @@ spec: description: How do we connect to the BMC? properties: address: - description: Address holds the URL for accessing the controller - on the network. + description: Address holds the URL for accessing the controller on the network. type: string credentialsName: - description: The name of the secret containing the BMC credentials - (requires keys "username" and "password"). + description: The name of the secret containing the BMC credentials (requires keys "username" and "password"). type: string disableCertificateVerification: - description: DisableCertificateVerification disables verification - of server certificates when using HTTPS to connect to the BMC. - This is required when the server certificate is self-signed, - but is insecure because it allows a man-in-the-middle to intercept - the connection. + description: DisableCertificateVerification disables verification of server certificates when using HTTPS to connect to the BMC. This is required when the server certificate is self-signed, but is insecure because it allows a man-in-the-middle to intercept the connection. type: boolean required: - address - credentialsName type: object bootMACAddress: - description: Which MAC address will PXE boot? This is optional for - some types, but required for libvirt VMs driven by vbmc. + description: Which MAC address will PXE boot? This is optional for some types, but required for libvirt VMs driven by vbmc. pattern: '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}' type: string bootMode: - description: Select the method of initializing the hardware during - boot. Defaults to UEFI. + description: Select the method of initializing the hardware during boot. Defaults to UEFI. enum: - UEFI - UEFISecureBoot - legacy type: string consumerRef: - description: ConsumerRef can be used to store information about something - that is using a host. When it is not empty, the host is considered - "in use". + description: ConsumerRef can be used to store information about something that is using a host. When it is not empty, the host is considered "in use". properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -154,8 +129,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -165,54 +139,41 @@ spec: description: A custom deploy procedure. properties: method: - description: Custom deploy method name. This name is specific - to the deploy ramdisk used. If you don't have a custom deploy - ramdisk, you shouldn't use CustomDeploy. + description: Custom deploy method name. This name is specific to the deploy ramdisk used. If you don't have a custom deploy ramdisk, you shouldn't use CustomDeploy. type: string required: - method type: object description: - description: Description is a human-entered text used to help identify - the host + description: Description is a human-entered text used to help identify the host type: string externallyProvisioned: - description: ExternallyProvisioned means something else is managing - the image running on the host and the operator should only manage - the power status and hardware inventory inspection. If the Image - field is filled in, this field is ignored. + description: ExternallyProvisioned means something else is managing the image running on the host and the operator should only manage the power status and hardware inventory inspection. If the Image field is filled in, this field is ignored. type: boolean firmware: description: BIOS configuration for bare metal server properties: simultaneousMultithreadingEnabled: - description: 'Allows a single physical processor core to appear - as several logical processors. This supports following options: - true, false.' + description: 'Allows a single physical processor core to appear as several logical processors. This supports following options: true, false.' enum: - true - false type: boolean sriovEnabled: - description: 'SR-IOV support enables a hypervisor to create virtual - instances of a PCI-express device, potentially increasing performance. - This supports following options: true, false.' + description: 'SR-IOV support enables a hypervisor to create virtual instances of a PCI-express device, potentially increasing performance. This supports following options: true, false.' enum: - true - false type: boolean virtualizationEnabled: - description: 'Supports the virtualization of platform hardware. - This supports following options: true, false.' + description: 'Supports the virtualization of platform hardware. This supports following options: true, false.' enum: - true - false type: boolean type: object hardwareProfile: - description: What is the name of the hardware profile for this host? - It should only be necessary to set this when inspection cannot automatically - determine the profile. + description: What is the name of the hardware profile for this host? It should only be necessary to set this when inspection cannot automatically determine the profile. type: string image: description: Image holds the details of the image to be provisioned. @@ -221,19 +182,14 @@ spec: description: Checksum is the checksum for the image. type: string checksumType: - description: ChecksumType is the checksum algorithm for the image. - e.g md5, sha256, sha512 + description: ChecksumType is the checksum algorithm for the image. e.g md5, sha256, sha512 enum: - md5 - sha256 - sha512 type: string format: - description: DiskFormat contains the format of the image (raw, - qcow2, ...). Needs to be set to raw for raw images streaming. - Note live-iso means an iso referenced by the url will be live-booted - and not deployed to disk, and in this case the checksum options - are not required and if specified will be ignored. + description: DiskFormat contains the format of the image (raw, qcow2, ...). Needs to be set to raw for raw images streaming. Note live-iso means an iso referenced by the url will be live-booted and not deployed to disk, and in this case the checksum options are not required and if specified will be ignored. enum: - raw - qcow2 @@ -248,59 +204,44 @@ spec: - url type: object metaData: - description: MetaData holds the reference to the Secret containing - host metadata (e.g. meta_data.json) which is passed to the Config - Drive. + description: MetaData holds the reference to the Secret containing host metadata (e.g. meta_data.json) which is passed to the Config Drive. properties: name: - description: Name is unique within a namespace to reference a - secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which the secret - name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object networkData: - description: NetworkData holds the reference to the Secret containing - network configuration (e.g content of network_data.json) which is - passed to the Config Drive. + description: NetworkData holds the reference to the Secret containing network configuration (e.g content of network_data.json) which is passed to the Config Drive. properties: name: - description: Name is unique within a namespace to reference a - secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which the secret - name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object online: description: Should the server be online? type: boolean preprovisioningNetworkDataName: - description: PreprovisioningNetworkDataName is the name of the Secret - in the local namespace containing network configuration (e.g content - of network_data.json) which is passed to the preprovisioning image, - and to the Config Drive if not overridden by specifying NetworkData. + description: PreprovisioningNetworkDataName is the name of the Secret in the local namespace containing network configuration (e.g content of network_data.json) which is passed to the preprovisioning image, and to the Config Drive if not overridden by specifying NetworkData. type: string raid: description: RAID configuration for bare metal server properties: hardwareRAIDVolumes: - description: The list of logical disks for hardware RAID, if rootDeviceHints - isn't used, first volume is root volume. You can set the value - of this field to `[]` to clear all the hardware RAID configurations. + description: The list of logical disks for hardware RAID, if rootDeviceHints isn't used, first volume is root volume. You can set the value of this field to `[]` to clear all the hardware RAID configurations. items: - description: HardwareRAIDVolume defines the desired configuration - of volume in hardware RAID + description: HardwareRAIDVolume defines the desired configuration of volume in hardware RAID properties: controller: description: The name of the RAID controller to use type: string level: - description: 'RAID level for the logical disk. The following - levels are supported: 0;1;2;5;6;1+0;5+0;6+0.' + description: 'RAID level for the logical disk. The following levels are supported: 0;1;2;5;6;1+0;5+0;6+0.' enum: - "0" - "1" @@ -312,32 +253,23 @@ spec: - 6+0 type: string name: - description: Name of the volume. Should be unique within - the Node. If not specified, volume name will be auto-generated. + description: Name of the volume. Should be unique within the Node. If not specified, volume name will be auto-generated. maxLength: 64 type: string numberOfPhysicalDisks: - description: Integer, number of physical disks to use for - the logical disk. Defaults to minimum number of disks - required for the particular RAID level. + description: Integer, number of physical disks to use for the logical disk. Defaults to minimum number of disks required for the particular RAID level. minimum: 1 type: integer physicalDisks: - description: Optional list of physical disk names to be - used for the Hardware RAID volumes. The disk names are - interpreted by the Hardware RAID controller, and the format - is hardware specific. + description: Optional list of physical disk names to be used for the Hardware RAID volumes. The disk names are interpreted by the Hardware RAID controller, and the format is hardware specific. items: type: string type: array rotational: - description: Select disks with only rotational or solid-state - storage + description: Select disks with only rotational or solid-state storage type: boolean sizeGibibytes: - description: Size (Integer) of the logical disk to be created - in GiB. If unspecified or set be 0, the maximum capacity - of disk will be used for logical disk. + description: Size (Integer) of the logical disk to be created in GiB. If unspecified or set be 0, the maximum capacity of disk will be used for logical disk. minimum: 0 type: integer required: @@ -346,85 +278,58 @@ spec: nullable: true type: array softwareRAIDVolumes: - description: The list of logical disks for software RAID, if rootDeviceHints - isn't used, first volume is root volume. If HardwareRAIDVolumes - is set this item will be invalid. The number of created Software - RAID devices must be 1 or 2. If there is only one Software RAID - device, it has to be a RAID-1. If there are two, the first one - has to be a RAID-1, while the RAID level for the second one - can be 0, 1, or 1+0. As the first RAID device will be the deployment - device, enforcing a RAID-1 reduces the risk of ending up with - a non-booting node in case of a disk failure. Software RAID - will always be deleted. + description: The list of logical disks for software RAID, if rootDeviceHints isn't used, first volume is root volume. If HardwareRAIDVolumes is set this item will be invalid. The number of created Software RAID devices must be 1 or 2. If there is only one Software RAID device, it has to be a RAID-1. If there are two, the first one has to be a RAID-1, while the RAID level for the second one can be 0, 1, or 1+0. As the first RAID device will be the deployment device, enforcing a RAID-1 reduces the risk of ending up with a non-booting node in case of a disk failure. Software RAID will always be deleted. items: - description: SoftwareRAIDVolume defines the desired configuration - of volume in software RAID + description: SoftwareRAIDVolume defines the desired configuration of volume in software RAID properties: level: - description: 'RAID level for the logical disk. The following - levels are supported: 0;1;1+0.' + description: 'RAID level for the logical disk. The following levels are supported: 0;1;1+0.' enum: - "0" - "1" - 1+0 type: string physicalDisks: - description: A list of device hints, the number of items - should be greater than or equal to 2. + description: A list of device hints, the number of items should be greater than or equal to 2. items: - description: RootDeviceHints holds the hints for specifying - the storage location for the root filesystem for the - image. + description: RootDeviceHints holds the hints for specifying the storage location for the root filesystem for the image. properties: deviceName: - description: A Linux device name like "/dev/vda". - The hint must match the actual value exactly. + description: A Linux device name like "/dev/vda". The hint must match the actual value exactly. type: string hctl: - description: A SCSI bus address like 0:0:0:0. The - hint must match the actual value exactly. + description: A SCSI bus address like 0:0:0:0. The hint must match the actual value exactly. type: string minSizeGigabytes: description: The minimum size of the device in Gigabytes. minimum: 0 type: integer model: - description: A vendor-specific device identifier. - The hint can be a substring of the actual value. + description: A vendor-specific device identifier. The hint can be a substring of the actual value. type: string rotational: - description: True if the device should use spinning - media, false otherwise. + description: True if the device should use spinning media, false otherwise. type: boolean serialNumber: - description: Device serial number. The hint must match - the actual value exactly. + description: Device serial number. The hint must match the actual value exactly. type: string vendor: - description: The name of the vendor or manufacturer - of the device. The hint can be a substring of the - actual value. + description: The name of the vendor or manufacturer of the device. The hint can be a substring of the actual value. type: string wwn: - description: Unique storage identifier. The hint must - match the actual value exactly. + description: Unique storage identifier. The hint must match the actual value exactly. type: string wwnVendorExtension: - description: Unique vendor storage identifier. The - hint must match the actual value exactly. + description: Unique vendor storage identifier. The hint must match the actual value exactly. type: string wwnWithExtension: - description: Unique storage identifier with the vendor - extension appended. The hint must match the actual - value exactly. + description: Unique storage identifier with the vendor extension appended. The hint must match the actual value exactly. type: string type: object minItems: 2 type: array sizeGibibytes: - description: Size (Integer) of the logical disk to be created - in GiB. If unspecified or set be 0, the maximum capacity - of disk will be used for logical disk. + description: Size (Integer) of the logical disk to be created in GiB. If unspecified or set be 0, the maximum capacity of disk will be used for logical disk. minimum: 0 type: integer required: @@ -435,69 +340,53 @@ spec: type: array type: object rootDeviceHints: - description: Provide guidance about how to choose the device for the - image being provisioned. + description: Provide guidance about how to choose the device for the image being provisioned. properties: deviceName: - description: A Linux device name like "/dev/vda". The hint must - match the actual value exactly. + description: A Linux device name like "/dev/vda". The hint must match the actual value exactly. type: string hctl: - description: A SCSI bus address like 0:0:0:0. The hint must match - the actual value exactly. + description: A SCSI bus address like 0:0:0:0. The hint must match the actual value exactly. type: string minSizeGigabytes: description: The minimum size of the device in Gigabytes. minimum: 0 type: integer model: - description: A vendor-specific device identifier. The hint can - be a substring of the actual value. + description: A vendor-specific device identifier. The hint can be a substring of the actual value. type: string rotational: - description: True if the device should use spinning media, false - otherwise. + description: True if the device should use spinning media, false otherwise. type: boolean serialNumber: - description: Device serial number. The hint must match the actual - value exactly. + description: Device serial number. The hint must match the actual value exactly. type: string vendor: - description: The name of the vendor or manufacturer of the device. - The hint can be a substring of the actual value. + description: The name of the vendor or manufacturer of the device. The hint can be a substring of the actual value. type: string wwn: - description: Unique storage identifier. The hint must match the - actual value exactly. + description: Unique storage identifier. The hint must match the actual value exactly. type: string wwnVendorExtension: - description: Unique vendor storage identifier. The hint must match - the actual value exactly. + description: Unique vendor storage identifier. The hint must match the actual value exactly. type: string wwnWithExtension: - description: Unique storage identifier with the vendor extension - appended. The hint must match the actual value exactly. + description: Unique storage identifier with the vendor extension appended. The hint must match the actual value exactly. type: string type: object taints: - description: Taints is the full, authoritative list of taints to apply - to the corresponding Machine. This list will overwrite any modifications - made to the Machine on an ongoing basis. + description: Taints is the full, authoritative list of taints to apply to the corresponding Machine. This list will overwrite any modifications made to the Machine on an ongoing basis. items: - description: The node this Taint is attached to has the "effect" - on any pod that does not tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on pods that - do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule - and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which the taint - was added. It is only written for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: @@ -509,16 +398,13 @@ spec: type: object type: array userData: - description: UserData holds the reference to the Secret containing - the user data to be passed to the host before it boots. + description: UserData holds the reference to the Secret containing the user data to be passed to the host before it boots. properties: name: - description: Name is unique within a namespace to reference a - secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which the secret - name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object required: @@ -529,15 +415,13 @@ spec: properties: errorCount: default: 0 - description: ErrorCount records how many times the host has encoutered - an error since the last successful operation + description: ErrorCount records how many times the host has encoutered an error since the last successful operation type: integer errorMessage: description: the last error message reported by the provisioning subsystem type: string errorType: - description: ErrorType indicates the type of failure encountered when - the OperationalStatus is OperationalStatusError + description: ErrorType indicates the type of failure encountered when the OperationalStatus is OperationalStatusError enum: - provisioned registration error - registration error @@ -550,16 +434,13 @@ spec: description: the last credentials we were able to validate as working properties: credentials: - description: SecretReference represents a Secret Reference. It - has enough information to retrieve secret in any namespace + description: SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace properties: name: - description: Name is unique within a namespace to reference - a secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which the - secret name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object credentialsVersion: @@ -610,18 +491,14 @@ spec: description: NIC describes one network interface on the host. properties: ip: - description: The IP address of the interface. This will - be an IPv4 or IPv6 address if one is present. If both - IPv4 and IPv6 addresses are present in a dual-stack environment, - two nics will be output, one with each IP. + description: The IP address of the interface. This will be an IPv4 or IPv6 address if one is present. If both IPv4 and IPv6 addresses are present in a dual-stack environment, two nics will be output, one with each IP. type: string mac: description: The device MAC address pattern: '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}' type: string model: - description: The vendor and product IDs of the NIC, e.g. - "0x8086 0x1572" + description: The vendor and product IDs of the NIC, e.g. "0x8086 0x1572" type: string name: description: The name of the network interface, e.g. "en0" @@ -659,8 +536,7 @@ spec: type: integer storage: items: - description: Storage describes one storage device (disk, SSD, - etc.) on the host. + description: Storage describes one storage device (disk, SSD, etc.) on the host. properties: hctl: description: The SCSI location of the device @@ -669,14 +545,10 @@ spec: description: Hardware model type: string name: - description: The Linux device name of the disk, e.g. "/dev/sda". - Note that this may not be stable across reboots. + description: The Linux device name of the disk, e.g. "/dev/sda". Note that this may not be stable across reboots. type: string rotational: - description: Whether this disk represents rotational storage. - This field is not recommended for usage, please prefer - using 'Type' field instead, this field will be deprecated - eventually. + description: Whether this disk represents rotational storage. This field is not recommended for usage, please prefer using 'Type' field instead, this field will be deprecated eventually. type: boolean serialNumber: description: The serial number of the device @@ -707,8 +579,7 @@ spec: type: object type: array systemVendor: - description: HardwareSystemVendor stores details about the whole - hardware system. + description: HardwareSystemVendor stores details about the whole hardware system. properties: manufacturer: type: string @@ -726,12 +597,10 @@ spec: format: date-time type: string operationHistory: - description: OperationHistory holds information about operations performed - on this host. + description: OperationHistory holds information about operations performed on this host. properties: deprovision: - description: OperationMetric contains metadata about an operation - (inspection, provisioning, etc.) used for tracking metrics. + description: OperationMetric contains metadata about an operation (inspection, provisioning, etc.) used for tracking metrics. properties: end: format: date-time @@ -743,8 +612,7 @@ spec: type: string type: object inspect: - description: OperationMetric contains metadata about an operation - (inspection, provisioning, etc.) used for tracking metrics. + description: OperationMetric contains metadata about an operation (inspection, provisioning, etc.) used for tracking metrics. properties: end: format: date-time @@ -756,8 +624,7 @@ spec: type: string type: object provision: - description: OperationMetric contains metadata about an operation - (inspection, provisioning, etc.) used for tracking metrics. + description: OperationMetric contains metadata about an operation (inspection, provisioning, etc.) used for tracking metrics. properties: end: format: date-time @@ -769,8 +636,7 @@ spec: type: string type: object register: - description: OperationMetric contains metadata about an operation - (inspection, provisioning, etc.) used for tracking metrics. + description: OperationMetric contains metadata about an operation (inspection, provisioning, etc.) used for tracking metrics. properties: end: format: date-time @@ -799,12 +665,10 @@ spec: description: Information tracked by the provisioner. properties: ID: - description: The machine's UUID from the underlying provisioning - tool + description: The machine's UUID from the underlying provisioning tool type: string bootMode: - description: BootMode indicates the boot mode used to provision - the node + description: BootMode indicates the boot mode used to provision the node enum: - UEFI - UEFISecureBoot @@ -814,9 +678,7 @@ spec: description: Custom deploy procedure applied to the host. properties: method: - description: Custom deploy method name. This name is specific - to the deploy ramdisk used. If you don't have a custom deploy - ramdisk, you shouldn't use CustomDeploy. + description: Custom deploy method name. This name is specific to the deploy ramdisk used. If you don't have a custom deploy ramdisk, you shouldn't use CustomDeploy. type: string required: - method @@ -825,51 +687,39 @@ spec: description: The Bios set by the user properties: simultaneousMultithreadingEnabled: - description: 'Allows a single physical processor core to appear - as several logical processors. This supports following options: - true, false.' + description: 'Allows a single physical processor core to appear as several logical processors. This supports following options: true, false.' enum: - true - false type: boolean sriovEnabled: - description: 'SR-IOV support enables a hypervisor to create - virtual instances of a PCI-express device, potentially increasing - performance. This supports following options: true, false.' + description: 'SR-IOV support enables a hypervisor to create virtual instances of a PCI-express device, potentially increasing performance. This supports following options: true, false.' enum: - true - false type: boolean virtualizationEnabled: - description: 'Supports the virtualization of platform hardware. - This supports following options: true, false.' + description: 'Supports the virtualization of platform hardware. This supports following options: true, false.' enum: - true - false type: boolean type: object image: - description: Image holds the details of the last image successfully - provisioned to the host. + description: Image holds the details of the last image successfully provisioned to the host. properties: checksum: description: Checksum is the checksum for the image. type: string checksumType: - description: ChecksumType is the checksum algorithm for the - image. e.g md5, sha256, sha512 + description: ChecksumType is the checksum algorithm for the image. e.g md5, sha256, sha512 enum: - md5 - sha256 - sha512 type: string format: - description: DiskFormat contains the format of the image (raw, - qcow2, ...). Needs to be set to raw for raw images streaming. - Note live-iso means an iso referenced by the url will be - live-booted and not deployed to disk, and in this case the - checksum options are not required and if specified will - be ignored. + description: DiskFormat contains the format of the image (raw, qcow2, ...). Needs to be set to raw for raw images streaming. Note live-iso means an iso referenced by the url will be live-booted and not deployed to disk, and in this case the checksum options are not required and if specified will be ignored. enum: - raw - qcow2 @@ -887,20 +737,15 @@ spec: description: The Raid set by the user properties: hardwareRAIDVolumes: - description: The list of logical disks for hardware RAID, - if rootDeviceHints isn't used, first volume is root volume. - You can set the value of this field to `[]` to clear all - the hardware RAID configurations. + description: The list of logical disks for hardware RAID, if rootDeviceHints isn't used, first volume is root volume. You can set the value of this field to `[]` to clear all the hardware RAID configurations. items: - description: HardwareRAIDVolume defines the desired configuration - of volume in hardware RAID + description: HardwareRAIDVolume defines the desired configuration of volume in hardware RAID properties: controller: description: The name of the RAID controller to use type: string level: - description: 'RAID level for the logical disk. The following - levels are supported: 0;1;2;5;6;1+0;5+0;6+0.' + description: 'RAID level for the logical disk. The following levels are supported: 0;1;2;5;6;1+0;5+0;6+0.' enum: - "0" - "1" @@ -912,32 +757,23 @@ spec: - 6+0 type: string name: - description: Name of the volume. Should be unique within - the Node. If not specified, volume name will be auto-generated. + description: Name of the volume. Should be unique within the Node. If not specified, volume name will be auto-generated. maxLength: 64 type: string numberOfPhysicalDisks: - description: Integer, number of physical disks to use - for the logical disk. Defaults to minimum number of - disks required for the particular RAID level. + description: Integer, number of physical disks to use for the logical disk. Defaults to minimum number of disks required for the particular RAID level. minimum: 1 type: integer physicalDisks: - description: Optional list of physical disk names to - be used for the Hardware RAID volumes. The disk names - are interpreted by the Hardware RAID controller, and - the format is hardware specific. + description: Optional list of physical disk names to be used for the Hardware RAID volumes. The disk names are interpreted by the Hardware RAID controller, and the format is hardware specific. items: type: string type: array rotational: - description: Select disks with only rotational or solid-state - storage + description: Select disks with only rotational or solid-state storage type: boolean sizeGibibytes: - description: Size (Integer) of the logical disk to be - created in GiB. If unspecified or set be 0, the maximum - capacity of disk will be used for logical disk. + description: Size (Integer) of the logical disk to be created in GiB. If unspecified or set be 0, the maximum capacity of disk will be used for logical disk. minimum: 0 type: integer required: @@ -946,87 +782,58 @@ spec: nullable: true type: array softwareRAIDVolumes: - description: The list of logical disks for software RAID, - if rootDeviceHints isn't used, first volume is root volume. - If HardwareRAIDVolumes is set this item will be invalid. - The number of created Software RAID devices must be 1 or - 2. If there is only one Software RAID device, it has to - be a RAID-1. If there are two, the first one has to be a - RAID-1, while the RAID level for the second one can be 0, - 1, or 1+0. As the first RAID device will be the deployment - device, enforcing a RAID-1 reduces the risk of ending up - with a non-booting node in case of a disk failure. Software - RAID will always be deleted. + description: The list of logical disks for software RAID, if rootDeviceHints isn't used, first volume is root volume. If HardwareRAIDVolumes is set this item will be invalid. The number of created Software RAID devices must be 1 or 2. If there is only one Software RAID device, it has to be a RAID-1. If there are two, the first one has to be a RAID-1, while the RAID level for the second one can be 0, 1, or 1+0. As the first RAID device will be the deployment device, enforcing a RAID-1 reduces the risk of ending up with a non-booting node in case of a disk failure. Software RAID will always be deleted. items: - description: SoftwareRAIDVolume defines the desired configuration - of volume in software RAID + description: SoftwareRAIDVolume defines the desired configuration of volume in software RAID properties: level: - description: 'RAID level for the logical disk. The following - levels are supported: 0;1;1+0.' + description: 'RAID level for the logical disk. The following levels are supported: 0;1;1+0.' enum: - "0" - "1" - 1+0 type: string physicalDisks: - description: A list of device hints, the number of items - should be greater than or equal to 2. + description: A list of device hints, the number of items should be greater than or equal to 2. items: - description: RootDeviceHints holds the hints for specifying - the storage location for the root filesystem for - the image. + description: RootDeviceHints holds the hints for specifying the storage location for the root filesystem for the image. properties: deviceName: - description: A Linux device name like "/dev/vda". - The hint must match the actual value exactly. + description: A Linux device name like "/dev/vda". The hint must match the actual value exactly. type: string hctl: - description: A SCSI bus address like 0:0:0:0. - The hint must match the actual value exactly. + description: A SCSI bus address like 0:0:0:0. The hint must match the actual value exactly. type: string minSizeGigabytes: - description: The minimum size of the device in - Gigabytes. + description: The minimum size of the device in Gigabytes. minimum: 0 type: integer model: - description: A vendor-specific device identifier. - The hint can be a substring of the actual value. + description: A vendor-specific device identifier. The hint can be a substring of the actual value. type: string rotational: - description: True if the device should use spinning - media, false otherwise. + description: True if the device should use spinning media, false otherwise. type: boolean serialNumber: - description: Device serial number. The hint must - match the actual value exactly. + description: Device serial number. The hint must match the actual value exactly. type: string vendor: - description: The name of the vendor or manufacturer - of the device. The hint can be a substring of - the actual value. + description: The name of the vendor or manufacturer of the device. The hint can be a substring of the actual value. type: string wwn: - description: Unique storage identifier. The hint - must match the actual value exactly. + description: Unique storage identifier. The hint must match the actual value exactly. type: string wwnVendorExtension: - description: Unique vendor storage identifier. - The hint must match the actual value exactly. + description: Unique vendor storage identifier. The hint must match the actual value exactly. type: string wwnWithExtension: - description: Unique storage identifier with the - vendor extension appended. The hint must match - the actual value exactly. + description: Unique storage identifier with the vendor extension appended. The hint must match the actual value exactly. type: string type: object minItems: 2 type: array sizeGibibytes: - description: Size (Integer) of the logical disk to be - created in GiB. If unspecified or set be 0, the maximum - capacity of disk will be used for logical disk. + description: Size (Integer) of the logical disk to be created in GiB. If unspecified or set be 0, the maximum capacity of disk will be used for logical disk. minimum: 0 type: integer required: @@ -1040,49 +847,39 @@ spec: description: The RootDevicehints set by the user properties: deviceName: - description: A Linux device name like "/dev/vda". The hint - must match the actual value exactly. + description: A Linux device name like "/dev/vda". The hint must match the actual value exactly. type: string hctl: - description: A SCSI bus address like 0:0:0:0. The hint must - match the actual value exactly. + description: A SCSI bus address like 0:0:0:0. The hint must match the actual value exactly. type: string minSizeGigabytes: description: The minimum size of the device in Gigabytes. minimum: 0 type: integer model: - description: A vendor-specific device identifier. The hint - can be a substring of the actual value. + description: A vendor-specific device identifier. The hint can be a substring of the actual value. type: string rotational: - description: True if the device should use spinning media, - false otherwise. + description: True if the device should use spinning media, false otherwise. type: boolean serialNumber: - description: Device serial number. The hint must match the - actual value exactly. + description: Device serial number. The hint must match the actual value exactly. type: string vendor: - description: The name of the vendor or manufacturer of the - device. The hint can be a substring of the actual value. + description: The name of the vendor or manufacturer of the device. The hint can be a substring of the actual value. type: string wwn: - description: Unique storage identifier. The hint must match - the actual value exactly. + description: Unique storage identifier. The hint must match the actual value exactly. type: string wwnVendorExtension: - description: Unique vendor storage identifier. The hint must - match the actual value exactly. + description: Unique vendor storage identifier. The hint must match the actual value exactly. type: string wwnWithExtension: - description: Unique storage identifier with the vendor extension - appended. The hint must match the actual value exactly. + description: Unique storage identifier with the vendor extension appended. The hint must match the actual value exactly. type: string type: object state: - description: An indiciator for what the provisioner is doing with - the host. + description: An indiciator for what the provisioner is doing with the host. type: string required: - ID @@ -1092,16 +889,13 @@ spec: description: the last credentials we sent to the provisioning backend properties: credentials: - description: SecretReference represents a Secret Reference. It - has enough information to retrieve secret in any namespace + description: SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace properties: name: - description: Name is unique within a namespace to reference - a secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which the - secret name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object credentialsVersion: @@ -1161,14 +955,10 @@ spec: description: BMCEventSubscription is the Schema for the fast eventing API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -1184,16 +974,13 @@ spec: description: A reference to a BareMetalHost type: string httpHeadersRef: - description: A secret containing HTTP headers which should be passed - along to the Destination when making a request + description: A secret containing HTTP headers which should be passed along to the Destination when making a request properties: name: - description: Name is unique within a namespace to reference a - secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which the secret - name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object type: object @@ -1238,14 +1025,10 @@ spec: description: FirmwareSchema is the Schema for the firmwareschemas API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -1289,8 +1072,7 @@ spec: description: Whether or not this setting is read only. type: boolean unique: - description: Whether or not this setting's value is unique to - this node, e.g. a serial number. + description: Whether or not this setting's value is unique to this node, e.g. a serial number. type: boolean upper_bound: description: The highest value for an Integer type setting. @@ -1340,14 +1122,10 @@ spec: description: HardwareData is the Schema for the hardwaredata API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -1399,18 +1177,14 @@ spec: description: NIC describes one network interface on the host. properties: ip: - description: The IP address of the interface. This will - be an IPv4 or IPv6 address if one is present. If both - IPv4 and IPv6 addresses are present in a dual-stack environment, - two nics will be output, one with each IP. + description: The IP address of the interface. This will be an IPv4 or IPv6 address if one is present. If both IPv4 and IPv6 addresses are present in a dual-stack environment, two nics will be output, one with each IP. type: string mac: description: The device MAC address pattern: '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}' type: string model: - description: The vendor and product IDs of the NIC, e.g. - "0x8086 0x1572" + description: The vendor and product IDs of the NIC, e.g. "0x8086 0x1572" type: string name: description: The name of the network interface, e.g. "en0" @@ -1448,8 +1222,7 @@ spec: type: integer storage: items: - description: Storage describes one storage device (disk, SSD, - etc.) on the host. + description: Storage describes one storage device (disk, SSD, etc.) on the host. properties: hctl: description: The SCSI location of the device @@ -1458,14 +1231,10 @@ spec: description: Hardware model type: string name: - description: The Linux device name of the disk, e.g. "/dev/sda". - Note that this may not be stable across reboots. + description: The Linux device name of the disk, e.g. "/dev/sda". Note that this may not be stable across reboots. type: string rotational: - description: Whether this disk represents rotational storage. - This field is not recommended for usage, please prefer - using 'Type' field instead, this field will be deprecated - eventually. + description: Whether this disk represents rotational storage. This field is not recommended for usage, please prefer using 'Type' field instead, this field will be deprecated eventually. type: boolean serialNumber: description: The serial number of the device @@ -1496,8 +1265,7 @@ spec: type: object type: array systemVendor: - description: HardwareSystemVendor stores details about the whole - hardware system. + description: HardwareSystemVendor stores details about the whole hardware system. properties: manufacturer: type: string @@ -1540,18 +1308,13 @@ spec: - name: v1alpha1 schema: openAPIV3Schema: - description: HostFirmwareSettings is the Schema for the hostfirmwaresettings - API + description: HostFirmwareSettings is the Schema for the hostfirmwaresettings API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -1564,58 +1327,34 @@ spec: - type: integer - type: string x-kubernetes-int-or-string: true - description: Settings are the desired firmware settings stored as - name/value pairs. + description: Settings are the desired firmware settings stored as name/value pairs. type: object required: - settings type: object status: - description: HostFirmwareSettingsStatus defines the observed state of - HostFirmwareSettings + description: HostFirmwareSettingsStatus defines the observed state of HostFirmwareSettings properties: conditions: - description: Track whether settings stored in the spec are valid based - on the schema + description: Track whether settings stored in the spec are valid based on the schema items: - description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - type FooStatus struct{ // Represents the observations of a foo's - current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" properties: lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. + description: lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. + description: message is a human readable message indicating details about the transition. This may be an empty string. maxLength: 32768 type: string observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. + description: observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. format: int64 minimum: 0 type: integer reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. - This field may not be empty. + description: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. maxLength: 1024 minLength: 1 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ @@ -1628,11 +1367,7 @@ spec: - Unknown type: string type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + description: type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string @@ -1652,16 +1387,13 @@ spec: format: date-time type: string schema: - description: FirmwareSchema is a reference to the Schema used to describe - each FirmwareSetting. By default, this will be a Schema in the same - Namespace as the settings but it can be overwritten in the Spec + description: FirmwareSchema is a reference to the Schema used to describe each FirmwareSetting. By default, this will be a Schema in the same Namespace as the settings but it can be overwritten in the Spec properties: name: description: '`name` is the reference to the schema.' type: string namespace: - description: '`namespace` is the namespace of the where the schema - is stored.' + description: '`namespace` is the namespace of the where the schema is stored.' type: string required: - name @@ -1670,8 +1402,7 @@ spec: settings: additionalProperties: type: string - description: Settings are the firmware settings stored as name/value - pairs + description: Settings are the firmware settings stored as name/value pairs type: object required: - settings @@ -1718,18 +1449,13 @@ spec: name: v1alpha1 schema: openAPIV3Schema: - description: PreprovisioningImage is the Schema for the preprovisioningimages - API + description: PreprovisioningImage is the Schema for the preprovisioningimages API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -1746,63 +1472,38 @@ spec: type: string type: array architecture: - description: architecture is the processor architecture for which - to build the image. + description: architecture is the processor architecture for which to build the image. type: string networkDataName: - description: networkDataName is the name of a Secret in the local - namespace that contains network data to build in to the image. + description: networkDataName is the name of a Secret in the local namespace that contains network data to build in to the image. type: string type: object status: - description: PreprovisioningImageStatus defines the observed state of - PreprovisioningImage + description: PreprovisioningImageStatus defines the observed state of PreprovisioningImage properties: architecture: - description: architecture is the processor architecture for which - the image is built + description: architecture is the processor architecture for which the image is built type: string conditions: description: conditions describe the state of the built image items: - description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - type FooStatus struct{ // Represents the observations of a foo's - current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" properties: lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. + description: lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. + description: message is a human readable message indicating details about the transition. This may be an empty string. maxLength: 32768 type: string observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. + description: observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. format: int64 minimum: 0 type: integer reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. - This field may not be empty. + description: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. maxLength: 1024 minLength: 1 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ @@ -1815,11 +1516,7 @@ spec: - Unknown type: string type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + description: type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string @@ -1835,28 +1532,22 @@ spec: - type x-kubernetes-list-type: map extraKernelParams: - description: extraKernelParams is a string with extra parameters to - pass to the kernel when booting the image over network. Only makes - sense for initrd images. + description: extraKernelParams is a string with extra parameters to pass to the kernel when booting the image over network. Only makes sense for initrd images. type: string format: - description: 'format is the type of image that is available at the - download url: either iso or initrd.' + description: 'format is the type of image that is available at the download url: either iso or initrd.' enum: - iso - initrd type: string imageUrl: - description: imageUrl is the URL from which the built image can be - downloaded. + description: imageUrl is the URL from which the built image can be downloaded. type: string kernelUrl: - description: kernelUrl is the URL from which the kernel of the image - can be downloaded. Only makes sense for initrd images. + description: kernelUrl is the URL from which the kernel of the image can be downloaded. Only makes sense for initrd images. type: string networkData: - description: networkData is a reference to the version of the Secret - containing the network data used to build the image. + description: networkData is a reference to the version of the Secret containing the network data used to build the image. properties: name: type: string diff --git a/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/capi.yaml b/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/capi.yaml index 4d42ad15..242b47ff 100644 --- a/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/capi.yaml +++ b/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/capi.yaml @@ -48,18 +48,13 @@ spec: name: v1alpha4 schema: openAPIV3Schema: - description: ClusterClass is a template which can be used to create managed - topologies. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -67,35 +62,19 @@ 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. + 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." + 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. + 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.' + 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' @@ -107,8 +86,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -119,49 +97,27 @@ spec: - 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." + 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' + 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' + 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. + 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.' + 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' @@ -173,8 +129,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -185,31 +140,16 @@ spec: - 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. + 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. + 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.' + 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' @@ -221,8 +161,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -233,77 +172,45 @@ spec: - 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. + 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. + 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`. + 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. + 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. + 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. + 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. + 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.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: - description: 'Kind of the referent. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which - this reference is made, if any. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: - description: 'UID of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object x-kubernetes-map-type: atomic @@ -311,54 +218,31 @@ spec: - ref type: object infrastructure: - description: Infrastructure contains the infrastructure - template reference to be used for the creation of - worker Machines. + 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. + 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.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: - description: 'Kind of the referent. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which - this reference is made, if any. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: - description: 'UID of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object x-kubernetes-map-type: atomic @@ -366,27 +250,17 @@ spec: - 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. + 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' + 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' + 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: @@ -412,18 +286,13 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: ClusterClass is a template which can be used to create managed - topologies. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -431,53 +300,28 @@ 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. + 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. + 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. + 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. + 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." + 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.' + 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' @@ -489,8 +333,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -498,15 +341,9 @@ spec: 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. + 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. + 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 @@ -523,41 +360,21 @@ spec: 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' + 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." + 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. + 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.' + 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' @@ -569,8 +386,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -581,49 +397,27 @@ spec: - 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." + 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' + 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' + 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. + 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.' + 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' @@ -635,8 +429,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -647,31 +440,16 @@ spec: - 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. + 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. + 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.' + 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' @@ -683,8 +461,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -695,71 +472,37 @@ spec: - 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.' + 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. + 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.' + 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. + 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.' + 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.' + 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' + 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' + 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.' + 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.' + 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. + 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: @@ -768,8 +511,7 @@ spec: type: object type: array selector: - description: Selector defines on which templates the patch - should be applied. + description: Selector defines on which templates the patch should be applied. properties: apiVersion: description: APIVersion filters templates by apiVersion. @@ -778,27 +520,19 @@ spec: description: Kind filters templates by kind. type: string matchResources: - description: MatchResources selects templates based - on where they are referenced. + 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).' + 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. + description: InfrastructureCluster selects templates referenced in .spec.infrastructure. type: boolean machineDeploymentClass: - description: MachineDeploymentClass selects templates - referenced in specific MachineDeploymentClasses - in .spec.workers.machineDeployments. + description: MachineDeploymentClass selects templates referenced in specific MachineDeploymentClasses in .spec.workers.machineDeployments. properties: names: - description: Names selects templates by class - names. + description: Names selects templates by class names. items: type: string type: array @@ -815,28 +549,19 @@ spec: type: object type: array description: - description: Description is a human-readable description of - this patch. + 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. + 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.' + 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. + 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. + description: ValidateExtension references an extension which is called to validate the topology. type: string type: object name: @@ -847,48 +572,33 @@ spec: type: object type: array variables: - description: Variables defines the variables which can be configured - in the Cluster topology and are then used in patches. + 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. + 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.' + 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. + 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.' + 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.' + 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. + 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.' + 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 @@ -896,94 +606,57 @@ spec: 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.' + 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.' + 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.' + 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.' + 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.' + 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.' + 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.' + 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.' + 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.' + 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.' + 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.' + 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.' + 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.' + 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.' + 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.' + description: 'UniqueItems specifies if items in an array must be unique. NOTE: Can only be set if type is array.' type: boolean required: - type @@ -998,69 +671,36 @@ spec: 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. + 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. + 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`. + 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. + 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 machineHealthCheck: - description: MachineHealthCheck defines a MachineHealthCheck - for this MachineDeploymentClass. + 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. + 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. + 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." + 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.' + 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' @@ -1069,12 +709,10 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which - this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -1082,17 +720,9 @@ spec: 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. + 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. + 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 @@ -1109,69 +739,39 @@ spec: 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' + 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 template: - description: Template is a local struct containing a collection - of templates for creation of MachineDeployment objects - representing a set of worker nodes. + 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. + 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. + 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.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: - description: 'Kind of the referent. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which - this reference is made, if any. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: - description: 'UID of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object x-kubernetes-map-type: atomic @@ -1179,54 +779,31 @@ spec: - ref type: object infrastructure: - description: Infrastructure contains the infrastructure - template reference to be used for the creation of - worker Machines. + 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. + 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.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: - description: 'Kind of the referent. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which - this reference is made, if any. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: - description: 'UID of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object x-kubernetes-map-type: atomic @@ -1234,27 +811,17 @@ spec: - 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. + 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' + 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' + 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: @@ -1308,68 +875,50 @@ spec: - name: v1alpha3 schema: openAPIV3Schema: - description: ClusterResourceSetBinding lists all matching ClusterResourceSets - with the cluster it belongs to. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: - description: ClusterResourceSetBindingSpec defines the desired state of - ClusterResourceSetBinding. + 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. + 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. + 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. + 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. + 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. + 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. + 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.' + 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. + 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. + description: Name of the resource that is in the same namespace with ClusterResourceSet object. minLength: 1 type: string required: @@ -1396,68 +945,50 @@ spec: name: v1alpha4 schema: openAPIV3Schema: - description: ClusterResourceSetBinding lists all matching ClusterResourceSets - with the cluster it belongs to. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: - description: ClusterResourceSetBindingSpec defines the desired state of - ClusterResourceSetBinding. + 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. + 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. + 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. + 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. + 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. + 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. + 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.' + 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. + 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. + description: Name of the resource that is in the same namespace with ClusterResourceSet object. minLength: 1 type: string required: @@ -1484,68 +1015,50 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: ClusterResourceSetBinding lists all matching ClusterResourceSets - with the cluster it belongs to. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: - description: ClusterResourceSetBindingSpec defines the desired state of - ClusterResourceSetBinding. + 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. + 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. + 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. + 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. + 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. + 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. + 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.' + 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. + 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. + description: Name of the resource that is in the same namespace with ClusterResourceSet object. minLength: 1 type: string required: @@ -1600,18 +1113,13 @@ spec: - name: v1alpha3 schema: openAPIV3Schema: - description: ClusterResourceSet is the Schema for the clusterresourcesets - API. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -1619,33 +1127,21 @@ 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. + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -1657,29 +1153,22 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object resources: - description: Resources is a list of Secrets/ConfigMaps where each - contains 1 or more resources to be applied to remote clusters. + 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.' + 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. + description: Name of the resource that is in the same namespace with ClusterResourceSet object. minLength: 1 type: string required: @@ -1688,8 +1177,7 @@ spec: type: object type: array strategy: - description: Strategy is the strategy to be used during applying resources. - Defaults to ApplyOnce. This field is immutable. + description: Strategy is the strategy to be used during applying resources. Defaults to ApplyOnce. This field is immutable. enum: - ApplyOnce type: string @@ -1702,41 +1190,26 @@ spec: conditions: description: Conditions defines current state of the ClusterResourceSet. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -1744,8 +1217,7 @@ spec: type: object type: array observedGeneration: - description: ObservedGeneration reflects the generation of the most - recently observed ClusterResourceSet. + description: ObservedGeneration reflects the generation of the most recently observed ClusterResourceSet. format: int64 type: integer type: object @@ -1762,18 +1234,13 @@ spec: name: v1alpha4 schema: openAPIV3Schema: - description: ClusterResourceSet is the Schema for the clusterresourcesets - API. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -1781,34 +1248,21 @@ 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. + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -1820,29 +1274,22 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object resources: - description: Resources is a list of Secrets/ConfigMaps where each - contains 1 or more resources to be applied to remote clusters. + 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.' + 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. + description: Name of the resource that is in the same namespace with ClusterResourceSet object. minLength: 1 type: string required: @@ -1851,8 +1298,7 @@ spec: type: object type: array strategy: - description: Strategy is the strategy to be used during applying resources. - Defaults to ApplyOnce. This field is immutable. + description: Strategy is the strategy to be used during applying resources. Defaults to ApplyOnce. This field is immutable. enum: - ApplyOnce type: string @@ -1865,41 +1311,26 @@ spec: conditions: description: Conditions defines current state of the ClusterResourceSet. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -1907,8 +1338,7 @@ spec: type: object type: array observedGeneration: - description: ObservedGeneration reflects the generation of the most - recently observed ClusterResourceSet. + description: ObservedGeneration reflects the generation of the most recently observed ClusterResourceSet. format: int64 type: integer type: object @@ -1925,18 +1355,13 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: ClusterResourceSet is the Schema for the clusterresourcesets - API. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -1944,34 +1369,21 @@ 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. + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -1983,29 +1395,22 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object resources: - description: Resources is a list of Secrets/ConfigMaps where each - contains 1 or more resources to be applied to remote clusters. + 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.' + 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. + description: Name of the resource that is in the same namespace with ClusterResourceSet object. minLength: 1 type: string required: @@ -2014,8 +1419,7 @@ spec: type: object type: array strategy: - description: Strategy is the strategy to be used during applying resources. - Defaults to ApplyOnce. This field is immutable. + description: Strategy is the strategy to be used during applying resources. Defaults to ApplyOnce. This field is immutable. enum: - ApplyOnce type: string @@ -2028,41 +1432,26 @@ spec: conditions: description: Conditions defines current state of the ClusterResourceSet. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -2071,8 +1460,7 @@ spec: type: object type: array observedGeneration: - description: ObservedGeneration reflects the generation of the most - recently observed ClusterResourceSet. + description: ObservedGeneration reflects the generation of the most recently observed ClusterResourceSet. format: int64 type: integer type: object @@ -2127,14 +1515,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -2145,8 +1529,7 @@ spec: description: Cluster network configuration. properties: apiServerPort: - description: APIServerPort specifies the port the API Server should - bind to. Defaults to 6443. + description: APIServerPort specifies the port the API Server should bind to. Defaults to 6443. format: int32 type: integer pods: @@ -2174,8 +1557,7 @@ spec: type: object type: object controlPlaneEndpoint: - description: ControlPlaneEndpoint represents the endpoint used to - communicate with the control plane. + description: ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. properties: host: description: The hostname on which the API server is serving. @@ -2189,25 +1571,13 @@ spec: - 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. + 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.' + 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' @@ -2219,8 +1589,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -2228,25 +1597,13 @@ spec: 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. + 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.' + 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' @@ -2258,8 +1615,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -2267,8 +1623,7 @@ spec: 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. + description: Paused can be used to prevent controllers from processing the Cluster and all its associated objects. type: boolean type: object status: @@ -2277,41 +1632,26 @@ spec: conditions: description: Conditions defines current service state of the cluster. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -2319,53 +1659,41 @@ spec: type: object type: array controlPlaneInitialized: - description: ControlPlaneInitialized defines if the control plane - has been initialized. + 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. + 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. + 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. + 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. + 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. + 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. + 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + 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. + description: Phase represents the current phase of cluster actuation. E.g. Pending, Running, Terminating, Failed etc. type: string type: object type: object @@ -2388,14 +1716,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -2406,8 +1730,7 @@ spec: description: Cluster network configuration. properties: apiServerPort: - description: APIServerPort specifies the port the API Server should - bind to. Defaults to 6443. + description: APIServerPort specifies the port the API Server should bind to. Defaults to 6443. format: int32 type: integer pods: @@ -2435,8 +1758,7 @@ spec: type: object type: object controlPlaneEndpoint: - description: ControlPlaneEndpoint represents the endpoint used to - communicate with the control plane. + description: ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. properties: host: description: The hostname on which the API server is serving. @@ -2450,25 +1772,13 @@ spec: - 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. + 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.' + 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' @@ -2480,8 +1790,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -2489,25 +1798,13 @@ spec: 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. + 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.' + 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' @@ -2519,8 +1816,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -2528,126 +1824,73 @@ spec: 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. + 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.' + 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. + 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." + 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' + 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' + 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. + 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. + 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. + 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. + 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. + 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. + 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. + 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' + 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' + 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. + 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. + 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: @@ -2667,41 +1910,26 @@ spec: conditions: description: Conditions defines current service state of the cluster. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -2713,45 +1941,34 @@ spec: 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. + 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. + 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. + 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. + 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. + 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. + 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + 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. + description: Phase represents the current phase of cluster actuation. E.g. Pending, Running, Terminating, Failed etc. type: string type: object type: object @@ -2778,14 +1995,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -2796,8 +2009,7 @@ spec: description: Cluster network configuration. properties: apiServerPort: - description: APIServerPort specifies the port the API Server should - bind to. Defaults to 6443. + description: APIServerPort specifies the port the API Server should bind to. Defaults to 6443. format: int32 type: integer pods: @@ -2825,8 +2037,7 @@ spec: type: object type: object controlPlaneEndpoint: - description: ControlPlaneEndpoint represents the endpoint used to - communicate with the control plane. + description: ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. properties: host: description: The hostname on which the API server is serving. @@ -2840,25 +2051,13 @@ spec: - 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. + 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.' + 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' @@ -2870,8 +2069,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -2879,25 +2077,13 @@ spec: 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. + 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.' + 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' @@ -2909,8 +2095,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -2918,97 +2103,56 @@ spec: 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. + 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.' + 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. + 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." + 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' + 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' + 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. + 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`' + 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 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. + 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. + 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. + 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. + 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' + 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 @@ -3019,113 +2163,59 @@ spec: description: The Kubernetes version of the cluster. type: string workers: - description: Workers encapsulates the different constructs that - form the worker nodes for the cluster. + 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. + 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. + 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. + 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. + 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 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. + 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' + 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' + 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. + 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. + 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`' + 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 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. + 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 variables: - description: Variables can be used to customize the - MachineDeployment through patches. + description: Variables can be used to customize the MachineDeployment through patches. properties: overrides: - description: Overrides can be used to override Cluster - level variables. + 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. + 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' + 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 @@ -3150,41 +2240,26 @@ spec: conditions: description: Conditions defines current service state of the cluster. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -3197,45 +2272,34 @@ spec: 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. + 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. + 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. + 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. + 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. + 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. + 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + 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. + description: Phase represents the current phase of cluster actuation. E.g. Pending, Running, Terminating, Failed etc. type: string type: object type: object @@ -3277,14 +2341,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -3292,19 +2352,14 @@ spec: description: ExtensionConfigSpec is the desired state of the ExtensionConfig properties: clientConfig: - description: ClientConfig defines how to communicate with the Extension - server. + 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. + 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`." + 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. @@ -3313,14 +2368,10 @@ spec: 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. + 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). + 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: @@ -3328,47 +2379,25 @@ spec: - 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." + 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. + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -3380,11 +2409,7 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object required: @@ -3396,41 +2421,26 @@ spec: conditions: description: Conditions define the current service state of the ExtensionConfig. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -3439,27 +2449,21 @@ spec: type: object type: array handlers: - description: Handlers defines the current ExtensionHandlers supported - by an Extension. + 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. + 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. + 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. + description: RequestHook defines the versioned runtime hook which this ExtensionHandler serves. properties: apiVersion: - description: APIVersion is the group and version of the - Hook. + description: APIVersion is the group and version of the Hook. type: string hook: description: Hook is the name of the hook. @@ -3469,9 +2473,7 @@ spec: - hook type: object timeoutSeconds: - description: TimeoutSeconds defines the timeout duration for - client calls to the ExtensionHandler. Defaults to 10 is not - set. + description: TimeoutSeconds defines the timeout duration for client calls to the ExtensionHandler. Defaults to 10 is not set. format: int32 type: integer required: @@ -3524,14 +2526,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -3539,14 +2537,10 @@ 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. + 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. + 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 @@ -3566,52 +2560,35 @@ spec: 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. + 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?' + 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. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -3667,14 +2644,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -3685,27 +2658,20 @@ spec: description: Address is the IP address. type: string claimRef: - description: ClaimRef is a reference to the claim this IPAddress was - created for. + 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?' + 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. + 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. + 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. + 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 @@ -3780,8 +2746,7 @@ spec: jsonPath: .status.readyReplicas name: Ready type: integer - - description: Total number of non-terminated machines targeted by this deployment - that have the desired template spec + - description: Total number of non-terminated machines targeted by this deployment that have the desired template spec jsonPath: .status.updatedReplicas name: Updated type: integer @@ -3795,14 +2760,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -3810,67 +2771,44 @@ spec: description: MachineDeploymentSpec defines the desired state of MachineDeployment. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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) + 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. + 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. + 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. + 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. + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -3882,60 +2820,31 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic strategy: - description: The deployment strategy to use to replace existing machines - with new ones. + 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. + 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.' + 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.' + 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. + description: Type of deployment. Currently the only supported strategy is "RollingUpdate". Default is RollingUpdate. type: string type: object template: @@ -3947,91 +2856,35 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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." + 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' + 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." + 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." + 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." + 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. + 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. + 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. + 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' @@ -4052,37 +2905,19 @@ spec: 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' + 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. + 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. + 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.' + 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' @@ -4091,12 +2926,10 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -4104,47 +2937,27 @@ spec: 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." + 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. + 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. + 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. + 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. + 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.' + 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' @@ -4156,8 +2969,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -4165,33 +2977,13 @@ spec: 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -4208,8 +3000,7 @@ spec: 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. + description: Total number of available machines (ready for at least minReadySeconds) targeted by this deployment. format: int32 type: integer observedGeneration: @@ -4217,35 +3008,25 @@ spec: format: int64 type: integer phase: - description: Phase represents the current phase of a MachineDeployment - (ScalingUp, ScalingDown, Running, Failed, or Unknown). + 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). + 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' + 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. + 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. + description: Total number of non-terminated machines targeted by this deployment that have the desired template spec. format: int32 type: integer type: object @@ -4279,8 +3060,7 @@ spec: jsonPath: .status.readyReplicas name: Ready type: integer - - description: Total number of non-terminated machines targeted by this deployment - that have the desired template spec + - description: Total number of non-terminated machines targeted by this deployment that have the desired template spec jsonPath: .status.updatedReplicas name: Updated type: integer @@ -4294,14 +3074,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -4309,68 +3085,45 @@ spec: description: MachineDeploymentSpec defines the desired state of MachineDeployment. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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) + 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. + 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. + 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. + 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. + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -4382,27 +3135,18 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic strategy: - description: The deployment strategy to use to replace existing machines - with new ones. + 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. + 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 + 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 @@ -4412,35 +3156,13 @@ spec: 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.' + 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.' + 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: @@ -4459,53 +3181,28 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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' + 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' + 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. + 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. + 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.' + 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' @@ -4514,12 +3211,10 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -4527,41 +3222,24 @@ spec: 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. + 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. + 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. + 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. + 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.' + 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' @@ -4573,8 +3251,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -4582,33 +3259,13 @@ spec: 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -4625,48 +3282,32 @@ spec: 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. + 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. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -4678,35 +3319,25 @@ spec: format: int64 type: integer phase: - description: Phase represents the current phase of a MachineDeployment - (ScalingUp, ScalingDown, Running, Failed, or Unknown). + 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). + 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' + 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. + 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. + description: Total number of non-terminated machines targeted by this deployment that have the desired template spec. format: int32 type: integer type: object @@ -4737,8 +3368,7 @@ spec: jsonPath: .status.readyReplicas name: Ready type: integer - - description: Total number of non-terminated machines targeted by this deployment - that have the desired template spec + - description: Total number of non-terminated machines targeted by this deployment that have the desired template spec jsonPath: .status.updatedReplicas name: Updated type: integer @@ -4764,14 +3394,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -4779,68 +3405,45 @@ spec: description: MachineDeploymentSpec defines the desired state of MachineDeployment. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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) + 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. + 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. + 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. + 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. + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -4852,27 +3455,18 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic strategy: - description: The deployment strategy to use to replace existing machines - with new ones. + 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. + 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 + 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 @@ -4882,35 +3476,13 @@ spec: 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.' + 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.' + 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: @@ -4929,53 +3501,28 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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' + 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' + 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. + 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. + 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.' + 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' @@ -4984,12 +3531,10 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -4997,41 +3542,24 @@ spec: 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. + 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. + 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. + 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. + 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.' + 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' @@ -5043,8 +3571,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -5052,39 +3579,16 @@ spec: 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. + 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -5101,48 +3605,32 @@ spec: 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. + 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. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -5155,35 +3643,25 @@ spec: format: int64 type: integer phase: - description: Phase represents the current phase of a MachineDeployment - (ScalingUp, ScalingDown, Running, Failed, or Unknown). + 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). + 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' + 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. + 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. + description: Total number of non-terminated machines targeted by this deployment that have the desired template spec. format: int32 type: integer type: object @@ -5248,18 +3726,13 @@ spec: name: v1alpha3 schema: openAPIV3Schema: - description: MachineHealthCheck is the Schema for the machinehealthchecks - API. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -5267,44 +3740,26 @@ spec: description: Specification of machine health check policy properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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. + 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. + 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." + 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.' + 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' @@ -5316,8 +3771,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -5325,32 +3779,21 @@ spec: type: object x-kubernetes-map-type: atomic selector: - description: Label selector to match machines whose health will be - exercised + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -5362,24 +3805,14 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic 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. + 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. + 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 @@ -5407,41 +3840,26 @@ spec: conditions: description: Conditions defines current service state of the MachineHealthCheck. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -5449,32 +3867,26 @@ spec: type: object type: array currentHealthy: - description: total number of healthy machines counted by this machine - health check + 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 + 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. + 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 + 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 + description: Targets shows the current list of machines the machine health check is watching items: type: string type: array @@ -5508,18 +3920,13 @@ spec: name: v1alpha4 schema: openAPIV3Schema: - description: MachineHealthCheck is the Schema for the machinehealthchecks - API. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -5527,46 +3934,26 @@ spec: description: Specification of machine health check policy properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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. + 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. + 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." + 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.' + 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' @@ -5578,8 +3965,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -5587,32 +3973,21 @@ spec: type: object x-kubernetes-map-type: atomic selector: - description: Label selector to match machines whose health will be - exercised + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -5624,24 +3999,14 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic 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. + 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. + 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 @@ -5659,12 +4024,7 @@ spec: 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' + 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: @@ -5678,41 +4038,26 @@ spec: conditions: description: Conditions defines current service state of the MachineHealthCheck. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -5720,32 +4065,26 @@ spec: type: object type: array currentHealthy: - description: total number of healthy machines counted by this machine - health check + 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 + 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. + 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 + 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 + description: Targets shows the current list of machines the machine health check is watching items: type: string type: array @@ -5779,18 +4118,13 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: MachineHealthCheck is the Schema for the machinehealthchecks - API. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -5798,46 +4132,26 @@ spec: description: Specification of machine health check policy properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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. + 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. + 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." + 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.' + 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' @@ -5849,8 +4163,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -5858,32 +4171,21 @@ spec: type: object x-kubernetes-map-type: atomic selector: - description: Label selector to match machines whose health will be - exercised + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -5895,24 +4197,14 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic 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. + 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. + 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 @@ -5930,12 +4222,7 @@ spec: 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' + 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: @@ -5949,41 +4236,26 @@ spec: conditions: description: Conditions defines current service state of the MachineHealthCheck. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -5992,32 +4264,26 @@ spec: type: object type: array currentHealthy: - description: total number of healthy machines counted by this machine - health check + 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 + 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. + 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 + 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 + description: Targets shows the current list of machines the machine health check is watching items: type: string type: array @@ -6067,8 +4333,7 @@ spec: jsonPath: .status.replicas name: Replicas type: string - - description: MachinePool status such as Terminating/Pending/Provisioning/Running/Failed - etc + - description: MachinePool status such as Terminating/Pending/Provisioning/Running/Failed etc jsonPath: .status.phase name: Phase type: string @@ -6082,14 +4347,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -6097,81 +4358,48 @@ spec: description: MachinePoolSpec defines the desired state of MachinePool. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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. + 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) + 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. + 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. + 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. + 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. + 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.' + 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.' + 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. + description: Type of deployment. Currently the only supported strategy is "RollingUpdate". Default is RollingUpdate. type: string type: object template: @@ -6183,91 +4411,35 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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." + 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' + 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." + 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." + 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." + 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. + 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. + 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. + 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' @@ -6288,37 +4460,19 @@ spec: 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' + 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. + 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. + 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.' + 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' @@ -6327,12 +4481,10 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -6340,47 +4492,27 @@ spec: 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." + 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. + 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. + 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. + 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. + 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.' + 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' @@ -6392,8 +4524,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -6401,33 +4532,13 @@ spec: 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -6443,8 +4554,7 @@ spec: description: MachinePoolStatus defines the observed state of MachinePool. properties: availableReplicas: - description: The number of available replicas (ready for at least - minReadySeconds) for this MachinePool. + description: The number of available replicas (ready for at least minReadySeconds) for this MachinePool. format: int32 type: integer bootstrapReady: @@ -6453,41 +4563,26 @@ spec: conditions: description: Conditions define the current service state of the MachinePool. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -6495,63 +4590,24 @@ spec: 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. + 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. + 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean nodeRefs: - description: NodeRefs will point to the corresponding Nodes if it - they exist. + 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. Instead of using this type, create - a locally provided and used type that is well-focused on your - reference. For example, ServiceReferences for admission registration: - https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 - .' + description: 'ObjectReference contains enough information to let you inspect or modify the referred object. --- New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". Those cannot be well described when embedded. 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple and the version of the actual struct is irrelevant. 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type will affect numerous schemas. Don''t make new APIs embed an underspecified API type they do not control. Instead of using this type, create a locally provided and used type that is well-focused on your reference. For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 .' properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -6563,8 +4619,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -6572,18 +4627,14 @@ spec: type: object type: array observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + 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. + 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". + 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: @@ -6591,12 +4642,7 @@ spec: 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. + 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 @@ -6617,8 +4663,7 @@ spec: jsonPath: .status.replicas name: Replicas type: string - - description: MachinePool status such as Terminating/Pending/Provisioning/Running/Failed - etc + - description: MachinePool status such as Terminating/Pending/Provisioning/Running/Failed etc jsonPath: .status.phase name: Phase type: string @@ -6632,14 +4677,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -6647,33 +4688,25 @@ spec: description: MachinePoolSpec defines the desired state of MachinePool. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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. + 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) + 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. + 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. + 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: @@ -6685,53 +4718,28 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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' + 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' + 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. + 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. + 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.' + 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' @@ -6740,12 +4748,10 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -6753,41 +4759,24 @@ spec: 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. + 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. + 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. + 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. + 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.' + 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' @@ -6799,8 +4788,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -6808,33 +4796,13 @@ spec: 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -6850,8 +4818,7 @@ spec: description: MachinePoolStatus defines the observed state of MachinePool. properties: availableReplicas: - description: The number of available replicas (ready for at least - minReadySeconds) for this MachinePool. + description: The number of available replicas (ready for at least minReadySeconds) for this MachinePool. format: int32 type: integer bootstrapReady: @@ -6860,41 +4827,26 @@ spec: conditions: description: Conditions define the current service state of the MachinePool. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -6902,63 +4854,24 @@ spec: 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. + 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. + 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean nodeRefs: - description: NodeRefs will point to the corresponding Nodes if it - they exist. + 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. Instead of using this type, create - a locally provided and used type that is well-focused on your - reference. For example, ServiceReferences for admission registration: - https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 - .' + description: 'ObjectReference contains enough information to let you inspect or modify the referred object. --- New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". Those cannot be well described when embedded. 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple and the version of the actual struct is irrelevant. 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type will affect numerous schemas. Don''t make new APIs embed an underspecified API type they do not control. Instead of using this type, create a locally provided and used type that is well-focused on your reference. For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 .' properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -6970,8 +4883,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -6979,18 +4891,14 @@ spec: type: object type: array observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + 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. + 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". + 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: @@ -6998,12 +4906,7 @@ spec: 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. + 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 @@ -7029,8 +4932,7 @@ spec: jsonPath: .status.replicas name: Replicas type: string - - description: MachinePool status such as Terminating/Pending/Provisioning/Running/Failed - etc + - description: MachinePool status such as Terminating/Pending/Provisioning/Running/Failed etc jsonPath: .status.phase name: Phase type: string @@ -7048,14 +4950,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -7063,33 +4961,25 @@ spec: description: MachinePoolSpec defines the desired state of MachinePool. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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. + 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) + 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. + 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. + 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: @@ -7101,53 +4991,28 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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' + 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' + 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. + 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. + 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.' + 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' @@ -7156,12 +5021,10 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -7169,41 +5032,24 @@ spec: 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. + 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. + 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. + 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. + 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.' + 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' @@ -7215,8 +5061,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -7224,39 +5069,16 @@ spec: 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. + 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -7272,8 +5094,7 @@ spec: description: MachinePoolStatus defines the observed state of MachinePool. properties: availableReplicas: - description: The number of available replicas (ready for at least - minReadySeconds) for this MachinePool. + description: The number of available replicas (ready for at least minReadySeconds) for this MachinePool. format: int32 type: integer bootstrapReady: @@ -7282,41 +5103,26 @@ spec: conditions: description: Conditions define the current service state of the MachinePool. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -7325,63 +5131,24 @@ spec: 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. + 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. + 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean nodeRefs: - description: NodeRefs will point to the corresponding Nodes if it - they exist. + 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. Instead of using this type, create - a locally provided and used type that is well-focused on your - reference. For example, ServiceReferences for admission registration: - https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 - .' + description: 'ObjectReference contains enough information to let you inspect or modify the referred object. --- New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". Those cannot be well described when embedded. 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple and the version of the actual struct is irrelevant. 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type will affect numerous schemas. Don''t make new APIs embed an underspecified API type they do not control. Instead of using this type, create a locally provided and used type that is well-focused on your reference. For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 .' properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -7393,8 +5160,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -7402,18 +5168,14 @@ spec: type: object type: array observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + 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. + 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". + 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: @@ -7421,12 +5183,7 @@ spec: 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. + 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 @@ -7497,14 +5254,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -7512,30 +5265,16 @@ 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. + 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. + 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.' + 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' @@ -7547,8 +5286,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -7556,45 +5294,27 @@ spec: 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." + 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. + 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. + 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. + 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. + 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.' + 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' @@ -7606,8 +5326,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -7615,30 +5334,13 @@ spec: 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -7649,18 +5351,15 @@ spec: 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. + 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. + 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. + description: Machine address type, one of Hostname, ExternalIP or InternalIP. type: string required: - address @@ -7673,41 +5372,26 @@ spec: conditions: description: Conditions defines current service state of the Machine. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -7715,42 +5399,16 @@ spec: 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." + 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." + 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean lastUpdated: - description: LastUpdated identifies when the phase of the Machine - last transitioned. + description: LastUpdated identifies when the phase of the Machine last transitioned. format: date-time type: string nodeRef: @@ -7760,17 +5418,7 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -7782,8 +5430,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -7791,19 +5438,14 @@ spec: type: object x-kubernetes-map-type: atomic observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + 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. + 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. + 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 @@ -7843,14 +5485,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -7858,30 +5496,16 @@ 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. + 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. + 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.' + 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' @@ -7893,8 +5517,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -7902,40 +5525,24 @@ spec: 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. + 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. + 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. + 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. + 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.' + 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' @@ -7947,8 +5554,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -7956,30 +5562,13 @@ spec: 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -7990,18 +5579,15 @@ spec: 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. + 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. + 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. + description: Machine address type, one of Hostname, ExternalIP or InternalIP. type: string required: - address @@ -8014,41 +5600,26 @@ spec: conditions: description: Conditions defines current service state of the Machine. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -8056,47 +5627,20 @@ spec: 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." + 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." + 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean lastUpdated: - description: LastUpdated identifies when the phase of the Machine - last transitioned. + 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' + 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 @@ -8105,12 +5649,10 @@ spec: 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). + 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). + 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. @@ -8119,21 +5661,16 @@ spec: 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' + 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)). + 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 + 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 @@ -8154,17 +5691,7 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -8176,8 +5703,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -8185,19 +5711,14 @@ spec: type: object x-kubernetes-map-type: atomic observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + 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. + 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. + 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 @@ -8236,14 +5757,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -8251,30 +5768,16 @@ 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. + 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. + 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.' + 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' @@ -8286,8 +5789,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -8295,40 +5797,24 @@ spec: 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. + 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. + 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. + 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. + 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.' + 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' @@ -8340,8 +5826,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -8349,36 +5834,16 @@ spec: 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. + 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -8389,18 +5854,15 @@ spec: 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. + 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. + 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. + description: Machine address type, one of Hostname, ExternalIP or InternalIP. type: string required: - address @@ -8413,41 +5875,26 @@ spec: conditions: description: Conditions defines current service state of the Machine. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -8456,47 +5903,20 @@ spec: 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." + 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." + 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean lastUpdated: - description: LastUpdated identifies when the phase of the Machine - last transitioned. + 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' + 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 @@ -8505,12 +5925,10 @@ spec: 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). + 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). + 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. @@ -8519,21 +5937,16 @@ spec: 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' + 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)). + 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 + 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 @@ -8554,17 +5967,7 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -8576,8 +5979,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -8585,13 +5987,11 @@ spec: type: object x-kubernetes-map-type: atomic observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + 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. + description: Phase represents the current phase of machine actuation. E.g. Pending, Running, Terminating, Failed etc. type: string type: object type: object @@ -8653,14 +6053,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -8668,60 +6064,40 @@ spec: description: MachineSetSpec defines the desired state of MachineSet. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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" + 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) + 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. + 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' + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -8733,18 +6109,12 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic template: - description: Template is the object that describes the machine that - will be created if insufficient replicas are detected. Object references - to custom resources resources are treated as templates. + description: Template is the object that describes the machine that will be created if insufficient replicas are detected. Object references to custom resources 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' @@ -8752,91 +6122,35 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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." + 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' + 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." + 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." + 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." + 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. + 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. + 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. + 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' @@ -8857,37 +6171,19 @@ spec: 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' + 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. + 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. + 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.' + 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' @@ -8896,12 +6192,10 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -8909,47 +6203,27 @@ spec: 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." + 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. + 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. + 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. + 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. + 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.' + 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' @@ -8961,8 +6235,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -8970,33 +6243,13 @@ spec: 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -9012,43 +6265,24 @@ spec: description: MachineSetStatus defines the observed state of MachineSet. properties: availableReplicas: - description: The number of available replicas (ready for at least - minReadySeconds) for this MachineSet. + 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." + 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. + 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. + 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". + 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: @@ -9056,10 +6290,7 @@ spec: 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' + 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 @@ -9098,14 +6329,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -9113,61 +6340,41 @@ spec: description: MachineSetSpec defines the desired state of MachineSet. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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" + 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) + 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. + 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' + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -9179,18 +6386,12 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic template: - description: Template is the object that describes the machine that - will be created if insufficient replicas are detected. Object references - to custom resources resources are treated as templates. + description: Template is the object that describes the machine that will be created if insufficient replicas are detected. Object references to custom resources 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' @@ -9198,53 +6399,28 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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' + 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' + 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. + 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. + 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.' + 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' @@ -9253,12 +6429,10 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -9266,41 +6440,24 @@ spec: 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. + 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. + 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. + 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. + 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.' + 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' @@ -9312,8 +6469,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -9321,33 +6477,13 @@ spec: 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -9363,48 +6499,32 @@ spec: description: MachineSetStatus defines the observed state of MachineSet. properties: availableReplicas: - description: The number of available replicas (ready for at least - minReadySeconds) for this MachineSet. + 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. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -9414,36 +6534,18 @@ spec: 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." + 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. + 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. + 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". + 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: @@ -9451,10 +6553,7 @@ spec: 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' + 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 @@ -9502,14 +6601,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -9517,61 +6612,41 @@ spec: description: MachineSetSpec defines the desired state of MachineSet. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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" + 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) + 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. + 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' + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -9583,18 +6658,12 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic template: - description: Template is the object that describes the machine that - will be created if insufficient replicas are detected. Object references - to custom resources resources are treated as templates. + description: Template is the object that describes the machine that will be created if insufficient replicas are detected. Object references to custom resources 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' @@ -9602,53 +6671,28 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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' + 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' + 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. + 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. + 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.' + 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' @@ -9657,12 +6701,10 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -9670,41 +6712,24 @@ spec: 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. + 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. + 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. + 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. + 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.' + 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' @@ -9716,8 +6741,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -9725,39 +6749,16 @@ spec: 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. + 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -9773,48 +6774,32 @@ spec: description: MachineSetStatus defines the observed state of MachineSet. properties: availableReplicas: - description: The number of available replicas (ready for at least - minReadySeconds) for this MachineSet. + 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. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -9825,36 +6810,18 @@ spec: 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." + 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. + 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. + 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". + 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: @@ -9862,10 +6829,7 @@ spec: 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' + 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 @@ -10322,7 +7286,7 @@ spec: - --namespace=test2 - --leader-elect - --metrics-bind-addr=localhost:8080 - #- --feature-gates=MachinePool=${EXP_MACHINE_POOL:=false},ClusterResourceSet=${EXP_CLUSTER_RESOURCE_SET:=false},ClusterTopology=${CLUSTER_TOPOLOGY:=false},RuntimeSDK=${EXP_RUNTIME_SDK:=false} + #- --feature-gates=MachinePool=${EXP_MACHINE_POOL:=false},ClusterResourceSet=${EXP_CLUSTER_RESOURCE_SET:=false},ClusterTopology=${CLUSTER_TOPOLOGY:=false},RuntimeSDK=${EXP_RUNTIME_SDK:=false} command: - /manager env: diff --git a/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/capm3-test2-v1.2.yaml b/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/capm3-test2-v1.2.yaml index 0001cf58..9ac117f3 100644 --- a/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/capm3-test2-v1.2.yaml +++ b/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/capm3-test2-v1.2.yaml @@ -468,4 +468,4 @@ spec: - name: cert secret: defaultMode: 420 - secretName: capm3-webhook-service-cert \ No newline at end of file + secretName: capm3-webhook-service-cert diff --git a/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/capm3.yaml b/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/capm3.yaml index 6142a908..ac10e5c5 100644 --- a/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/capm3.yaml +++ b/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/capm3.yaml @@ -29,158 +29,126 @@ spec: namespace: capm3-system-test2 path: /convert conversionReviewVersions: - - v1 - - v1beta1 + - v1 + - v1beta1 group: ipam.metal3.io names: categories: - - metal3 + - metal3 kind: IPAddress listKind: IPAddressList plural: ipaddresses shortNames: - - ipa - - ipaddress - - m3ipa - - m3ipaddress - - m3ipaddresses - - metal3ipa - - metal3ipaddress - - metal3ipaddresses + - ipa + - ipaddress + - m3ipa + - m3ipaddress + - m3ipaddresses + - metal3ipa + - metal3ipaddress + - metal3ipaddresses singular: ipaddress scope: Namespaced versions: - - additionalPrinterColumns: - - description: Time duration since creation of Metal3IPAddress - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha1 - schema: - openAPIV3Schema: - description: IPAddress is the Schema for the ipaddresses 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 defines the desired state of IPAddress. - properties: - address: - description: Address contains the IP address - pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) - type: string - claim: - description: Claim points to the object the IPClaim was created for. - 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 - dnsServers: - description: DNSServers is the list of dns servers - items: - description: IPAddress is used for validation of an IP address - pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) - type: string - type: array - gateway: - description: Gateway is the gateway ip address + - additionalPrinterColumns: + - description: Time duration since creation of Metal3IPAddress + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: IPAddress is the Schema for the ipaddresses 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 defines the desired state of IPAddress. + properties: + address: + description: Address contains the IP address + pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) + type: string + claim: + description: Claim points to the object the IPClaim was created for. + 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 + dnsServers: + description: DNSServers is the list of dns servers + items: + description: IPAddress is used for validation of an IP address pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) type: string - pool: - description: Pool is the IPPool this was generated from. - 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 - prefix: - description: Prefix is the mask of the network as integer (max 128) - maximum: 128 - type: integer - required: - - address - - claim - - pool - type: object - type: object - served: true - storage: true - subresources: {} + type: array + gateway: + description: Gateway is the gateway ip address + pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) + type: string + pool: + description: Pool is the IPPool this was generated from. + 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 + prefix: + description: Prefix is the mask of the network as integer (max 128) + maximum: 128 + type: integer + required: + - address + - claim + - pool + type: object + type: object + served: true + storage: true + subresources: {} status: acceptedNames: kind: "" @@ -212,147 +180,113 @@ spec: namespace: capm3-system-test2 path: /convert conversionReviewVersions: - - v1 - - v1beta1 + - v1 + - v1beta1 group: ipam.metal3.io names: categories: - - cluster-api + - cluster-api kind: IPClaim listKind: IPClaimList plural: ipclaims shortNames: - - ipc - - ipclaim - - m3ipc - - m3ipclaim - - m3ipclaims - - metal3ipc - - metal3ipclaim - - metal3ipclaims + - ipc + - ipclaim + - m3ipc + - m3ipclaim + - m3ipclaims + - metal3ipc + - metal3ipclaim + - metal3ipclaims singular: ipclaim scope: Namespaced versions: - - additionalPrinterColumns: - - description: Time duration since creation of Metal3IPClaim - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha1 - schema: - openAPIV3Schema: - description: IPClaim is the Schema for the ipclaims 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: IPClaimSpec defines the desired state of IPClaim. - properties: - pool: - description: Pool is the IPPool this was generated from. - 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 - required: - - pool - type: object - status: - description: IPClaimStatus defines the observed state of IPClaim. - properties: - address: - description: - Address is the IPAddress that was generated for this - claim. - 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 - errorMessage: - description: ErrorMessage contains the error message - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} + - additionalPrinterColumns: + - description: Time duration since creation of Metal3IPClaim + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: IPClaim is the Schema for the ipclaims 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: IPClaimSpec defines the desired state of IPClaim. + properties: + pool: + description: Pool is the IPPool this was generated from. + 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 + required: + - pool + type: object + status: + description: IPClaimStatus defines the observed state of IPClaim. + properties: + address: + description: Address is the IPAddress that was generated for this claim. + 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 + errorMessage: + description: ErrorMessage contains the error message + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} status: acceptedNames: kind: "" @@ -384,160 +318,138 @@ spec: namespace: capm3-system-test2 path: /convert conversionReviewVersions: - - v1 - - v1beta1 + - v1 + - v1beta1 group: ipam.metal3.io names: categories: - - cluster-api + - cluster-api kind: IPPool listKind: IPPoolList plural: ippools shortNames: - - ipp - - ippool - - m3ipp - - m3ippool - - m3ippools - - metal3ipp - - metal3ippool - - metal3ippools + - ipp + - ippool + - m3ipp + - m3ippool + - m3ippools + - metal3ipp + - metal3ippool + - metal3ippools singular: ippool scope: Namespaced versions: - - additionalPrinterColumns: - - description: Cluster to which this template belongs - jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name - name: Cluster - type: string - - description: Time duration since creation of Metal3IPPool - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha1 - schema: - openAPIV3Schema: - description: IPPool is the Schema for the ippools 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: IPPoolSpec defines the desired state of IPPool. - properties: - clusterName: - description: - ClusterName is the name of the Cluster this object belongs - to. - type: string - dnsServers: - description: DNSServers is the list of dns servers - items: - description: IPAddress is used for validation of an IP address - pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) - type: string - type: array - gateway: - description: Gateway is the gateway ip address + - additionalPrinterColumns: + - description: Cluster to which this template belongs + jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name + name: Cluster + type: string + - description: Time duration since creation of Metal3IPPool + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: IPPool is the Schema for the ippools 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: IPPoolSpec defines the desired state of IPPool. + properties: + clusterName: + description: ClusterName is the name of the Cluster this object belongs to. + type: string + dnsServers: + description: DNSServers is the list of dns servers + items: + description: IPAddress is used for validation of an IP address pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) type: string - namePrefix: - description: - namePrefix is the prefix used to generate the IPAddress - object names - minLength: 1 - type: string - pools: - description: Pools contains the list of IP addresses pools - items: - description: - MetaDataIPAddress contains the info to render th ip - address. It is IP-version agnostic - properties: - dnsServers: - description: DNSServers is the list of dns servers - items: - description: IPAddress is used for validation of an IP address - pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) - type: string - type: array - end: - description: - End is the last IP address that can be rendered. - It is used as a validation that the rendered IP is in bound. - pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) - type: string - gateway: - description: Gateway is the gateway ip address - pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) - type: string - prefix: - description: - Prefix is the mask of the network as integer (max - 128) - maximum: 128 - type: integer - start: - description: Start is the first ip address that can be rendered + type: array + gateway: + description: Gateway is the gateway ip address + pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) + type: string + namePrefix: + description: namePrefix is the prefix used to generate the IPAddress object names + minLength: 1 + type: string + pools: + description: Pools contains the list of IP addresses pools + items: + description: MetaDataIPAddress contains the info to render th ip address. It is IP-version agnostic + properties: + dnsServers: + description: DNSServers is the list of dns servers + items: + description: IPAddress is used for validation of an IP address pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) type: string - subnet: - description: - Subnet is used to validate that the rendered IP - is in bounds. In case the Start value is not given, it is - derived from the subnet ip incremented by 1 (`192.168.0.1` - for `192.168.0.0/24`) - pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))/([0-9]|[1-2][0-9]|3[0-2])$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8])$)) - type: string - type: object - type: array - preAllocations: - additionalProperties: - description: IPAddress is used for validation of an IP address - pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) - type: string - description: PreAllocations contains the preallocated IP addresses - type: object - prefix: - description: Prefix is the mask of the network as integer (max 128) - maximum: 128 - type: integer - required: - - namePrefix - type: object - status: - description: IPPoolStatus defines the observed state of IPPool. - properties: - indexes: - additionalProperties: - description: IPAddress is used for validation of an IP address - pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) - type: string - description: - Allocations contains the map of objects and IP addresses - they have + type: array + end: + description: End is the last IP address that can be rendered. It is used as a validation that the rendered IP is in bound. + pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) + type: string + gateway: + description: Gateway is the gateway ip address + pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) + type: string + prefix: + description: Prefix is the mask of the network as integer (max 128) + maximum: 128 + type: integer + start: + description: Start is the first ip address that can be rendered + pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) + type: string + subnet: + description: Subnet is used to validate that the rendered IP is in bounds. In case the Start value is not given, it is derived from the subnet ip incremented by 1 (`192.168.0.1` for `192.168.0.0/24`) + pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))/([0-9]|[1-2][0-9]|3[0-2])$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8])$)) + type: string type: object - lastUpdated: - description: LastUpdated identifies when this status was last observed. - format: date-time + type: array + preAllocations: + additionalProperties: + description: IPAddress is used for validation of an IP address + pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} + description: PreAllocations contains the preallocated IP addresses + type: object + prefix: + description: Prefix is the mask of the network as integer (max 128) + maximum: 128 + type: integer + required: + - namePrefix + type: object + status: + description: IPPoolStatus defines the observed state of IPPool. + properties: + indexes: + additionalProperties: + description: IPAddress is used for validation of an IP address + pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) + type: string + description: Allocations contains the map of objects and IP addresses they have + type: object + lastUpdated: + description: LastUpdated identifies when this status was last observed. + format: date-time + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} status: acceptedNames: kind: "" @@ -567,275 +479,210 @@ spec: namespace: capm3-system-test2 path: /convert conversionReviewVersions: - - v1 - - v1beta1 + - v1 + - v1beta1 group: infrastructure.cluster.x-k8s.io names: categories: - - cluster-api + - cluster-api kind: Metal3Cluster listKind: Metal3ClusterList plural: metal3clusters shortNames: - - m3c - - m3cluster - - m3clusters - - metal3c - - metal3cluster + - m3c + - m3cluster + - m3clusters + - metal3c + - metal3cluster singular: metal3cluster scope: Namespaced versions: - - additionalPrinterColumns: - - description: Time duration since creation of Metal3Cluster - jsonPath: .metadata.creationTimestamp - name: Age - type: date - - description: metal3Cluster is Ready - jsonPath: .status.ready - name: Ready - type: string - - description: Most recent error - jsonPath: .status.failureReason - name: Error - type: string - - description: Cluster to which this BMCluster belongs - jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name - name: Cluster - type: string - - description: Control plane endpoint - jsonPath: .spec.controlPlaneEndpoint - name: Endpoint - type: string - name: v1alpha5 - schema: - openAPIV3Schema: - description: Metal3Cluster is the Schema for the metal3clusters 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: Metal3ClusterSpec defines the desired state of Metal3Cluster. - properties: - controlPlaneEndpoint: - description: - ControlPlaneEndpoint represents the endpoint used to - communicate with the control plane. + - additionalPrinterColumns: + - description: Time duration since creation of Metal3Cluster + jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: metal3Cluster is Ready + jsonPath: .status.ready + name: Ready + type: string + - description: Most recent error + jsonPath: .status.failureReason + name: Error + type: string + - description: Cluster to which this BMCluster belongs + jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name + name: Cluster + type: string + - description: Control plane endpoint + jsonPath: .spec.controlPlaneEndpoint + name: Endpoint + type: string + name: v1alpha5 + schema: + openAPIV3Schema: + description: Metal3Cluster is the Schema for the metal3clusters 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: Metal3ClusterSpec defines the desired state of Metal3Cluster. + properties: + controlPlaneEndpoint: + description: ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. + properties: + host: + description: Host is the hostname on which the API server is serving. + type: string + port: + description: Port is the port on which the API server is serving. + type: integer + required: + - host + - port + type: object + noCloudProvider: + description: Determines if the cluster is not to be deployed with an external cloud provider. If set to true, CAPM3 will use node labels to set providerID on the kubernetes nodes. If set to false, providerID is set on nodes by other entities and CAPM3 uses the value of the providerID on the m3m resource. + type: boolean + required: + - controlPlaneEndpoint + type: object + status: + description: Metal3ClusterStatus defines the observed state of Metal3Cluster. + properties: + 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 + lastUpdated: + description: LastUpdated identifies when this status was last observed. + format: date-time + type: string + ready: + description: Ready denotes that the Metal3 cluster (infrastructure) is ready. In Baremetal case, it does not mean anything for now as no infrastructure steps need to be performed. Required by Cluster API. Set to True by the metal3Cluster controller after creation. + type: boolean + required: + - ready + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - description: Time duration since creation of Metal3Cluster + jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: metal3Cluster is Ready + jsonPath: .status.ready + name: Ready + type: string + - description: Most recent error + jsonPath: .status.failureReason + name: Error + type: string + - description: Cluster to which this BMCluster belongs + jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name + name: Cluster + type: string + - description: Control plane endpoint + jsonPath: .spec.controlPlaneEndpoint + name: Endpoint + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: Metal3Cluster is the Schema for the metal3clusters 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: Metal3ClusterSpec defines the desired state of Metal3Cluster. + properties: + controlPlaneEndpoint: + description: ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. + properties: + host: + description: Host is the hostname on which the API server is serving. + type: string + port: + description: Port is the port on which the API server is serving. + type: integer + required: + - host + - port + type: object + noCloudProvider: + description: Determines if the cluster is not to be deployed with an external cloud provider. If set to true, CAPM3 will use node labels to set providerID on the kubernetes nodes. If set to false, providerID is set on nodes by other entities and CAPM3 uses the value of the providerID on the m3m resource. + type: boolean + type: object + status: + description: Metal3ClusterStatus defines the observed state of Metal3Cluster. + properties: + conditions: + description: Conditions defines current service state of the Metal3Cluster. + items: + description: Condition defines an observation of a Cluster API resource operational state. properties: - host: - description: Host is the hostname on which the API server is serving. + 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 - port: - description: Port is the port on which the API server is serving. - type: integer - required: - - host - - port - type: object - noCloudProvider: - description: - Determines if the cluster is not to be deployed with - an external cloud provider. If set to true, CAPM3 will use node - labels to set providerID on the kubernetes nodes. If set to false, - providerID is set on nodes by other entities and CAPM3 uses the - value of the providerID on the m3m resource. - type: boolean - required: - - controlPlaneEndpoint - type: object - status: - description: Metal3ClusterStatus defines the observed state of Metal3Cluster. - properties: - 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 - lastUpdated: - description: LastUpdated identifies when this status was last observed. - format: date-time - type: string - ready: - description: - Ready denotes that the Metal3 cluster (infrastructure) - is ready. In Baremetal case, it does not mean anything for now as - no infrastructure steps need to be performed. Required by Cluster - API. Set to True by the metal3Cluster controller after creation. - type: boolean - required: - - ready - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - description: Time duration since creation of Metal3Cluster - jsonPath: .metadata.creationTimestamp - name: Age - type: date - - description: metal3Cluster is Ready - jsonPath: .status.ready - name: Ready - type: string - - description: Most recent error - jsonPath: .status.failureReason - name: Error - type: string - - description: Cluster to which this BMCluster belongs - jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name - name: Cluster - type: string - - description: Control plane endpoint - jsonPath: .spec.controlPlaneEndpoint - name: Endpoint - type: string - name: v1beta1 - schema: - openAPIV3Schema: - description: Metal3Cluster is the Schema for the metal3clusters 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: Metal3ClusterSpec defines the desired state of Metal3Cluster. - properties: - controlPlaneEndpoint: - description: - ControlPlaneEndpoint represents the endpoint used to - communicate with the control plane. - properties: - host: - description: Host is the hostname on which the API server is serving. + 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 - port: - description: Port is the port on which the API server is serving. - type: integer required: - - host - - port + - lastTransitionTime + - status + - type type: object - noCloudProvider: - description: - Determines if the cluster is not to be deployed with - an external cloud provider. If set to true, CAPM3 will use node - labels to set providerID on the kubernetes nodes. If set to false, - providerID is set on nodes by other entities and CAPM3 uses the - value of the providerID on the m3m resource. - type: boolean - type: object - status: - description: Metal3ClusterStatus defines the observed state of Metal3Cluster. - properties: - conditions: - description: Conditions defines current service state of the Metal3Cluster. - 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 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 - lastUpdated: - description: LastUpdated identifies when this status was last observed. - format: date-time - type: string - ready: - description: - Ready denotes that the Metal3 cluster (infrastructure) - is ready. In Baremetal case, it does not mean anything for now as - no infrastructure steps need to be performed. Required by Cluster - API. Set to True by the metal3Cluster controller after creation. - type: boolean - type: object - type: object - served: true - storage: true - subresources: - status: {} + type: array + 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 + lastUpdated: + description: LastUpdated identifies when this status was last observed. + format: date-time + type: string + ready: + description: Ready denotes that the Metal3 cluster (infrastructure) is ready. In Baremetal case, it does not mean anything for now as no infrastructure steps need to be performed. Required by Cluster API. Set to True by the metal3Cluster controller after creation. + type: boolean + type: object + type: object + served: true + storage: true + subresources: + status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -859,268 +706,200 @@ spec: namespace: capm3-system-test2 path: /convert conversionReviewVersions: - - v1 - - v1beta1 + - v1 + - v1beta1 group: infrastructure.cluster.x-k8s.io names: categories: - - cluster-api + - cluster-api kind: Metal3DataClaim listKind: Metal3DataClaimList plural: metal3dataclaims shortNames: - - m3dc - - m3dataclaim - - m3dataclaims - - metal3dc - - metal3dataclaim + - m3dc + - m3dataclaim + - m3dataclaims + - metal3dc + - metal3dataclaim singular: metal3dataclaim scope: Namespaced versions: - - additionalPrinterColumns: - - description: Time duration since creation of Metal3DataClaim - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha5 - schema: - openAPIV3Schema: - description: Metal3DataClaim is the Schema for the metal3datas 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: Metal3DataClaimSpec defines the desired state of Metal3DataClaim. - properties: - template: - description: - Template is the Metal3DataTemplate this was generated - for. - 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: - - template - type: object - status: - description: Metal3DataClaimStatus defines the observed state of Metal3DataClaim. - properties: - errorMessage: - description: ErrorMessage contains the error message - type: string - renderedData: - description: RenderedData references the Metal3Data when ready - 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 - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - description: Time duration since creation of Metal3DataClaim - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1beta1 - schema: - openAPIV3Schema: - description: Metal3DataClaim is the Schema for the metal3datas 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: Metal3DataClaimSpec defines the desired state of Metal3DataClaim. - properties: - template: - description: - Template is the Metal3DataTemplate this was generated - for. - 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: - - template - type: object - status: - description: Metal3DataClaimStatus defines the observed state of Metal3DataClaim. - properties: - errorMessage: - description: ErrorMessage contains the error message - type: string - renderedData: - description: RenderedData references the Metal3Data when ready - 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 - type: object - type: object - served: true - storage: true - subresources: - status: {} + - additionalPrinterColumns: + - description: Time duration since creation of Metal3DataClaim + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha5 + schema: + openAPIV3Schema: + description: Metal3DataClaim is the Schema for the metal3datas 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: Metal3DataClaimSpec defines the desired state of Metal3DataClaim. + properties: + template: + description: Template is the Metal3DataTemplate this was generated for. + 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: + - template + type: object + status: + description: Metal3DataClaimStatus defines the observed state of Metal3DataClaim. + properties: + errorMessage: + description: ErrorMessage contains the error message + type: string + renderedData: + description: RenderedData references the Metal3Data when ready + 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 + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - description: Time duration since creation of Metal3DataClaim + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + description: Metal3DataClaim is the Schema for the metal3datas 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: Metal3DataClaimSpec defines the desired state of Metal3DataClaim. + properties: + template: + description: Template is the Metal3DataTemplate this was generated for. + 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: + - template + type: object + status: + description: Metal3DataClaimStatus defines the observed state of Metal3DataClaim. + properties: + errorMessage: + description: ErrorMessage contains the error message + type: string + renderedData: + description: RenderedData references the Metal3Data when ready + 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 + type: object + type: object + served: true + storage: true + subresources: + status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -1144,366 +923,264 @@ spec: namespace: capm3-system-test2 path: /convert conversionReviewVersions: - - v1 - - v1beta1 + - v1 + - v1beta1 group: infrastructure.cluster.x-k8s.io names: categories: - - cluster-api + - cluster-api kind: Metal3Data listKind: Metal3DataList plural: metal3datas shortNames: - - m3d - - m3data - - m3datas - - metal3d - - metal3data + - m3d + - m3data + - m3datas + - metal3d + - metal3data singular: metal3data scope: Namespaced versions: - - additionalPrinterColumns: - - description: Time duration since creation of Metal3Data - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha5 - schema: - openAPIV3Schema: - description: Metal3Data is the Schema for the metal3datas 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: Metal3DataSpec defines the desired state of Metal3Data. - properties: - claim: - description: - DataClaim points to the Metal3DataClaim the Metal3Data - was created for. - 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 - index: - description: - Index stores the index value of this instance in the - Metal3DataTemplate. - type: integer - metaData: - description: MetaData points to the rendered MetaData secret. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - networkData: - description: NetworkData points to the rendered NetworkData secret. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - template: - description: - DataTemplate is the Metal3DataTemplate this was generated - from. - 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 - templateReference: - description: - TemplateReference refers to the Template the Metal3MachineTemplate - refers to. It can be matched against the key or it may also point - to the name of the template Metal3Data refers to - type: string - required: - - claim - - template - type: object - status: - description: Metal3DataStatus defines the observed state of Metal3Data. - properties: - errorMessage: - description: ErrorMessage contains the error message - type: string - ready: - description: - Ready is a flag set to True if the secrets were rendered - properly - type: boolean - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - description: Time duration since creation of Metal3Data - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1beta1 - schema: - openAPIV3Schema: - description: Metal3Data is the Schema for the metal3datas 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: Metal3DataSpec defines the desired state of Metal3Data. - properties: - claim: - description: - DataClaim points to the Metal3DataClaim the Metal3Data - was created for. - 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 - index: - description: - Index stores the index value of this instance in the - Metal3DataTemplate. - type: integer - metaData: - description: MetaData points to the rendered MetaData secret. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - networkData: - description: NetworkData points to the rendered NetworkData secret. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - template: - description: - DataTemplate is the Metal3DataTemplate this was generated - from. - 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 - templateReference: - description: - TemplateReference refers to the Template the Metal3MachineTemplate - refers to. It can be matched against the key or it may also point - to the name of the template Metal3Data refers to - type: string - required: - - claim - - template - type: object - status: - description: Metal3DataStatus defines the observed state of Metal3Data. - properties: - errorMessage: - description: ErrorMessage contains the error message - type: string - ready: - description: - Ready is a flag set to True if the secrets were rendered - properly - type: boolean - type: object - type: object - served: true - storage: true - subresources: - status: {} + - additionalPrinterColumns: + - description: Time duration since creation of Metal3Data + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha5 + schema: + openAPIV3Schema: + description: Metal3Data is the Schema for the metal3datas 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: Metal3DataSpec defines the desired state of Metal3Data. + properties: + claim: + description: DataClaim points to the Metal3DataClaim the Metal3Data was created for. + 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 + index: + description: Index stores the index value of this instance in the Metal3DataTemplate. + type: integer + metaData: + description: MetaData points to the rendered MetaData secret. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + networkData: + description: NetworkData points to the rendered NetworkData secret. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + template: + description: DataTemplate is the Metal3DataTemplate this was generated from. + 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 + templateReference: + description: TemplateReference refers to the Template the Metal3MachineTemplate refers to. It can be matched against the key or it may also point to the name of the template Metal3Data refers to + type: string + required: + - claim + - template + type: object + status: + description: Metal3DataStatus defines the observed state of Metal3Data. + properties: + errorMessage: + description: ErrorMessage contains the error message + type: string + ready: + description: Ready is a flag set to True if the secrets were rendered properly + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - description: Time duration since creation of Metal3Data + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + description: Metal3Data is the Schema for the metal3datas 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: Metal3DataSpec defines the desired state of Metal3Data. + properties: + claim: + description: DataClaim points to the Metal3DataClaim the Metal3Data was created for. + 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 + index: + description: Index stores the index value of this instance in the Metal3DataTemplate. + type: integer + metaData: + description: MetaData points to the rendered MetaData secret. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + networkData: + description: NetworkData points to the rendered NetworkData secret. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + template: + description: DataTemplate is the Metal3DataTemplate this was generated from. + 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 + templateReference: + description: TemplateReference refers to the Template the Metal3MachineTemplate refers to. It can be matched against the key or it may also point to the name of the template Metal3Data refers to + type: string + required: + - claim + - template + type: object + status: + description: Metal3DataStatus defines the observed state of Metal3Data. + properties: + errorMessage: + description: ErrorMessage contains the error message + type: string + ready: + description: Ready is a flag set to True if the secrets were rendered properly + type: boolean + type: object + type: object + served: true + storage: true + subresources: + status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -1527,1906 +1204,1440 @@ spec: namespace: capm3-system-test2 path: /convert conversionReviewVersions: - - v1 - - v1beta1 + - v1 + - v1beta1 group: infrastructure.cluster.x-k8s.io names: categories: - - cluster-api + - cluster-api kind: Metal3DataTemplate listKind: Metal3DataTemplateList plural: metal3datatemplates shortNames: - - m3dt - - m3datatemplate - - m3datatemplates - - metal3dt - - metal3datatemplate + - m3dt + - m3datatemplate + - m3datatemplates + - metal3dt + - metal3datatemplate singular: metal3datatemplate scope: Namespaced versions: - - additionalPrinterColumns: - - description: Cluster to which this template belongs - jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name - name: Cluster - type: string - - description: Time duration since creation of Metal3DataTemplate - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha5 - schema: - openAPIV3Schema: - description: - Metal3DataTemplate is the Schema for the metal3datatemplates - 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: Metal3DataTemplateSpec defines the desired state of Metal3DataTemplate. - properties: - clusterName: - description: - ClusterName is the name of the Cluster this object belongs - to. - minLength: 1 - type: string - metaData: - description: - MetaData contains the information needed to generate - the metadata secret - properties: - dnsServersFromIPPool: - description: - DNSServersFromPool is the list of metadata items - to be rendered as dns servers. - items: - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - name: - description: - Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init - type: string - required: - - key - - name - type: object - type: array - fromAnnotations: - description: - FromAnnotations is the list of metadata items to - be fetched from object Annotations - items: - description: - MetaDataFromAnnotation contains the information - to fetch an annotation content, if the label does not exist, - it is rendered as empty string - properties: - annotation: - description: - Annotation is the key of the Annotation to - fetch - type: string - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - object: - description: - Object is the type of the object from which - we retrieve the name - enum: - - machine - - metal3machine - - baremetalhost - type: string - required: - - annotation - - key - - object - type: object - type: array - fromHostInterfaces: - description: - FromHostInterfaces is the list of metadata items - to be rendered as MAC addresses of the host interfaces. - items: - description: - MetaDataHostInterface contains the information - to render the object name - properties: - interface: - description: - Interface is the name of the interface in the - BareMetalHost Status Hardware Details list of interfaces - from which to fetch the MAC address. - type: string - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - required: - - interface - - key - type: object - type: array - fromLabels: - description: - FromLabels is the list of metadata items to be fetched - from object labels - items: - description: - MetaDataFromLabel contains the information to fetch - a label content, if the label does not exist, it is rendered - as empty string - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - label: - description: Label is the key of the label to fetch - type: string - object: - description: - Object is the type of the object from which - we retrieve the name - enum: - - machine - - metal3machine - - baremetalhost - type: string - required: - - key - - label - - object - type: object - type: array - gatewaysFromIPPool: - description: - GatewaysFromPool is the list of metadata items to - be rendered as gateway addresses. - items: - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - name: - description: - Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init - type: string - required: - - key - - name - type: object - type: array - indexes: - description: - Indexes is the list of metadata items to be rendered - from the index of the Metal3Data - items: - description: - MetaDataIndex contains the information to render - the index - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - offset: - description: - Offset is the offset to apply to the index - when rendering it - type: integer - prefix: - description: Prefix is the prefix string - type: string - step: - default: 1 - description: Step is the multiplier of the index - type: integer - suffix: - description: Suffix is the suffix string - type: string - required: - - key - type: object - type: array - ipAddressesFromIPPool: - description: - IPAddressesFromPool is the list of metadata items - to be rendered as ip addresses. - items: - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - name: - description: - Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init - type: string - required: - - key - - name - type: object - type: array - namespaces: - description: - Namespaces is the list of metadata items to be rendered - from the namespace - items: - description: - MetaDataNamespace contains the information to render - the namespace - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - required: - - key - type: object - type: array - objectNames: - description: - ObjectNames is the list of metadata items to be rendered - from the name of objects. - items: - description: - MetaDataObjectName contains the information to - render the object name - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - object: - description: - Object is the type of the object from which - we retrieve the name - enum: - - machine - - metal3machine - - baremetalhost - type: string - required: - - key - - object - type: object - type: array - prefixesFromIPPool: - description: - PrefixesFromPool is the list of metadata items to - be rendered as network prefixes. - items: - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - name: - description: - Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init - type: string - required: - - key - - name - type: object - type: array - strings: - description: - Strings is the list of metadata items to be rendered - from strings - items: - description: - MetaDataString contains the information to render - the string - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - value: - description: Value is the string to render. - type: string - required: - - key - - value - type: object - type: array - type: object - networkData: - description: - NetworkData contains the information needed to generate - the networkdata secret - properties: - links: - description: - Links is a structure containing lists of different - types objects + - additionalPrinterColumns: + - description: Cluster to which this template belongs + jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name + name: Cluster + type: string + - description: Time duration since creation of Metal3DataTemplate + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha5 + schema: + openAPIV3Schema: + description: Metal3DataTemplate is the Schema for the metal3datatemplates 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: Metal3DataTemplateSpec defines the desired state of Metal3DataTemplate. + properties: + clusterName: + description: ClusterName is the name of the Cluster this object belongs to. + minLength: 1 + type: string + metaData: + description: MetaData contains the information needed to generate the metadata secret + properties: + dnsServersFromIPPool: + description: DNSServersFromPool is the list of metadata items to be rendered as dns servers. + items: properties: - bonds: - description: Bonds contains a list of Bond links - items: - description: - NetworkDataLinkBond represents a bond link - object - properties: - bondLinks: - description: - BondLinks is the list of links that are - part of the bond. - items: - type: string - type: array - bondMode: - description: - BondMode is the mode of bond used. It can - be one of balance-rr, active-backup, balance-xor, - broadcast, balance-tlb, balance-alb, 802.3ad - enum: - - balance-rr - - active-backup - - balance-xor - - broadcast - - balance-tlb - - balance-alb - - 802.3ad - type: string - id: - description: - Id is the ID of the interface (used for - naming) - type: string - macAddress: - description: - MACAddress is the MAC address of the interface, - containing the object used to render it. - properties: - fromHostInterface: - description: - FromHostInterface contains the name - of the interface in the BareMetalHost Introspection - details from which to fetch the MAC address - type: string - string: - description: - String contains the MAC address given - as a string - type: string - type: object - mtu: - default: 1500 - description: MTU is the MTU of the interface - maximum: 9000 - type: integer - required: - - bondLinks - - bondMode - - id - - macAddress - type: object - type: array - ethernets: - description: Ethernets contains a list of Ethernet links - items: - description: - NetworkDataLinkEthernet represents an ethernet - link object - properties: - id: - description: - Id is the ID of the interface (used for - naming) - type: string - macAddress: - description: - MACAddress is the MAC address of the interface, - containing the object used to render it. - properties: - fromHostInterface: - description: - FromHostInterface contains the name - of the interface in the BareMetalHost Introspection - details from which to fetch the MAC address - type: string - string: - description: - String contains the MAC address given - as a string - type: string - type: object - mtu: - default: 1500 - description: MTU is the MTU of the interface - maximum: 9000 - type: integer - type: - description: - "Type is the type of the ethernet link. - It can be one of: bridge, dvs, hw_veb, hyperv, ovs, - tap, vhostuser, vif, phy" - enum: - - bridge - - dvs - - hw_veb - - hyperv - - ovs - - tap - - vhostuser - - vif - - phy - type: string - required: - - id - - macAddress - - type - type: object - type: array - vlans: - description: Vlans contains a list of Vlan links - items: - description: - NetworkDataLinkVlan represents a vlan link - object - properties: - id: - description: - Id is the ID of the interface (used for - naming) - type: string - macAddress: - description: - MACAddress is the MAC address of the interface, - containing the object used to render it. - properties: - fromHostInterface: - description: - FromHostInterface contains the name - of the interface in the BareMetalHost Introspection - details from which to fetch the MAC address - type: string - string: - description: - String contains the MAC address given - as a string - type: string - type: object - mtu: - default: 1500 - description: MTU is the MTU of the interface - maximum: 9000 - type: integer - vlanID: - description: VlanID is the Vlan ID - maximum: 4096 - type: integer - vlanLink: - description: - VlanLink is the name of the link on which - the vlan should be added - type: string - required: - - id - - macAddress - - vlanID - - vlanLink - type: object - type: array + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + name: + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init + type: string + required: + - key + - name type: object - networks: - description: - Networks is a structure containing lists of different - types objects + type: array + fromAnnotations: + description: FromAnnotations is the list of metadata items to be fetched from object Annotations + items: + description: MetaDataFromAnnotation contains the information to fetch an annotation content, if the label does not exist, it is rendered as empty string properties: - ipv4: - description: IPv4 contains a list of IPv4 static allocations - items: - description: - NetworkDataIPv4 represents an ipv4 static network - object - properties: - id: - description: ID is the network ID (name) - type: string - ipAddressFromIPPool: - description: - IPAddressFromIPPool contains the name of - the IPPool to use to get an ip address - type: string - link: - description: Link is the link on which the network applies - type: string - routes: - description: Routes contains a list of IPv4 routes - items: - description: - NetworkDataRoutev4 represents an ipv4 - route object - properties: - gateway: - description: - Gateway is the IPv4 address of the - gateway - properties: - fromIPPool: - description: - FromIPPool is the name of the - IPPool to fetch the gateway from - type: string - string: - description: - String is the gateway given as - a string - pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ - type: string - type: object - network: - description: Network is the IPv4 network address - pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ - type: string - prefix: - description: - Prefix is the mask of the network - as integer (max 32) - maximum: 32 - type: integer - services: - description: Services is a list of IPv4 services - properties: - dns: - description: DNS is a list of IPv4 DNS services - items: - description: - IPAddressv4 is used for validation - of an IPv6 address - pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of - the IPPool from which to get the DNS servers - type: string - type: object - required: - - gateway - - network - type: object - type: array - required: - - id - - ipAddressFromIPPool - - link - type: object - type: array - ipv4DHCP: - description: IPv4 contains a list of IPv4 DHCP allocations - items: - description: - NetworkDataIPv4DHCP represents an ipv4 DHCP - network object - properties: - id: - description: ID is the network ID (name) - type: string - link: - description: Link is the link on which the network applies - type: string - routes: - description: Routes contains a list of IPv4 routes - items: - description: - NetworkDataRoutev4 represents an ipv4 - route object - properties: - gateway: - description: - Gateway is the IPv4 address of the - gateway - properties: - fromIPPool: - description: - FromIPPool is the name of the - IPPool to fetch the gateway from - type: string - string: - description: - String is the gateway given as - a string - pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ - type: string - type: object - network: - description: Network is the IPv4 network address - pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ - type: string - prefix: - description: - Prefix is the mask of the network - as integer (max 32) - maximum: 32 - type: integer - services: - description: Services is a list of IPv4 services - properties: - dns: - description: DNS is a list of IPv4 DNS services - items: - description: - IPAddressv4 is used for validation - of an IPv6 address - pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of - the IPPool from which to get the DNS servers - type: string - type: object - required: - - gateway - - network - type: object - type: array - required: - - id - - link - type: object - type: array - ipv6: - description: IPv4 contains a list of IPv6 static allocations - items: - description: - NetworkDataIPv6 represents an ipv6 static network - object - properties: - id: - description: ID is the network ID (name) - type: string - ipAddressFromIPPool: - description: - IPAddressFromIPPool contains the name of - the IPPool to use to get an ip address - type: string - link: - description: Link is the link on which the network applies - type: string - routes: - description: Routes contains a list of IPv6 routes - items: - description: - NetworkDataRoutev6 represents an ipv6 - route object - properties: - gateway: - description: - Gateway is the IPv6 address of the - gateway - properties: - fromIPPool: - description: - FromIPPool is the name of the - IPPool to fetch the gateway from - type: string - string: - description: - String is the gateway given as - a string - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - type: object - network: - description: Network is the IPv6 network address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - prefix: - description: - Prefix is the mask of the network - as integer (max 128) - maximum: 128 - type: integer - services: - description: Services is a list of IPv6 services - properties: - dns: - description: DNS is a list of IPv6 DNS services - items: - description: - IPAddressv6 is used for validation - of an IPv6 address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of - the IPPool from which to get the DNS servers - type: string - type: object - required: - - gateway - - network - type: object - type: array - required: - - id - - ipAddressFromIPPool - - link - type: object - type: array - ipv6DHCP: - description: IPv4 contains a list of IPv6 DHCP allocations - items: - description: - NetworkDataIPv6DHCP represents an ipv6 DHCP - network object - properties: - id: - description: ID is the network ID (name) - type: string - link: - description: Link is the link on which the network applies - type: string - routes: - description: Routes contains a list of IPv6 routes - items: - description: - NetworkDataRoutev6 represents an ipv6 - route object - properties: - gateway: - description: - Gateway is the IPv6 address of the - gateway - properties: - fromIPPool: - description: - FromIPPool is the name of the - IPPool to fetch the gateway from - type: string - string: - description: - String is the gateway given as - a string - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - type: object - network: - description: Network is the IPv6 network address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - prefix: - description: - Prefix is the mask of the network - as integer (max 128) - maximum: 128 - type: integer - services: - description: Services is a list of IPv6 services - properties: - dns: - description: DNS is a list of IPv6 DNS services - items: - description: - IPAddressv6 is used for validation - of an IPv6 address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of - the IPPool from which to get the DNS servers - type: string - type: object - required: - - gateway - - network - type: object - type: array - required: - - id - - link - type: object - type: array - ipv6SLAAC: - description: IPv4 contains a list of IPv6 SLAAC allocations - items: - description: - NetworkDataIPv6DHCP represents an ipv6 DHCP - network object - properties: - id: - description: ID is the network ID (name) - type: string - link: - description: Link is the link on which the network applies - type: string - routes: - description: Routes contains a list of IPv6 routes - items: - description: - NetworkDataRoutev6 represents an ipv6 - route object - properties: - gateway: - description: - Gateway is the IPv6 address of the - gateway - properties: - fromIPPool: - description: - FromIPPool is the name of the - IPPool to fetch the gateway from - type: string - string: - description: - String is the gateway given as - a string - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - type: object - network: - description: Network is the IPv6 network address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - prefix: - description: - Prefix is the mask of the network - as integer (max 128) - maximum: 128 - type: integer - services: - description: Services is a list of IPv6 services - properties: - dns: - description: DNS is a list of IPv6 DNS services - items: - description: - IPAddressv6 is used for validation - of an IPv6 address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of - the IPPool from which to get the DNS servers - type: string - type: object - required: - - gateway - - network - type: object - type: array - required: - - id - - link - type: object - type: array + annotation: + description: Annotation is the key of the Annotation to fetch + type: string + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + object: + description: Object is the type of the object from which we retrieve the name + enum: + - machine + - metal3machine + - baremetalhost + type: string + required: + - annotation + - key + - object type: object - services: - description: - Services is a structure containing lists of different - types objects + type: array + fromHostInterfaces: + description: FromHostInterfaces is the list of metadata items to be rendered as MAC addresses of the host interfaces. + items: + description: MetaDataHostInterface contains the information to render the object name properties: - dns: - description: DNS is a list of DNS services - items: - description: IPAddress is used for validation of an IP address - pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of the IPPool from - which to get the DNS servers + interface: + description: Interface is the name of the interface in the BareMetalHost Status Hardware Details list of interfaces from which to fetch the MAC address. type: string + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + required: + - interface + - key type: object - type: object - templateReference: - description: - TemplateReference refers to the Template the Metal3MachineTemplate - refers to. It can be matched against the key or it may also point - to the name of the template Metal3Data refers to - type: string - required: - - clusterName - type: object - status: - description: Metal3DataTemplateStatus defines the observed state of Metal3DataTemplate. - properties: - indexes: - additionalProperties: - type: integer - description: Indexes contains the map of Metal3Machine and index used - type: object - lastUpdated: - description: LastUpdated identifies when this status was last observed. - format: date-time - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - description: Cluster to which this template belongs - jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name - name: Cluster - type: string - - description: Time duration since creation of Metal3DataTemplate - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1beta1 - schema: - openAPIV3Schema: - description: - Metal3DataTemplate is the Schema for the metal3datatemplates - 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: Metal3DataTemplateSpec defines the desired state of Metal3DataTemplate. - properties: - clusterName: - description: - ClusterName is the name of the Cluster this object belongs - to. - minLength: 1 - type: string - metaData: - description: - MetaData contains the information needed to generate - the metadata secret - properties: - dnsServersFromIPPool: - description: - DNSServersFromPool is the list of metadata items - to be rendered as dns servers. - items: - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - name: - description: - Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init - type: string - required: - - key - - name - type: object - type: array - fromAnnotations: - description: - FromAnnotations is the list of metadata items to - be fetched from object Annotations - items: - description: - MetaDataFromAnnotation contains the information - to fetch an annotation content, if the label does not exist, - it is rendered as empty string - properties: - annotation: - description: - Annotation is the key of the Annotation to - fetch - type: string - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - object: - description: - Object is the type of the object from which - we retrieve the name - enum: - - machine - - metal3machine - - baremetalhost - type: string - required: - - annotation - - key - - object - type: object - type: array - fromHostInterfaces: - description: - FromHostInterfaces is the list of metadata items - to be rendered as MAC addresses of the host interfaces. - items: - description: - MetaDataHostInterface contains the information - to render the object name - properties: - interface: - description: - Interface is the name of the interface in the - BareMetalHost Status Hardware Details list of interfaces - from which to fetch the MAC address. - type: string - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - required: - - interface - - key - type: object - type: array - fromLabels: - description: - FromLabels is the list of metadata items to be fetched - from object labels - items: - description: - MetaDataFromLabel contains the information to fetch - a label content, if the label does not exist, it is rendered - as empty string - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - label: - description: Label is the key of the label to fetch - type: string - object: - description: - Object is the type of the object from which - we retrieve the name - enum: - - machine - - metal3machine - - baremetalhost - type: string - required: - - key - - label - - object - type: object - type: array - gatewaysFromIPPool: - description: - GatewaysFromPool is the list of metadata items to - be rendered as gateway addresses. - items: - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - name: - description: - Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init - type: string - required: - - key - - name - type: object - type: array - indexes: - description: - Indexes is the list of metadata items to be rendered - from the index of the Metal3Data - items: - description: - MetaDataIndex contains the information to render - the index - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - offset: - description: - Offset is the offset to apply to the index - when rendering it - type: integer - prefix: - description: Prefix is the prefix string - type: string - step: - default: 1 - description: Step is the multiplier of the index - type: integer - suffix: - description: Suffix is the suffix string - type: string - required: - - key - type: object - type: array - ipAddressesFromIPPool: - description: - IPAddressesFromPool is the list of metadata items - to be rendered as ip addresses. - items: - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - name: - description: - Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init - type: string - required: - - key - - name - type: object - type: array - namespaces: - description: - Namespaces is the list of metadata items to be rendered - from the namespace - items: - description: - MetaDataNamespace contains the information to render - the namespace - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - required: - - key - type: object - type: array - objectNames: - description: - ObjectNames is the list of metadata items to be rendered - from the name of objects. - items: - description: - MetaDataObjectName contains the information to - render the object name - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - object: - description: - Object is the type of the object from which - we retrieve the name - enum: - - machine - - metal3machine - - baremetalhost - type: string - required: - - key - - object - type: object - type: array - prefixesFromIPPool: - description: - PrefixesFromPool is the list of metadata items to - be rendered as network prefixes. - items: - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - name: - description: - Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init - type: string - required: - - key - - name - type: object - type: array - strings: - description: - Strings is the list of metadata items to be rendered - from strings - items: - description: - MetaDataString contains the information to render - the string - properties: - key: - description: - Key will be used as the key to set in the metadata - map for cloud-init - type: string - value: - description: Value is the string to render. - type: string - required: - - key - - value - type: object - type: array - type: object - networkData: - description: - NetworkData contains the information needed to generate - the networkdata secret - properties: - links: - description: - Links is a structure containing lists of different - types objects + type: array + fromLabels: + description: FromLabels is the list of metadata items to be fetched from object labels + items: + description: MetaDataFromLabel contains the information to fetch a label content, if the label does not exist, it is rendered as empty string properties: - bonds: - description: Bonds contains a list of Bond links - items: - description: - NetworkDataLinkBond represents a bond link - object - properties: - bondLinks: - description: - BondLinks is the list of links that are - part of the bond. - items: - type: string - type: array - bondMode: - description: - BondMode is the mode of bond used. It can - be one of balance-rr, active-backup, balance-xor, - broadcast, balance-tlb, balance-alb, 802.1ad - enum: - - balance-rr - - active-backup - - balance-xor - - broadcast - - balance-tlb - - balance-alb - - 802.1ad - type: string - id: - description: - Id is the ID of the interface (used for - naming) + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + label: + description: Label is the key of the label to fetch + type: string + object: + description: Object is the type of the object from which we retrieve the name + enum: + - machine + - metal3machine + - baremetalhost + type: string + required: + - key + - label + - object + type: object + type: array + gatewaysFromIPPool: + description: GatewaysFromPool is the list of metadata items to be rendered as gateway addresses. + items: + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + name: + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init + type: string + required: + - key + - name + type: object + type: array + indexes: + description: Indexes is the list of metadata items to be rendered from the index of the Metal3Data + items: + description: MetaDataIndex contains the information to render the index + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + offset: + description: Offset is the offset to apply to the index when rendering it + type: integer + prefix: + description: Prefix is the prefix string + type: string + step: + default: 1 + description: Step is the multiplier of the index + type: integer + suffix: + description: Suffix is the suffix string + type: string + required: + - key + type: object + type: array + ipAddressesFromIPPool: + description: IPAddressesFromPool is the list of metadata items to be rendered as ip addresses. + items: + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + name: + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init + type: string + required: + - key + - name + type: object + type: array + namespaces: + description: Namespaces is the list of metadata items to be rendered from the namespace + items: + description: MetaDataNamespace contains the information to render the namespace + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + required: + - key + type: object + type: array + objectNames: + description: ObjectNames is the list of metadata items to be rendered from the name of objects. + items: + description: MetaDataObjectName contains the information to render the object name + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + object: + description: Object is the type of the object from which we retrieve the name + enum: + - machine + - metal3machine + - baremetalhost + type: string + required: + - key + - object + type: object + type: array + prefixesFromIPPool: + description: PrefixesFromPool is the list of metadata items to be rendered as network prefixes. + items: + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + name: + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init + type: string + required: + - key + - name + type: object + type: array + strings: + description: Strings is the list of metadata items to be rendered from strings + items: + description: MetaDataString contains the information to render the string + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + value: + description: Value is the string to render. + type: string + required: + - key + - value + type: object + type: array + type: object + networkData: + description: NetworkData contains the information needed to generate the networkdata secret + properties: + links: + description: Links is a structure containing lists of different types objects + properties: + bonds: + description: Bonds contains a list of Bond links + items: + description: NetworkDataLinkBond represents a bond link object + properties: + bondLinks: + description: BondLinks is the list of links that are part of the bond. + items: type: string - macAddress: - description: - MACAddress is the MAC address of the interface, - containing the object used to render it. + type: array + bondMode: + description: BondMode is the mode of bond used. It can be one of balance-rr, active-backup, balance-xor, broadcast, balance-tlb, balance-alb, 802.3ad + enum: + - balance-rr + - active-backup + - balance-xor + - broadcast + - balance-tlb + - balance-alb + - 802.3ad + type: string + id: + description: Id is the ID of the interface (used for naming) + type: string + macAddress: + description: MACAddress is the MAC address of the interface, containing the object used to render it. + properties: + fromHostInterface: + description: FromHostInterface contains the name of the interface in the BareMetalHost Introspection details from which to fetch the MAC address + type: string + string: + description: String contains the MAC address given as a string + type: string + type: object + mtu: + default: 1500 + description: MTU is the MTU of the interface + maximum: 9000 + type: integer + required: + - bondLinks + - bondMode + - id + - macAddress + type: object + type: array + ethernets: + description: Ethernets contains a list of Ethernet links + items: + description: NetworkDataLinkEthernet represents an ethernet link object + properties: + id: + description: Id is the ID of the interface (used for naming) + type: string + macAddress: + description: MACAddress is the MAC address of the interface, containing the object used to render it. + properties: + fromHostInterface: + description: FromHostInterface contains the name of the interface in the BareMetalHost Introspection details from which to fetch the MAC address + type: string + string: + description: String contains the MAC address given as a string + type: string + type: object + mtu: + default: 1500 + description: MTU is the MTU of the interface + maximum: 9000 + type: integer + type: + description: "Type is the type of the ethernet link. It can be one of: bridge, dvs, hw_veb, hyperv, ovs, tap, vhostuser, vif, phy" + enum: + - bridge + - dvs + - hw_veb + - hyperv + - ovs + - tap + - vhostuser + - vif + - phy + type: string + required: + - id + - macAddress + - type + type: object + type: array + vlans: + description: Vlans contains a list of Vlan links + items: + description: NetworkDataLinkVlan represents a vlan link object + properties: + id: + description: Id is the ID of the interface (used for naming) + type: string + macAddress: + description: MACAddress is the MAC address of the interface, containing the object used to render it. + properties: + fromHostInterface: + description: FromHostInterface contains the name of the interface in the BareMetalHost Introspection details from which to fetch the MAC address + type: string + string: + description: String contains the MAC address given as a string + type: string + type: object + mtu: + default: 1500 + description: MTU is the MTU of the interface + maximum: 9000 + type: integer + vlanID: + description: VlanID is the Vlan ID + maximum: 4096 + type: integer + vlanLink: + description: VlanLink is the name of the link on which the vlan should be added + type: string + required: + - id + - macAddress + - vlanID + - vlanLink + type: object + type: array + type: object + networks: + description: Networks is a structure containing lists of different types objects + properties: + ipv4: + description: IPv4 contains a list of IPv4 static allocations + items: + description: NetworkDataIPv4 represents an ipv4 static network object + properties: + id: + description: ID is the network ID (name) + type: string + ipAddressFromIPPool: + description: IPAddressFromIPPool contains the name of the IPPool to use to get an ip address + type: string + link: + description: Link is the link on which the network applies + type: string + routes: + description: Routes contains a list of IPv4 routes + items: + description: NetworkDataRoutev4 represents an ipv4 route object properties: - fromHostInterface: - description: - FromHostInterface contains the name - of the interface in the BareMetalHost Introspection - details from which to fetch the MAC address - type: string - string: - description: - String contains the MAC address given - as a string + gateway: + description: Gateway is the IPv4 address of the gateway + properties: + fromIPPool: + description: FromIPPool is the name of the IPPool to fetch the gateway from + type: string + string: + description: String is the gateway given as a string + pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ + type: string + type: object + network: + description: Network is the IPv4 network address + pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string + prefix: + description: Prefix is the mask of the network as integer (max 32) + maximum: 32 + type: integer + services: + description: Services is a list of IPv4 services + properties: + dns: + description: DNS is a list of IPv4 DNS services + items: + description: IPAddressv4 is used for validation of an IPv6 address + pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ + type: string + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + required: + - gateway + - network type: object - mtu: - default: 1500 - description: MTU is the MTU of the interface - maximum: 9000 - type: integer - required: - - bondLinks - - bondMode - - id - - macAddress - type: object - type: array - ethernets: - description: Ethernets contains a list of Ethernet links - items: - description: - NetworkDataLinkEthernet represents an ethernet - link object - properties: - id: - description: - Id is the ID of the interface (used for - naming) - type: string - macAddress: - description: - MACAddress is the MAC address of the interface, - containing the object used to render it. + type: array + required: + - id + - ipAddressFromIPPool + - link + type: object + type: array + ipv4DHCP: + description: IPv4 contains a list of IPv4 DHCP allocations + items: + description: NetworkDataIPv4DHCP represents an ipv4 DHCP network object + properties: + id: + description: ID is the network ID (name) + type: string + link: + description: Link is the link on which the network applies + type: string + routes: + description: Routes contains a list of IPv4 routes + items: + description: NetworkDataRoutev4 represents an ipv4 route object properties: - fromHostInterface: - description: - FromHostInterface contains the name - of the interface in the BareMetalHost Introspection - details from which to fetch the MAC address + gateway: + description: Gateway is the IPv4 address of the gateway + properties: + fromIPPool: + description: FromIPPool is the name of the IPPool to fetch the gateway from + type: string + string: + description: String is the gateway given as a string + pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ + type: string + type: object + network: + description: Network is the IPv4 network address + pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string - string: - description: - String contains the MAC address given - as a string + prefix: + description: Prefix is the mask of the network as integer (max 32) + maximum: 32 + type: integer + services: + description: Services is a list of IPv4 services + properties: + dns: + description: DNS is a list of IPv4 DNS services + items: + description: IPAddressv4 is used for validation of an IPv6 address + pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ + type: string + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + required: + - gateway + - network + type: object + type: array + required: + - id + - link + type: object + type: array + ipv6: + description: IPv4 contains a list of IPv6 static allocations + items: + description: NetworkDataIPv6 represents an ipv6 static network object + properties: + id: + description: ID is the network ID (name) + type: string + ipAddressFromIPPool: + description: IPAddressFromIPPool contains the name of the IPPool to use to get an ip address + type: string + link: + description: Link is the link on which the network applies + type: string + routes: + description: Routes contains a list of IPv6 routes + items: + description: NetworkDataRoutev6 represents an ipv6 route object + properties: + gateway: + description: Gateway is the IPv6 address of the gateway + properties: + fromIPPool: + description: FromIPPool is the name of the IPPool to fetch the gateway from + type: string + string: + description: String is the gateway given as a string + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + type: object + network: + description: Network is the IPv6 network address + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string + prefix: + description: Prefix is the mask of the network as integer (max 128) + maximum: 128 + type: integer + services: + description: Services is a list of IPv6 services + properties: + dns: + description: DNS is a list of IPv6 DNS services + items: + description: IPAddressv6 is used for validation of an IPv6 address + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + required: + - gateway + - network type: object - mtu: - default: 1500 - description: MTU is the MTU of the interface - maximum: 9000 - type: integer - type: - description: - "Type is the type of the ethernet link. - It can be one of: bridge, dvs, hw_veb, hyperv, ovs, - tap, vhostuser, vif, phy" - enum: - - bridge - - dvs - - hw_veb - - hyperv - - ovs - - tap - - vhostuser - - vif - - phy - type: string - required: - - id - - macAddress - - type - type: object - type: array - vlans: - description: Vlans contains a list of Vlan links - items: - description: - NetworkDataLinkVlan represents a vlan link - object - properties: - id: - description: - Id is the ID of the interface (used for - naming) - type: string - macAddress: - description: - MACAddress is the MAC address of the interface, - containing the object used to render it. + type: array + required: + - id + - ipAddressFromIPPool + - link + type: object + type: array + ipv6DHCP: + description: IPv4 contains a list of IPv6 DHCP allocations + items: + description: NetworkDataIPv6DHCP represents an ipv6 DHCP network object + properties: + id: + description: ID is the network ID (name) + type: string + link: + description: Link is the link on which the network applies + type: string + routes: + description: Routes contains a list of IPv6 routes + items: + description: NetworkDataRoutev6 represents an ipv6 route object properties: - fromHostInterface: - description: - FromHostInterface contains the name - of the interface in the BareMetalHost Introspection - details from which to fetch the MAC address + gateway: + description: Gateway is the IPv6 address of the gateway + properties: + fromIPPool: + description: FromIPPool is the name of the IPPool to fetch the gateway from + type: string + string: + description: String is the gateway given as a string + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + type: object + network: + description: Network is the IPv6 network address + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string - string: - description: - String contains the MAC address given - as a string + prefix: + description: Prefix is the mask of the network as integer (max 128) + maximum: 128 + type: integer + services: + description: Services is a list of IPv6 services + properties: + dns: + description: DNS is a list of IPv6 DNS services + items: + description: IPAddressv6 is used for validation of an IPv6 address + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + required: + - gateway + - network + type: object + type: array + required: + - id + - link + type: object + type: array + ipv6SLAAC: + description: IPv4 contains a list of IPv6 SLAAC allocations + items: + description: NetworkDataIPv6DHCP represents an ipv6 DHCP network object + properties: + id: + description: ID is the network ID (name) + type: string + link: + description: Link is the link on which the network applies + type: string + routes: + description: Routes contains a list of IPv6 routes + items: + description: NetworkDataRoutev6 represents an ipv6 route object + properties: + gateway: + description: Gateway is the IPv6 address of the gateway + properties: + fromIPPool: + description: FromIPPool is the name of the IPPool to fetch the gateway from + type: string + string: + description: String is the gateway given as a string + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + type: object + network: + description: Network is the IPv6 network address + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string + prefix: + description: Prefix is the mask of the network as integer (max 128) + maximum: 128 + type: integer + services: + description: Services is a list of IPv6 services + properties: + dns: + description: DNS is a list of IPv6 DNS services + items: + description: IPAddressv6 is used for validation of an IPv6 address + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + required: + - gateway + - network type: object - mtu: - default: 1500 - description: MTU is the MTU of the interface - maximum: 9000 - type: integer - vlanID: - description: VlanID is the Vlan ID - maximum: 4096 - type: integer - vlanLink: - description: - VlanLink is the name of the link on which - the vlan should be added - type: string - required: - - id - - macAddress - - vlanID - - vlanLink - type: object - type: array + type: array + required: + - id + - link + type: object + type: array + type: object + services: + description: Services is a structure containing lists of different types objects + properties: + dns: + description: DNS is a list of DNS services + items: + description: IPAddress is used for validation of an IP address + pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) + type: string + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + type: object + templateReference: + description: TemplateReference refers to the Template the Metal3MachineTemplate refers to. It can be matched against the key or it may also point to the name of the template Metal3Data refers to + type: string + required: + - clusterName + type: object + status: + description: Metal3DataTemplateStatus defines the observed state of Metal3DataTemplate. + properties: + indexes: + additionalProperties: + type: integer + description: Indexes contains the map of Metal3Machine and index used + type: object + lastUpdated: + description: LastUpdated identifies when this status was last observed. + format: date-time + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - description: Cluster to which this template belongs + jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name + name: Cluster + type: string + - description: Time duration since creation of Metal3DataTemplate + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + description: Metal3DataTemplate is the Schema for the metal3datatemplates 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: Metal3DataTemplateSpec defines the desired state of Metal3DataTemplate. + properties: + clusterName: + description: ClusterName is the name of the Cluster this object belongs to. + minLength: 1 + type: string + metaData: + description: MetaData contains the information needed to generate the metadata secret + properties: + dnsServersFromIPPool: + description: DNSServersFromPool is the list of metadata items to be rendered as dns servers. + items: + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + name: + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init + type: string + required: + - key + - name type: object - networks: - description: - Networks is a structure containing lists of different - types objects + type: array + fromAnnotations: + description: FromAnnotations is the list of metadata items to be fetched from object Annotations + items: + description: MetaDataFromAnnotation contains the information to fetch an annotation content, if the label does not exist, it is rendered as empty string properties: - ipv4: - description: IPv4 contains a list of IPv4 static allocations - items: - description: - NetworkDataIPv4 represents an ipv4 static network - object - properties: - id: - description: ID is the network ID (name) - type: string - ipAddressFromIPPool: - description: - IPAddressFromIPPool contains the name of - the IPPool to use to get an ip address - type: string - link: - description: Link is the link on which the network applies + annotation: + description: Annotation is the key of the Annotation to fetch + type: string + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + object: + description: Object is the type of the object from which we retrieve the name + enum: + - machine + - metal3machine + - baremetalhost + type: string + required: + - annotation + - key + - object + type: object + type: array + fromHostInterfaces: + description: FromHostInterfaces is the list of metadata items to be rendered as MAC addresses of the host interfaces. + items: + description: MetaDataHostInterface contains the information to render the object name + properties: + interface: + description: Interface is the name of the interface in the BareMetalHost Status Hardware Details list of interfaces from which to fetch the MAC address. + type: string + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + required: + - interface + - key + type: object + type: array + fromLabels: + description: FromLabels is the list of metadata items to be fetched from object labels + items: + description: MetaDataFromLabel contains the information to fetch a label content, if the label does not exist, it is rendered as empty string + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + label: + description: Label is the key of the label to fetch + type: string + object: + description: Object is the type of the object from which we retrieve the name + enum: + - machine + - metal3machine + - baremetalhost + type: string + required: + - key + - label + - object + type: object + type: array + gatewaysFromIPPool: + description: GatewaysFromPool is the list of metadata items to be rendered as gateway addresses. + items: + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + name: + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init + type: string + required: + - key + - name + type: object + type: array + indexes: + description: Indexes is the list of metadata items to be rendered from the index of the Metal3Data + items: + description: MetaDataIndex contains the information to render the index + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + offset: + description: Offset is the offset to apply to the index when rendering it + type: integer + prefix: + description: Prefix is the prefix string + type: string + step: + default: 1 + description: Step is the multiplier of the index + type: integer + suffix: + description: Suffix is the suffix string + type: string + required: + - key + type: object + type: array + ipAddressesFromIPPool: + description: IPAddressesFromPool is the list of metadata items to be rendered as ip addresses. + items: + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + name: + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init + type: string + required: + - key + - name + type: object + type: array + namespaces: + description: Namespaces is the list of metadata items to be rendered from the namespace + items: + description: MetaDataNamespace contains the information to render the namespace + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + required: + - key + type: object + type: array + objectNames: + description: ObjectNames is the list of metadata items to be rendered from the name of objects. + items: + description: MetaDataObjectName contains the information to render the object name + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + object: + description: Object is the type of the object from which we retrieve the name + enum: + - machine + - metal3machine + - baremetalhost + type: string + required: + - key + - object + type: object + type: array + prefixesFromIPPool: + description: PrefixesFromPool is the list of metadata items to be rendered as network prefixes. + items: + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + name: + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init + type: string + required: + - key + - name + type: object + type: array + strings: + description: Strings is the list of metadata items to be rendered from strings + items: + description: MetaDataString contains the information to render the string + properties: + key: + description: Key will be used as the key to set in the metadata map for cloud-init + type: string + value: + description: Value is the string to render. + type: string + required: + - key + - value + type: object + type: array + type: object + networkData: + description: NetworkData contains the information needed to generate the networkdata secret + properties: + links: + description: Links is a structure containing lists of different types objects + properties: + bonds: + description: Bonds contains a list of Bond links + items: + description: NetworkDataLinkBond represents a bond link object + properties: + bondLinks: + description: BondLinks is the list of links that are part of the bond. + items: type: string - routes: - description: Routes contains a list of IPv4 routes - items: - description: - NetworkDataRoutev4 represents an ipv4 - route object - properties: - gateway: - description: - Gateway is the IPv4 address of the - gateway - properties: - fromIPPool: - description: - FromIPPool is the name of the - IPPool to fetch the gateway from - type: string - string: - description: - String is the gateway given as - a string + type: array + bondMode: + description: BondMode is the mode of bond used. It can be one of balance-rr, active-backup, balance-xor, broadcast, balance-tlb, balance-alb, 802.1ad + enum: + - balance-rr + - active-backup + - balance-xor + - broadcast + - balance-tlb + - balance-alb + - 802.1ad + type: string + id: + description: Id is the ID of the interface (used for naming) + type: string + macAddress: + description: MACAddress is the MAC address of the interface, containing the object used to render it. + properties: + fromHostInterface: + description: FromHostInterface contains the name of the interface in the BareMetalHost Introspection details from which to fetch the MAC address + type: string + string: + description: String contains the MAC address given as a string + type: string + type: object + mtu: + default: 1500 + description: MTU is the MTU of the interface + maximum: 9000 + type: integer + required: + - bondLinks + - bondMode + - id + - macAddress + type: object + type: array + ethernets: + description: Ethernets contains a list of Ethernet links + items: + description: NetworkDataLinkEthernet represents an ethernet link object + properties: + id: + description: Id is the ID of the interface (used for naming) + type: string + macAddress: + description: MACAddress is the MAC address of the interface, containing the object used to render it. + properties: + fromHostInterface: + description: FromHostInterface contains the name of the interface in the BareMetalHost Introspection details from which to fetch the MAC address + type: string + string: + description: String contains the MAC address given as a string + type: string + type: object + mtu: + default: 1500 + description: MTU is the MTU of the interface + maximum: 9000 + type: integer + type: + description: "Type is the type of the ethernet link. It can be one of: bridge, dvs, hw_veb, hyperv, ovs, tap, vhostuser, vif, phy" + enum: + - bridge + - dvs + - hw_veb + - hyperv + - ovs + - tap + - vhostuser + - vif + - phy + type: string + required: + - id + - macAddress + - type + type: object + type: array + vlans: + description: Vlans contains a list of Vlan links + items: + description: NetworkDataLinkVlan represents a vlan link object + properties: + id: + description: Id is the ID of the interface (used for naming) + type: string + macAddress: + description: MACAddress is the MAC address of the interface, containing the object used to render it. + properties: + fromHostInterface: + description: FromHostInterface contains the name of the interface in the BareMetalHost Introspection details from which to fetch the MAC address + type: string + string: + description: String contains the MAC address given as a string + type: string + type: object + mtu: + default: 1500 + description: MTU is the MTU of the interface + maximum: 9000 + type: integer + vlanID: + description: VlanID is the Vlan ID + maximum: 4096 + type: integer + vlanLink: + description: VlanLink is the name of the link on which the vlan should be added + type: string + required: + - id + - macAddress + - vlanID + - vlanLink + type: object + type: array + type: object + networks: + description: Networks is a structure containing lists of different types objects + properties: + ipv4: + description: IPv4 contains a list of IPv4 static allocations + items: + description: NetworkDataIPv4 represents an ipv4 static network object + properties: + id: + description: ID is the network ID (name) + type: string + ipAddressFromIPPool: + description: IPAddressFromIPPool contains the name of the IPPool to use to get an ip address + type: string + link: + description: Link is the link on which the network applies + type: string + routes: + description: Routes contains a list of IPv4 routes + items: + description: NetworkDataRoutev4 represents an ipv4 route object + properties: + gateway: + description: Gateway is the IPv4 address of the gateway + properties: + fromIPPool: + description: FromIPPool is the name of the IPPool to fetch the gateway from + type: string + string: + description: String is the gateway given as a string + pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ + type: string + type: object + network: + description: Network is the IPv4 network address + pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ + type: string + prefix: + description: Prefix is the mask of the network as integer (max 32) + maximum: 32 + type: integer + services: + description: Services is a list of IPv4 services + properties: + dns: + description: DNS is a list of IPv4 DNS services + items: + description: IPAddressv4 is used for validation of an IPv6 address pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string - type: object - network: - description: Network is the IPv4 network address - pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ - type: string - prefix: - description: - Prefix is the mask of the network - as integer (max 32) - maximum: 32 - type: integer - services: - description: Services is a list of IPv4 services - properties: - dns: - description: DNS is a list of IPv4 DNS services - items: - description: - IPAddressv4 is used for validation - of an IPv6 address - pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of - the IPPool from which to get the DNS servers - type: string - type: object - required: - - gateway - - network - type: object - type: array - required: - - id - - ipAddressFromIPPool - - link - type: object - type: array - ipv4DHCP: - description: IPv4 contains a list of IPv4 DHCP allocations - items: - description: - NetworkDataIPv4DHCP represents an ipv4 DHCP - network object - properties: - id: - description: ID is the network ID (name) - type: string - link: - description: Link is the link on which the network applies - type: string - routes: - description: Routes contains a list of IPv4 routes - items: - description: - NetworkDataRoutev4 represents an ipv4 - route object - properties: - gateway: - description: - Gateway is the IPv4 address of the - gateway - properties: - fromIPPool: - description: - FromIPPool is the name of the - IPPool to fetch the gateway from - type: string - string: - description: - String is the gateway given as - a string + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + required: + - gateway + - network + type: object + type: array + required: + - id + - ipAddressFromIPPool + - link + type: object + type: array + ipv4DHCP: + description: IPv4 contains a list of IPv4 DHCP allocations + items: + description: NetworkDataIPv4DHCP represents an ipv4 DHCP network object + properties: + id: + description: ID is the network ID (name) + type: string + link: + description: Link is the link on which the network applies + type: string + routes: + description: Routes contains a list of IPv4 routes + items: + description: NetworkDataRoutev4 represents an ipv4 route object + properties: + gateway: + description: Gateway is the IPv4 address of the gateway + properties: + fromIPPool: + description: FromIPPool is the name of the IPPool to fetch the gateway from + type: string + string: + description: String is the gateway given as a string + pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ + type: string + type: object + network: + description: Network is the IPv4 network address + pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ + type: string + prefix: + description: Prefix is the mask of the network as integer (max 32) + maximum: 32 + type: integer + services: + description: Services is a list of IPv4 services + properties: + dns: + description: DNS is a list of IPv4 DNS services + items: + description: IPAddressv4 is used for validation of an IPv6 address pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string - type: object - network: - description: Network is the IPv4 network address - pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ - type: string - prefix: - description: - Prefix is the mask of the network - as integer (max 32) - maximum: 32 - type: integer - services: - description: Services is a list of IPv4 services - properties: - dns: - description: DNS is a list of IPv4 DNS services - items: - description: - IPAddressv4 is used for validation - of an IPv6 address - pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of - the IPPool from which to get the DNS servers - type: string - type: object - required: - - gateway - - network - type: object - type: array - required: - - id - - link - type: object - type: array - ipv6: - description: IPv4 contains a list of IPv6 static allocations - items: - description: - NetworkDataIPv6 represents an ipv6 static network - object - properties: - id: - description: ID is the network ID (name) - type: string - ipAddressFromIPPool: - description: - IPAddressFromIPPool contains the name of - the IPPool to use to get an ip address - type: string - link: - description: Link is the link on which the network applies - type: string - routes: - description: Routes contains a list of IPv6 routes - items: - description: - NetworkDataRoutev6 represents an ipv6 - route object - properties: - gateway: - description: - Gateway is the IPv6 address of the - gateway - properties: - fromIPPool: - description: - FromIPPool is the name of the - IPPool to fetch the gateway from - type: string - string: - description: - String is the gateway given as - a string - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - type: object - network: - description: Network is the IPv6 network address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - prefix: - description: - Prefix is the mask of the network - as integer (max 128) - maximum: 128 - type: integer - services: - description: Services is a list of IPv6 services - properties: - dns: - description: DNS is a list of IPv6 DNS services - items: - description: - IPAddressv6 is used for validation - of an IPv6 address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of - the IPPool from which to get the DNS servers - type: string - type: object - required: - - gateway - - network - type: object - type: array - required: - - id - - ipAddressFromIPPool - - link - type: object - type: array - ipv6DHCP: - description: IPv4 contains a list of IPv6 DHCP allocations - items: - description: - NetworkDataIPv6DHCP represents an ipv6 DHCP - network object - properties: - id: - description: ID is the network ID (name) - type: string - link: - description: Link is the link on which the network applies - type: string - routes: - description: Routes contains a list of IPv6 routes - items: - description: - NetworkDataRoutev6 represents an ipv6 - route object - properties: - gateway: - description: - Gateway is the IPv6 address of the - gateway - properties: - fromIPPool: - description: - FromIPPool is the name of the - IPPool to fetch the gateway from - type: string - string: - description: - String is the gateway given as - a string + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + required: + - gateway + - network + type: object + type: array + required: + - id + - link + type: object + type: array + ipv6: + description: IPv4 contains a list of IPv6 static allocations + items: + description: NetworkDataIPv6 represents an ipv6 static network object + properties: + id: + description: ID is the network ID (name) + type: string + ipAddressFromIPPool: + description: IPAddressFromIPPool contains the name of the IPPool to use to get an ip address + type: string + link: + description: Link is the link on which the network applies + type: string + routes: + description: Routes contains a list of IPv6 routes + items: + description: NetworkDataRoutev6 represents an ipv6 route object + properties: + gateway: + description: Gateway is the IPv6 address of the gateway + properties: + fromIPPool: + description: FromIPPool is the name of the IPPool to fetch the gateway from + type: string + string: + description: String is the gateway given as a string + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + type: object + network: + description: Network is the IPv6 network address + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + prefix: + description: Prefix is the mask of the network as integer (max 128) + maximum: 128 + type: integer + services: + description: Services is a list of IPv6 services + properties: + dns: + description: DNS is a list of IPv6 DNS services + items: + description: IPAddressv6 is used for validation of an IPv6 address pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string - type: object - network: - description: Network is the IPv6 network address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - prefix: - description: - Prefix is the mask of the network - as integer (max 128) - maximum: 128 - type: integer - services: - description: Services is a list of IPv6 services - properties: - dns: - description: DNS is a list of IPv6 DNS services - items: - description: - IPAddressv6 is used for validation - of an IPv6 address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of - the IPPool from which to get the DNS servers - type: string - type: object - required: - - gateway - - network - type: object - type: array - required: - - id - - link - type: object - type: array - ipv6SLAAC: - description: IPv4 contains a list of IPv6 SLAAC allocations - items: - description: - NetworkDataIPv6DHCP represents an ipv6 DHCP - network object - properties: - id: - description: ID is the network ID (name) - type: string - link: - description: Link is the link on which the network applies - type: string - routes: - description: Routes contains a list of IPv6 routes - items: - description: - NetworkDataRoutev6 represents an ipv6 - route object - properties: - gateway: - description: - Gateway is the IPv6 address of the - gateway - properties: - fromIPPool: - description: - FromIPPool is the name of the - IPPool to fetch the gateway from - type: string - string: - description: - String is the gateway given as - a string + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + required: + - gateway + - network + type: object + type: array + required: + - id + - ipAddressFromIPPool + - link + type: object + type: array + ipv6DHCP: + description: IPv4 contains a list of IPv6 DHCP allocations + items: + description: NetworkDataIPv6DHCP represents an ipv6 DHCP network object + properties: + id: + description: ID is the network ID (name) + type: string + link: + description: Link is the link on which the network applies + type: string + routes: + description: Routes contains a list of IPv6 routes + items: + description: NetworkDataRoutev6 represents an ipv6 route object + properties: + gateway: + description: Gateway is the IPv6 address of the gateway + properties: + fromIPPool: + description: FromIPPool is the name of the IPPool to fetch the gateway from + type: string + string: + description: String is the gateway given as a string + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + type: object + network: + description: Network is the IPv6 network address + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + prefix: + description: Prefix is the mask of the network as integer (max 128) + maximum: 128 + type: integer + services: + description: Services is a list of IPv6 services + properties: + dns: + description: DNS is a list of IPv6 DNS services + items: + description: IPAddressv6 is used for validation of an IPv6 address pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string - type: object - network: - description: Network is the IPv6 network address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - prefix: - description: - Prefix is the mask of the network - as integer (max 128) - maximum: 128 - type: integer - services: - description: Services is a list of IPv6 services - properties: - dns: - description: DNS is a list of IPv6 DNS services - items: - description: - IPAddressv6 is used for validation - of an IPv6 address - pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of - the IPPool from which to get the DNS servers + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + required: + - gateway + - network + type: object + type: array + required: + - id + - link + type: object + type: array + ipv6SLAAC: + description: IPv4 contains a list of IPv6 SLAAC allocations + items: + description: NetworkDataIPv6DHCP represents an ipv6 DHCP network object + properties: + id: + description: ID is the network ID (name) + type: string + link: + description: Link is the link on which the network applies + type: string + routes: + description: Routes contains a list of IPv6 routes + items: + description: NetworkDataRoutev6 represents an ipv6 route object + properties: + gateway: + description: Gateway is the IPv6 address of the gateway + properties: + fromIPPool: + description: FromIPPool is the name of the IPPool to fetch the gateway from + type: string + string: + description: String is the gateway given as a string + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + type: object + network: + description: Network is the IPv6 network address + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ + type: string + prefix: + description: Prefix is the mask of the network as integer (max 128) + maximum: 128 + type: integer + services: + description: Services is a list of IPv6 services + properties: + dns: + description: DNS is a list of IPv6 DNS services + items: + description: IPAddressv6 is used for validation of an IPv6 address + pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string - type: object - required: - - gateway - - network - type: object - type: array - required: - - id - - link - type: object - type: array - type: object - services: - description: - Services is a structure containing lists of different - types objects - properties: - dns: - description: DNS is a list of DNS services - items: - description: IPAddress is used for validation of an IP address - pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) - type: string - type: array - dnsFromIPPool: - description: - DNSFromIPPool is the name of the IPPool from - which to get the DNS servers + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + required: + - gateway + - network + type: object + type: array + required: + - id + - link + type: object + type: array + type: object + services: + description: Services is a structure containing lists of different types objects + properties: + dns: + description: DNS is a list of DNS services + items: + description: IPAddress is used for validation of an IP address + pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) type: string - type: object - type: object - templateReference: - description: - TemplateReference refers to the Template the Metal3MachineTemplate - refers to. It can be matched against the key or it may also point - to the name of the template Metal3Data refers to - type: string - required: - - clusterName - type: object - status: - description: Metal3DataTemplateStatus defines the observed state of Metal3DataTemplate. - properties: - indexes: - additionalProperties: - type: integer - description: Indexes contains the map of Metal3Machine and index used - type: object - lastUpdated: - description: LastUpdated identifies when this status was last observed. - format: date-time - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} + type: array + dnsFromIPPool: + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers + type: string + type: object + type: object + templateReference: + description: TemplateReference refers to the Template the Metal3MachineTemplate refers to. It can be matched against the key or it may also point to the name of the template Metal3Data refers to + type: string + required: + - clusterName + type: object + status: + description: Metal3DataTemplateStatus defines the observed state of Metal3DataTemplate. + properties: + indexes: + additionalProperties: + type: integer + description: Indexes contains the map of Metal3Machine and index used + type: object + lastUpdated: + description: LastUpdated identifies when this status was last observed. + format: date-time + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -3450,869 +2661,584 @@ spec: namespace: capm3-system-test2 path: /convert conversionReviewVersions: - - v1 - - v1beta1 + - v1 + - v1beta1 group: infrastructure.cluster.x-k8s.io names: categories: - - cluster-api + - cluster-api kind: Metal3Machine listKind: Metal3MachineList plural: metal3machines shortNames: - - m3m - - m3machine - - m3machines - - metal3m - - metal3machine + - m3m + - m3machine + - m3machines + - metal3m + - metal3machine singular: metal3machine scope: Namespaced versions: - - additionalPrinterColumns: - - description: Time duration since creation of Metal3Machine - jsonPath: .metadata.creationTimestamp - name: Age - type: date - - description: Provider ID - jsonPath: .spec.providerID - name: ProviderID - type: string - - description: metal3machine is Ready - jsonPath: .status.ready - name: Ready - type: string - - description: Cluster to which this M3Machine belongs - jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name - name: Cluster - type: string - - description: metal3machine current phase - jsonPath: .status.phase - name: Phase - type: string - name: v1alpha5 - schema: - openAPIV3Schema: - description: Metal3Machine is the Schema for the metal3machines 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: Metal3MachineSpec defines the desired state of Metal3Machine - properties: - automatedCleaningMode: - description: - When set to disabled, automated cleaning of host disks - will be skipped during provisioning and deprovisioning. - enum: - - metadata - - disabled - type: string - dataTemplate: - description: - MetadataTemplate is a reference to a Metal3DataTemplate - object containing a template of metadata to be rendered. Metadata - keys defined in the metadataTemplate take precedence over keys defined - in metadata field. - 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 - hostSelector: - description: - HostSelector specifies matching criteria for labels on - BareMetalHosts. This is used to limit the set of BareMetalHost objects - considered for claiming for a metal3machine. - properties: - matchExpressions: - description: - Label match expressions that must be true on a chosen - BareMetalHost - items: - properties: - key: - type: string - operator: - description: - Operator represents a key/field's relationship - to value(s). See labels.Requirement and fields.Requirement - for more details. + - additionalPrinterColumns: + - description: Time duration since creation of Metal3Machine + jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: Provider ID + jsonPath: .spec.providerID + name: ProviderID + type: string + - description: metal3machine is Ready + jsonPath: .status.ready + name: Ready + type: string + - description: Cluster to which this M3Machine belongs + jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name + name: Cluster + type: string + - description: metal3machine current phase + jsonPath: .status.phase + name: Phase + type: string + name: v1alpha5 + schema: + openAPIV3Schema: + description: Metal3Machine is the Schema for the metal3machines 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: Metal3MachineSpec defines the desired state of Metal3Machine + properties: + automatedCleaningMode: + description: When set to disabled, automated cleaning of host disks will be skipped during provisioning and deprovisioning. + enum: + - metadata + - disabled + type: string + dataTemplate: + description: MetadataTemplate is a reference to a Metal3DataTemplate object containing a template of metadata to be rendered. Metadata keys defined in the metadataTemplate take precedence over keys defined in metadata field. + 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 + hostSelector: + description: HostSelector specifies matching criteria for labels on BareMetalHosts. This is used to limit the set of BareMetalHost objects considered for claiming for a metal3machine. + properties: + matchExpressions: + description: Label match expressions that must be true on a chosen BareMetalHost + items: + properties: + key: + type: string + operator: + description: Operator represents a key/field's relationship to value(s). See labels.Requirement and fields.Requirement for more details. + type: string + values: + items: type: string - values: - items: - type: string - type: array - required: - - key - - operator - - values - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: - Key/value pairs of labels that must exist on a chosen - BareMetalHost + type: array + required: + - key + - operator + - values type: object - type: object - image: - description: Image is the image to be provisioned. - properties: - checksum: - description: Checksum is a md5sum value or a URL to retrieve one. - type: string - checksumType: - description: - ChecksumType is the checksum algorithm for the image. - e.g md5, sha256, sha512 - enum: - - md5 - - sha256 - - sha512 - type: string - format: - description: DiskFormat contains the image disk format - enum: - - raw - - qcow2 - - vdi - - vmdk - - live-iso - type: string - url: - description: URL is a location of an image to deploy. - type: string - required: - - checksum - - url - type: object - metaData: - description: - MetaData is an object storing the reference to the secret - containing the Metadata given by the user. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - networkData: - description: - NetworkData is an object storing the reference to the - secret containing the network data given by the user. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - providerID: - description: - ProviderID will be the Metal3 machine in ProviderID format - (metal3://) - type: string - userData: - description: - UserData references the Secret that holds user data needed - by the bare metal operator. The Namespace is optional; it will default - to the metal3machine's namespace if not specified. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. + type: array + matchLabels: + additionalProperties: type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - required: - - image - type: object - status: - description: Metal3MachineStatus defines the observed state of Metal3Machine - 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 + description: Key/value pairs of labels that must exist on a chosen BareMetalHost type: object - type: array - failureMessage: - description: - "FailureMessage will be set in the event that there is - a terminal problem reconciling the metal3machine 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 metal3machine'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 metal3machines can - be added as events to the metal3machine 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 metal3machine 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 metal3machine'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 metal3machines can be added as - events to the metal3machine object and/or logged in the controller's - output." - type: string - lastUpdated: - description: LastUpdated identifies when this status was last observed. - format: date-time - type: string - metaData: - description: - MetaData is an object storing the reference to the secret - containing the Metadata used to deploy the BareMetalHost. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - networkData: - description: - NetworkData is an object storing the reference to the - secret containing the network data used to deploy the BareMetalHost. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - phase: - description: - Phase represents the current phase of machine actuation. - E.g. Pending, Running, Terminating, Failed etc. - type: string - ready: - description: - 'Ready is the state of the metal3. TODO : Document the - variable : mhrivnak: " it would be good to document what this means, - how to interpret it, under what circumstances the value changes, - etc."' - type: boolean - renderedData: - description: - RenderedData is a reference to a rendered Metal3Data - object containing the references to metaData and networkData secrets. - 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 - userData: - description: - UserData references the Secret that holds user data needed - by the bare metal operator. The Namespace is optional; it will default - to the metal3machine's namespace if not specified. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - description: Time duration since creation of Metal3Machine - jsonPath: .metadata.creationTimestamp - name: Age - type: date - - description: Provider ID - jsonPath: .spec.providerID - name: ProviderID - type: string - - description: metal3machine is Ready - jsonPath: .status.ready - name: Ready - type: string - - description: Cluster to which this M3Machine belongs - jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name - name: Cluster - type: string - - description: metal3machine current phase - jsonPath: .status.phase - name: Phase - type: string - name: v1beta1 - schema: - openAPIV3Schema: - description: Metal3Machine is the Schema for the metal3machines 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: Metal3MachineSpec defines the desired state of Metal3Machine - properties: - automatedCleaningMode: - description: - When set to disabled, automated cleaning of host disks - will be skipped during provisioning and deprovisioning. - enum: - - metadata - - disabled - type: string - dataTemplate: - description: - MetadataTemplate is a reference to a Metal3DataTemplate - object containing a template of metadata to be rendered. Metadata - keys defined in the metadataTemplate take precedence over keys defined - in metadata field. - 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 - hostSelector: - description: - HostSelector specifies matching criteria for labels on - BareMetalHosts. This is used to limit the set of BareMetalHost objects - considered for claiming for a metal3machine. - properties: - matchExpressions: - description: - Label match expressions that must be true on a chosen - BareMetalHost - items: - properties: - key: - type: string - operator: - description: - Operator represents a key/field's relationship - to value(s). See labels.Requirement and fields.Requirement - for more details. - type: string - values: - items: - type: string - type: array - required: - - key - - operator - - values - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: - Key/value pairs of labels that must exist on a chosen - BareMetalHost - type: object - type: object - image: - description: Image is the image to be provisioned. + type: object + image: + description: Image is the image to be provisioned. + properties: + checksum: + description: Checksum is a md5sum value or a URL to retrieve one. + type: string + checksumType: + description: ChecksumType is the checksum algorithm for the image. e.g md5, sha256, sha512 + enum: + - md5 + - sha256 + - sha512 + type: string + format: + description: DiskFormat contains the image disk format + enum: + - raw + - qcow2 + - vdi + - vmdk + - live-iso + type: string + url: + description: URL is a location of an image to deploy. + type: string + required: + - checksum + - url + type: object + metaData: + description: MetaData is an object storing the reference to the secret containing the Metadata given by the user. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + networkData: + description: NetworkData is an object storing the reference to the secret containing the network data given by the user. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + providerID: + description: ProviderID will be the Metal3 machine in ProviderID format (metal3://) + type: string + userData: + description: UserData references the Secret that holds user data needed by the bare metal operator. The Namespace is optional; it will default to the metal3machine's namespace if not specified. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + required: + - image + type: object + status: + description: Metal3MachineStatus defines the observed state of Metal3Machine + 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: - checksum: - description: Checksum is a md5sum value or a URL to retrieve one. - type: string - checksumType: - description: - ChecksumType is the checksum algorithm for the image. - e.g md5, sha256, sha512 - enum: - - md5 - - sha256 - - sha512 + address: + description: The machine address. type: string - format: - description: DiskFormat contains the image disk format - enum: - - raw - - qcow2 - - vdi - - vmdk - - live-iso - type: string - url: - description: URL is a location of an image to deploy. + type: + description: Machine address type, one of Hostname, ExternalIP or InternalIP. type: string required: - - checksum - - url - type: object - metaData: - description: - MetaData is an object storing the reference to the secret - containing the Metadata given by the user. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - networkData: - description: - NetworkData is an object storing the reference to the - secret containing the network data given by the user. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - providerID: - description: - ProviderID will be the Metal3 machine in ProviderID format - (metal3://) - type: string - userData: - description: - UserData references the Secret that holds user data needed - by the bare metal operator. The Namespace is optional; it will default - to the metal3machine's namespace if not specified. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. - type: string + - address + - type type: object - x-kubernetes-map-type: atomic - required: - - image - type: object - status: - description: Metal3MachineStatus defines the observed state of Metal3Machine - 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 - conditions: - description: Conditions defines current service state of the Metal3Machine. - 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 metal3machine 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 metal3machine'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 metal3machines can - be added as events to the metal3machine 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 metal3machine 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 metal3machine'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 metal3machines can be added as - events to the metal3machine object and/or logged in the controller's - output." - type: string - lastUpdated: - description: LastUpdated identifies when this status was last observed. - format: date-time - type: string - metaData: - description: - MetaData is an object storing the reference to the secret - containing the Metadata used to deploy the BareMetalHost. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. - type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. + type: array + failureMessage: + description: "FailureMessage will be set in the event that there is a terminal problem reconciling the metal3machine 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 metal3machine'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 metal3machines can be added as events to the metal3machine 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 metal3machine 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 metal3machine'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 metal3machines can be added as events to the metal3machine object and/or logged in the controller's output." + type: string + lastUpdated: + description: LastUpdated identifies when this status was last observed. + format: date-time + type: string + metaData: + description: MetaData is an object storing the reference to the secret containing the Metadata used to deploy the BareMetalHost. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + networkData: + description: NetworkData is an object storing the reference to the secret containing the network data used to deploy the BareMetalHost. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + phase: + description: Phase represents the current phase of machine actuation. E.g. Pending, Running, Terminating, Failed etc. + type: string + ready: + description: 'Ready is the state of the metal3. TODO : Document the variable : mhrivnak: " it would be good to document what this means, how to interpret it, under what circumstances the value changes, etc."' + type: boolean + renderedData: + description: RenderedData is a reference to a rendered Metal3Data object containing the references to metaData and networkData secrets. + 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 + userData: + description: UserData references the Secret that holds user data needed by the bare metal operator. The Namespace is optional; it will default to the metal3machine's namespace if not specified. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - description: Time duration since creation of Metal3Machine + jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: Provider ID + jsonPath: .spec.providerID + name: ProviderID + type: string + - description: metal3machine is Ready + jsonPath: .status.ready + name: Ready + type: string + - description: Cluster to which this M3Machine belongs + jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name + name: Cluster + type: string + - description: metal3machine current phase + jsonPath: .status.phase + name: Phase + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: Metal3Machine is the Schema for the metal3machines 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: Metal3MachineSpec defines the desired state of Metal3Machine + properties: + automatedCleaningMode: + description: When set to disabled, automated cleaning of host disks will be skipped during provisioning and deprovisioning. + enum: + - metadata + - disabled + type: string + dataTemplate: + description: MetadataTemplate is a reference to a Metal3DataTemplate object containing a template of metadata to be rendered. Metadata keys defined in the metadataTemplate take precedence over keys defined in metadata field. + 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 + hostSelector: + description: HostSelector specifies matching criteria for labels on BareMetalHosts. This is used to limit the set of BareMetalHost objects considered for claiming for a metal3machine. + properties: + matchExpressions: + description: Label match expressions that must be true on a chosen BareMetalHost + items: + properties: + key: + type: string + operator: + description: Operator represents a key/field's relationship to value(s). See labels.Requirement and fields.Requirement for more details. + type: string + values: + items: + type: string + type: array + required: + - key + - operator + - values + type: object + type: array + matchLabels: + additionalProperties: type: string - type: object - x-kubernetes-map-type: atomic - networkData: - description: - NetworkData is an object storing the reference to the - secret containing the network data used to deploy the BareMetalHost. + description: Key/value pairs of labels that must exist on a chosen BareMetalHost + type: object + type: object + image: + description: Image is the image to be provisioned. + properties: + checksum: + description: Checksum is a md5sum value or a URL to retrieve one. + type: string + checksumType: + description: ChecksumType is the checksum algorithm for the image. e.g md5, sha256, sha512 + enum: + - md5 + - sha256 + - sha512 + type: string + format: + description: DiskFormat contains the image disk format + enum: + - raw + - qcow2 + - vdi + - vmdk + - live-iso + type: string + url: + description: URL is a location of an image to deploy. + type: string + required: + - checksum + - url + type: object + metaData: + description: MetaData is an object storing the reference to the secret containing the Metadata given by the user. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + networkData: + description: NetworkData is an object storing the reference to the secret containing the network data given by the user. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + providerID: + description: ProviderID will be the Metal3 machine in ProviderID format (metal3://) + type: string + userData: + description: UserData references the Secret that holds user data needed by the bare metal operator. The Namespace is optional; it will default to the metal3machine's namespace if not specified. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + required: + - image + type: object + status: + description: Metal3MachineStatus defines the observed state of Metal3Machine + 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: - name: - description: - name is unique within a namespace to reference a - secret resource. + address: + description: The machine address. type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. + type: + description: Machine address type, one of Hostname, ExternalIP or InternalIP. type: string + required: + - address + - type type: object - x-kubernetes-map-type: atomic - phase: - description: - Phase represents the current phase of machine actuation. - E.g. Pending, Running, Terminating, Failed etc. - type: string - ready: - description: - 'Ready is the state of the metal3. TODO : Document the - variable : mhrivnak: " it would be good to document what this means, - how to interpret it, under what circumstances the value changes, - etc."' - type: boolean - renderedData: - description: - RenderedData is a reference to a rendered Metal3Data - object containing the references to metaData and networkData secrets. + type: array + conditions: + description: Conditions defines current service state of the Metal3Machine. + items: + description: Condition defines an observation of a Cluster API resource operational state. 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" + 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 - namespace: - description: "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/" + message: + description: A human readable message indicating details about the transition. This field may be empty. 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" + 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 - uid: - description: "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids" + 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 - type: object - x-kubernetes-map-type: atomic - userData: - description: - UserData references the Secret that holds user data needed - by the bare metal operator. The Namespace is optional; it will default - to the metal3machine's namespace if not specified. - properties: - name: - description: - name is unique within a namespace to reference a - secret resource. + status: + description: Status of the condition, one of True, False, Unknown. type: string - namespace: - description: - namespace defines the space within which the secret - name must be unique. + 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 - x-kubernetes-map-type: atomic - type: object - type: object - served: true - storage: true - subresources: - status: {} + type: array + failureMessage: + description: "FailureMessage will be set in the event that there is a terminal problem reconciling the metal3machine 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 metal3machine'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 metal3machines can be added as events to the metal3machine 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 metal3machine 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 metal3machine'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 metal3machines can be added as events to the metal3machine object and/or logged in the controller's output." + type: string + lastUpdated: + description: LastUpdated identifies when this status was last observed. + format: date-time + type: string + metaData: + description: MetaData is an object storing the reference to the secret containing the Metadata used to deploy the BareMetalHost. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + networkData: + description: NetworkData is an object storing the reference to the secret containing the network data used to deploy the BareMetalHost. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + phase: + description: Phase represents the current phase of machine actuation. E.g. Pending, Running, Terminating, Failed etc. + type: string + ready: + description: 'Ready is the state of the metal3. TODO : Document the variable : mhrivnak: " it would be good to document what this means, how to interpret it, under what circumstances the value changes, etc."' + type: boolean + renderedData: + description: RenderedData is a reference to a rendered Metal3Data object containing the references to metaData and networkData secrets. + 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 + userData: + description: UserData references the Secret that holds user data needed by the bare metal operator. The Namespace is optional; it will default to the metal3machine's namespace if not specified. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + type: object + type: object + served: true + storage: true + subresources: + status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -4336,502 +3262,362 @@ spec: namespace: capm3-system-test2 path: /convert conversionReviewVersions: - - v1 - - v1beta1 + - v1 + - v1beta1 group: infrastructure.cluster.x-k8s.io names: categories: - - cluster-api + - cluster-api kind: Metal3MachineTemplate listKind: Metal3MachineTemplateList plural: metal3machinetemplates shortNames: - - m3mt - - m3machinetemplate - - m3machinetemplates - - metal3mt - - metal3machinetemplate + - m3mt + - m3machinetemplate + - m3machinetemplates + - metal3mt + - metal3machinetemplate singular: metal3machinetemplate scope: Namespaced versions: - - additionalPrinterColumns: - - description: Time duration since creation of Metal3MachineTemplate - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha5 - schema: - openAPIV3Schema: - description: - Metal3MachineTemplate is the Schema for the metal3machinetemplates - 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: Metal3MachineTemplateSpec defines the desired state of Metal3MachineTemplate - properties: - nodeReuse: - default: false - description: - When set to True, CAPM3 Machine controller will pick - the same pool of BMHs' that were released during the upgrade operation. - type: boolean - template: - description: - Metal3MachineTemplateResource describes the data needed - to create a Metal3Machine from a template - properties: - spec: - description: - Spec is the specification of the desired behavior - of the machine. - properties: - automatedCleaningMode: - description: - When set to disabled, automated cleaning of host - disks will be skipped during provisioning and deprovisioning. - enum: - - metadata - - disabled - type: string - dataTemplate: - description: - MetadataTemplate is a reference to a Metal3DataTemplate - object containing a template of metadata to be rendered. - Metadata keys defined in the metadataTemplate take precedence - over keys defined in metadata field. - 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 - hostSelector: - description: - HostSelector specifies matching criteria for - labels on BareMetalHosts. This is used to limit the set - of BareMetalHost objects considered for claiming for a metal3machine. - properties: - matchExpressions: - description: - Label match expressions that must be true - on a chosen BareMetalHost - items: - properties: - key: - type: string - operator: - description: - Operator represents a key/field's relationship - to value(s). See labels.Requirement and fields.Requirement - for more details. + - additionalPrinterColumns: + - description: Time duration since creation of Metal3MachineTemplate + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha5 + schema: + openAPIV3Schema: + description: Metal3MachineTemplate is the Schema for the metal3machinetemplates 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: Metal3MachineTemplateSpec defines the desired state of Metal3MachineTemplate + properties: + nodeReuse: + default: false + description: When set to True, CAPM3 Machine controller will pick the same pool of BMHs' that were released during the upgrade operation. + type: boolean + template: + description: Metal3MachineTemplateResource describes the data needed to create a Metal3Machine from a template + properties: + spec: + description: Spec is the specification of the desired behavior of the machine. + properties: + automatedCleaningMode: + description: When set to disabled, automated cleaning of host disks will be skipped during provisioning and deprovisioning. + enum: + - metadata + - disabled + type: string + dataTemplate: + description: MetadataTemplate is a reference to a Metal3DataTemplate object containing a template of metadata to be rendered. Metadata keys defined in the metadataTemplate take precedence over keys defined in metadata field. + 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 + hostSelector: + description: HostSelector specifies matching criteria for labels on BareMetalHosts. This is used to limit the set of BareMetalHost objects considered for claiming for a metal3machine. + properties: + matchExpressions: + description: Label match expressions that must be true on a chosen BareMetalHost + items: + properties: + key: + type: string + operator: + description: Operator represents a key/field's relationship to value(s). See labels.Requirement and fields.Requirement for more details. + type: string + values: + items: type: string - values: - items: - type: string - type: array - required: - - key - - operator - - values - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: - Key/value pairs of labels that must exist - on a chosen BareMetalHost + type: array + required: + - key + - operator + - values type: object - type: object - image: - description: Image is the image to be provisioned. - properties: - checksum: - description: - Checksum is a md5sum value or a URL to retrieve - one. - type: string - checksumType: - description: - ChecksumType is the checksum algorithm for - the image. e.g md5, sha256, sha512 - enum: - - md5 - - sha256 - - sha512 - type: string - format: - description: DiskFormat contains the image disk format - enum: - - raw - - qcow2 - - vdi - - vmdk - - live-iso - type: string - url: - description: URL is a location of an image to deploy. - type: string - required: - - checksum - - url - type: object - metaData: - description: - MetaData is an object storing the reference to - the secret containing the Metadata given by the user. - properties: - name: - description: - name is unique within a namespace to reference - a secret resource. - type: string - namespace: - description: - namespace defines the space within which - the secret name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - networkData: - description: - NetworkData is an object storing the reference - to the secret containing the network data given by the user. - properties: - name: - description: - name is unique within a namespace to reference - a secret resource. - type: string - namespace: - description: - namespace defines the space within which - the secret name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - providerID: - description: - ProviderID will be the Metal3 machine in ProviderID - format (metal3://) - type: string - userData: - description: - UserData references the Secret that holds user - data needed by the bare metal operator. The Namespace is - optional; it will default to the metal3machine's namespace - if not specified. - properties: - name: - description: - name is unique within a namespace to reference - a secret resource. - type: string - namespace: - description: - namespace defines the space within which - the secret name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - required: - - image - type: object - required: - - spec - type: object - required: - - template - type: object - type: object - served: true - storage: false - subresources: {} - - additionalPrinterColumns: - - description: Time duration since creation of Metal3MachineTemplate - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1beta1 - schema: - openAPIV3Schema: - description: - Metal3MachineTemplate is the Schema for the metal3machinetemplates - 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: Metal3MachineTemplateSpec defines the desired state of Metal3MachineTemplate - properties: - nodeReuse: - default: false - description: - When set to True, CAPM3 Machine controller will pick - the same pool of BMHs' that were released during the upgrade operation. - type: boolean - template: - description: - Metal3MachineTemplateResource describes the data needed - to create a Metal3Machine from a template - properties: - spec: - description: - Spec is the specification of the desired behavior - of the machine. - properties: - automatedCleaningMode: - description: - When set to disabled, automated cleaning of host - disks will be skipped during provisioning and deprovisioning. - enum: - - metadata - - disabled - type: string - dataTemplate: - description: - MetadataTemplate is a reference to a Metal3DataTemplate - object containing a template of metadata to be rendered. - Metadata keys defined in the metadataTemplate take precedence - over keys defined in metadata field. - 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: array + matchLabels: + additionalProperties: type: string - type: object - x-kubernetes-map-type: atomic - hostSelector: - description: - HostSelector specifies matching criteria for - labels on BareMetalHosts. This is used to limit the set - of BareMetalHost objects considered for claiming for a metal3machine. - properties: - matchExpressions: - description: - Label match expressions that must be true - on a chosen BareMetalHost - items: - properties: - key: - type: string - operator: - description: - Operator represents a key/field's relationship - to value(s). See labels.Requirement and fields.Requirement - for more details. + description: Key/value pairs of labels that must exist on a chosen BareMetalHost + type: object + type: object + image: + description: Image is the image to be provisioned. + properties: + checksum: + description: Checksum is a md5sum value or a URL to retrieve one. + type: string + checksumType: + description: ChecksumType is the checksum algorithm for the image. e.g md5, sha256, sha512 + enum: + - md5 + - sha256 + - sha512 + type: string + format: + description: DiskFormat contains the image disk format + enum: + - raw + - qcow2 + - vdi + - vmdk + - live-iso + type: string + url: + description: URL is a location of an image to deploy. + type: string + required: + - checksum + - url + type: object + metaData: + description: MetaData is an object storing the reference to the secret containing the Metadata given by the user. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + networkData: + description: NetworkData is an object storing the reference to the secret containing the network data given by the user. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + providerID: + description: ProviderID will be the Metal3 machine in ProviderID format (metal3://) + type: string + userData: + description: UserData references the Secret that holds user data needed by the bare metal operator. The Namespace is optional; it will default to the metal3machine's namespace if not specified. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + required: + - image + type: object + required: + - spec + type: object + required: + - template + type: object + type: object + served: true + storage: false + subresources: {} + - additionalPrinterColumns: + - description: Time duration since creation of Metal3MachineTemplate + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + description: Metal3MachineTemplate is the Schema for the metal3machinetemplates 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: Metal3MachineTemplateSpec defines the desired state of Metal3MachineTemplate + properties: + nodeReuse: + default: false + description: When set to True, CAPM3 Machine controller will pick the same pool of BMHs' that were released during the upgrade operation. + type: boolean + template: + description: Metal3MachineTemplateResource describes the data needed to create a Metal3Machine from a template + properties: + spec: + description: Spec is the specification of the desired behavior of the machine. + properties: + automatedCleaningMode: + description: When set to disabled, automated cleaning of host disks will be skipped during provisioning and deprovisioning. + enum: + - metadata + - disabled + type: string + dataTemplate: + description: MetadataTemplate is a reference to a Metal3DataTemplate object containing a template of metadata to be rendered. Metadata keys defined in the metadataTemplate take precedence over keys defined in metadata field. + 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 + hostSelector: + description: HostSelector specifies matching criteria for labels on BareMetalHosts. This is used to limit the set of BareMetalHost objects considered for claiming for a metal3machine. + properties: + matchExpressions: + description: Label match expressions that must be true on a chosen BareMetalHost + items: + properties: + key: + type: string + operator: + description: Operator represents a key/field's relationship to value(s). See labels.Requirement and fields.Requirement for more details. + type: string + values: + items: type: string - values: - items: - type: string - type: array - required: - - key - - operator - - values - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: - Key/value pairs of labels that must exist - on a chosen BareMetalHost + type: array + required: + - key + - operator + - values type: object - type: object - image: - description: Image is the image to be provisioned. - properties: - checksum: - description: - Checksum is a md5sum value or a URL to retrieve - one. - type: string - checksumType: - description: - ChecksumType is the checksum algorithm for - the image. e.g md5, sha256, sha512 - enum: - - md5 - - sha256 - - sha512 - type: string - format: - description: DiskFormat contains the image disk format - enum: - - raw - - qcow2 - - vdi - - vmdk - - live-iso - type: string - url: - description: URL is a location of an image to deploy. - type: string - required: - - checksum - - url - type: object - metaData: - description: - MetaData is an object storing the reference to - the secret containing the Metadata given by the user. - properties: - name: - description: - name is unique within a namespace to reference - a secret resource. - type: string - namespace: - description: - namespace defines the space within which - the secret name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - networkData: - description: - NetworkData is an object storing the reference - to the secret containing the network data given by the user. - properties: - name: - description: - name is unique within a namespace to reference - a secret resource. - type: string - namespace: - description: - namespace defines the space within which - the secret name must be unique. - type: string - type: object - x-kubernetes-map-type: atomic - providerID: - description: - ProviderID will be the Metal3 machine in ProviderID - format (metal3://) - type: string - userData: - description: - UserData references the Secret that holds user - data needed by the bare metal operator. The Namespace is - optional; it will default to the metal3machine's namespace - if not specified. - properties: - name: - description: - name is unique within a namespace to reference - a secret resource. - type: string - namespace: - description: - namespace defines the space within which - the secret name must be unique. + type: array + matchLabels: + additionalProperties: type: string - type: object - x-kubernetes-map-type: atomic - required: - - image - type: object - required: - - spec - type: object - required: - - template - type: object - type: object - served: true - storage: true - subresources: {} + description: Key/value pairs of labels that must exist on a chosen BareMetalHost + type: object + type: object + image: + description: Image is the image to be provisioned. + properties: + checksum: + description: Checksum is a md5sum value or a URL to retrieve one. + type: string + checksumType: + description: ChecksumType is the checksum algorithm for the image. e.g md5, sha256, sha512 + enum: + - md5 + - sha256 + - sha512 + type: string + format: + description: DiskFormat contains the image disk format + enum: + - raw + - qcow2 + - vdi + - vmdk + - live-iso + type: string + url: + description: URL is a location of an image to deploy. + type: string + required: + - checksum + - url + type: object + metaData: + description: MetaData is an object storing the reference to the secret containing the Metadata given by the user. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + networkData: + description: NetworkData is an object storing the reference to the secret containing the network data given by the user. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + providerID: + description: ProviderID will be the Metal3 machine in ProviderID format (metal3://) + type: string + userData: + description: UserData references the Secret that holds user data needed by the bare metal operator. The Namespace is optional; it will default to the metal3machine's namespace if not specified. + properties: + name: + description: name is unique within a namespace to reference a secret resource. + type: string + namespace: + description: namespace defines the space within which the secret name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + required: + - image + type: object + required: + - spec + type: object + required: + - template + type: object + type: object + served: true + storage: true + subresources: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -4853,191 +3639,163 @@ spec: service: name: capm3-webhook-service namespace: capm3-system-test2 - path: /convert - conversionReviewVersions: - - v1 - - v1beta1 - group: infrastructure.cluster.x-k8s.io - names: - categories: - - cluster-api - kind: Metal3Remediation - listKind: Metal3RemediationList - plural: metal3remediations - shortNames: - - m3r - - m3remediation - singular: metal3remediation - scope: Namespaced - versions: - - additionalPrinterColumns: - - description: - How many times remediation controller should attempt to remediate - the host - jsonPath: .spec.strategy.retryLimit - name: Retry limit - type: string - - description: - How many times remediation controller has tried to remediate the - node - jsonPath: .status.retryCount - name: Retry count - type: string - - description: Timestamp of the last remediation attempt - jsonPath: .status.lastRemediated - name: Last Remediated - type: string - - description: Type of the remediation strategy - jsonPath: .spec.strategy.type - name: Strategy - type: string - - description: Phase of the remediation - jsonPath: .status.phase - name: Phase - type: string - name: v1alpha5 - schema: - openAPIV3Schema: - description: Metal3Remediation is the Schema for the metal3remediations 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: Metal3RemediationSpec defines the desired state of Metal3Remediation. - properties: - strategy: - description: Strategy field defines remediation strategy. - properties: - retryLimit: - description: Sets maximum number of remediation retries. - type: integer - timeout: - description: Sets the timeout between remediation retries. - type: string - type: - description: Type of remediation. - type: string - type: object - type: object - status: - description: Metal3RemediationStatus defines the observed state of Metal3Remediation - properties: - lastRemediated: - description: LastRemediated identifies when the host was last remediated - format: date-time - type: string - phase: - description: - Phase represents the current phase of machine remediation. - E.g. Pending, Running, Done etc. - type: string - retryCount: - description: - RetryCount can be used as a counter during the remediation. - Field can hold number of reboots etc. - type: integer - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - description: - How many times remediation controller should attempt to remediate - the host - jsonPath: .spec.strategy.retryLimit - name: Retry limit - type: string - - description: - How many times remediation controller has tried to remediate the - node - jsonPath: .status.retryCount - name: Retry count - type: string - - description: Timestamp of the last remediation attempt - jsonPath: .status.lastRemediated - name: Last Remediated - type: string - - description: Type of the remediation strategy - jsonPath: .spec.strategy.type - name: Strategy - type: string - - description: Phase of the remediation - jsonPath: .status.phase - name: Phase - type: string - name: v1beta1 - schema: - openAPIV3Schema: - description: Metal3Remediation is the Schema for the metal3remediations 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: Metal3RemediationSpec defines the desired state of Metal3Remediation. - properties: - strategy: - description: Strategy field defines remediation strategy. - properties: - retryLimit: - description: Sets maximum number of remediation retries. - type: integer - timeout: - description: Sets the timeout between remediation retries. - type: string - type: - description: Type of remediation. - type: string - type: object - type: object - status: - description: Metal3RemediationStatus defines the observed state of Metal3Remediation - properties: - lastRemediated: - description: LastRemediated identifies when the host was last remediated - format: date-time - type: string - phase: - description: - Phase represents the current phase of machine remediation. - E.g. Pending, Running, Done etc. - type: string - retryCount: - description: - RetryCount can be used as a counter during the remediation. - Field can hold number of reboots etc. - type: integer - type: object - type: object - served: true - storage: true - subresources: - status: {} + path: /convert + conversionReviewVersions: + - v1 + - v1beta1 + group: infrastructure.cluster.x-k8s.io + names: + categories: + - cluster-api + kind: Metal3Remediation + listKind: Metal3RemediationList + plural: metal3remediations + shortNames: + - m3r + - m3remediation + singular: metal3remediation + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: How many times remediation controller should attempt to remediate the host + jsonPath: .spec.strategy.retryLimit + name: Retry limit + type: string + - description: How many times remediation controller has tried to remediate the node + jsonPath: .status.retryCount + name: Retry count + type: string + - description: Timestamp of the last remediation attempt + jsonPath: .status.lastRemediated + name: Last Remediated + type: string + - description: Type of the remediation strategy + jsonPath: .spec.strategy.type + name: Strategy + type: string + - description: Phase of the remediation + jsonPath: .status.phase + name: Phase + type: string + name: v1alpha5 + schema: + openAPIV3Schema: + description: Metal3Remediation is the Schema for the metal3remediations 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: Metal3RemediationSpec defines the desired state of Metal3Remediation. + properties: + strategy: + description: Strategy field defines remediation strategy. + properties: + retryLimit: + description: Sets maximum number of remediation retries. + type: integer + timeout: + description: Sets the timeout between remediation retries. + type: string + type: + description: Type of remediation. + type: string + type: object + type: object + status: + description: Metal3RemediationStatus defines the observed state of Metal3Remediation + properties: + lastRemediated: + description: LastRemediated identifies when the host was last remediated + format: date-time + type: string + phase: + description: Phase represents the current phase of machine remediation. E.g. Pending, Running, Done etc. + type: string + retryCount: + description: RetryCount can be used as a counter during the remediation. Field can hold number of reboots etc. + type: integer + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - description: How many times remediation controller should attempt to remediate the host + jsonPath: .spec.strategy.retryLimit + name: Retry limit + type: string + - description: How many times remediation controller has tried to remediate the node + jsonPath: .status.retryCount + name: Retry count + type: string + - description: Timestamp of the last remediation attempt + jsonPath: .status.lastRemediated + name: Last Remediated + type: string + - description: Type of the remediation strategy + jsonPath: .spec.strategy.type + name: Strategy + type: string + - description: Phase of the remediation + jsonPath: .status.phase + name: Phase + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: Metal3Remediation is the Schema for the metal3remediations 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: Metal3RemediationSpec defines the desired state of Metal3Remediation. + properties: + strategy: + description: Strategy field defines remediation strategy. + properties: + retryLimit: + description: Sets maximum number of remediation retries. + type: integer + timeout: + description: Sets the timeout between remediation retries. + type: string + type: + description: Type of remediation. + type: string + type: object + type: object + status: + description: Metal3RemediationStatus defines the observed state of Metal3Remediation + properties: + lastRemediated: + description: LastRemediated identifies when the host was last remediated + format: date-time + type: string + phase: + description: Phase represents the current phase of machine remediation. E.g. Pending, Running, Done etc. + type: string + retryCount: + description: RetryCount can be used as a counter during the remediation. Field can hold number of reboots etc. + type: integer + type: object + type: object + served: true + storage: true + subresources: + status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -5061,206 +3819,158 @@ spec: namespace: capm3-system-test2 path: /convert conversionReviewVersions: - - v1 - - v1beta1 + - v1 + - v1beta1 group: infrastructure.cluster.x-k8s.io names: categories: - - cluster-api + - cluster-api kind: Metal3RemediationTemplate listKind: Metal3RemediationTemplateList plural: metal3remediationtemplates shortNames: - - m3rt - - m3remediationtemplate - - m3remediationtemplates - - metal3rt - - metal3remediationtemplate + - m3rt + - m3remediationtemplate + - m3remediationtemplates + - metal3rt + - metal3remediationtemplate singular: metal3remediationtemplate scope: Namespaced versions: - - name: v1alpha5 - schema: - openAPIV3Schema: - description: - Metal3RemediationTemplate is the Schema for the metal3remediationtemplates - 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: - Metal3RemediationTemplateSpec defines the desired state of - Metal3RemediationTemplate - properties: - template: - description: - Metal3RemediationTemplateResource describes the data - needed to create a Metal3Remediation from a template - properties: - spec: - description: - Spec is the specification of the desired behavior - of the Metal3Remediation. - properties: - strategy: - description: Strategy field defines remediation strategy. - properties: - retryLimit: - description: Sets maximum number of remediation retries. - type: integer - timeout: - description: Sets the timeout between remediation retries. - type: string - type: - description: Type of remediation. - type: string - type: object - type: object - required: - - spec - type: object - required: - - template - type: object - status: - description: - Metal3RemediationTemplateStatus defines the observed state - of Metal3RemediationTemplate - properties: - status: - description: - Metal3RemediationStatus defines the observed state of - Metal3Remediation - properties: - lastRemediated: - description: - LastRemediated identifies when the host was last - remediated - format: date-time - type: string - phase: - description: - Phase represents the current phase of machine remediation. - E.g. Pending, Running, Done etc. - type: string - retryCount: - description: - RetryCount can be used as a counter during the remediation. - Field can hold number of reboots etc. - type: integer - type: object - required: - - status - type: object - type: object - served: true - storage: false - subresources: - status: {} - - name: v1beta1 - schema: - openAPIV3Schema: - description: - Metal3RemediationTemplate is the Schema for the metal3remediationtemplates - 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: - Metal3RemediationTemplateSpec defines the desired state of - Metal3RemediationTemplate - properties: - template: - description: - Metal3RemediationTemplateResource describes the data - needed to create a Metal3Remediation from a template - properties: - spec: - description: - Spec is the specification of the desired behavior - of the Metal3Remediation. - properties: - strategy: - description: Strategy field defines remediation strategy. - properties: - retryLimit: - description: Sets maximum number of remediation retries. - type: integer - timeout: - description: Sets the timeout between remediation retries. - type: string - type: - description: Type of remediation. - type: string - type: object - type: object - required: - - spec - type: object - required: - - template - type: object - status: - description: - Metal3RemediationTemplateStatus defines the observed state - of Metal3RemediationTemplate - properties: - status: - description: - Metal3RemediationStatus defines the observed state of - Metal3Remediation - properties: - lastRemediated: - description: - LastRemediated identifies when the host was last - remediated - format: date-time - type: string - phase: - description: - Phase represents the current phase of machine remediation. - E.g. Pending, Running, Done etc. - type: string - retryCount: - description: - RetryCount can be used as a counter during the remediation. - Field can hold number of reboots etc. - type: integer - type: object - required: - - status - type: object - type: object - served: true - storage: true - subresources: - status: {} + - name: v1alpha5 + schema: + openAPIV3Schema: + description: Metal3RemediationTemplate is the Schema for the metal3remediationtemplates 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: Metal3RemediationTemplateSpec defines the desired state of Metal3RemediationTemplate + properties: + template: + description: Metal3RemediationTemplateResource describes the data needed to create a Metal3Remediation from a template + properties: + spec: + description: Spec is the specification of the desired behavior of the Metal3Remediation. + properties: + strategy: + description: Strategy field defines remediation strategy. + properties: + retryLimit: + description: Sets maximum number of remediation retries. + type: integer + timeout: + description: Sets the timeout between remediation retries. + type: string + type: + description: Type of remediation. + type: string + type: object + type: object + required: + - spec + type: object + required: + - template + type: object + status: + description: Metal3RemediationTemplateStatus defines the observed state of Metal3RemediationTemplate + properties: + status: + description: Metal3RemediationStatus defines the observed state of Metal3Remediation + properties: + lastRemediated: + description: LastRemediated identifies when the host was last remediated + format: date-time + type: string + phase: + description: Phase represents the current phase of machine remediation. E.g. Pending, Running, Done etc. + type: string + retryCount: + description: RetryCount can be used as a counter during the remediation. Field can hold number of reboots etc. + type: integer + type: object + required: + - status + type: object + type: object + served: true + storage: false + subresources: + status: {} + - name: v1beta1 + schema: + openAPIV3Schema: + description: Metal3RemediationTemplate is the Schema for the metal3remediationtemplates 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: Metal3RemediationTemplateSpec defines the desired state of Metal3RemediationTemplate + properties: + template: + description: Metal3RemediationTemplateResource describes the data needed to create a Metal3Remediation from a template + properties: + spec: + description: Spec is the specification of the desired behavior of the Metal3Remediation. + properties: + strategy: + description: Strategy field defines remediation strategy. + properties: + retryLimit: + description: Sets maximum number of remediation retries. + type: integer + timeout: + description: Sets the timeout between remediation retries. + type: string + type: + description: Type of remediation. + type: string + type: object + type: object + required: + - spec + type: object + required: + - template + type: object + status: + description: Metal3RemediationTemplateStatus defines the observed state of Metal3RemediationTemplate + properties: + status: + description: Metal3RemediationStatus defines the observed state of Metal3Remediation + properties: + lastRemediated: + description: LastRemediated identifies when the host was last remediated + format: date-time + type: string + phase: + description: Phase represents the current phase of machine remediation. E.g. Pending, Running, Done etc. + type: string + retryCount: + description: RetryCount can be used as a counter during the remediation. Field can hold number of reboots etc. + type: integer + type: object + required: + - status + type: object + type: object + served: true + storage: true + subresources: + status: {} --- apiVersion: v1 kind: ServiceAccount @@ -5286,24 +3996,24 @@ metadata: name: capm3-leader-election-role namespace: capm3-system-test2 rules: - - apiGroups: - - "" - resources: - - events - verbs: - - create - - apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - get - - list - - watch - - create - - update - - patch - - delete +- apiGroups: + - "" + resources: + - events + verbs: + - create +- apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - get + - list + - watch + - create + - update + - patch + - delete --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role @@ -5313,12 +4023,12 @@ metadata: name: ipam-leader-election-role namespace: capm3-system-test2 rules: - - apiGroups: - - "" - resources: - - events - verbs: - - create +- apiGroups: + - "" + resources: + - events + verbs: + - create --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role @@ -5329,293 +4039,293 @@ metadata: name: capm3-manager-role namespace: test2 rules: - - apiGroups: - - "" - resources: - - events - verbs: - - create - - get - - list - - patch - - update - - watch - - apiGroups: - - "" - resources: - - secrets - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - cluster.x-k8s.io - resources: - - clusters - verbs: - - get - - list - - watch - - apiGroups: - - cluster.x-k8s.io - resources: - - clusters - - clusters/status - verbs: - - get - - list - - watch - - apiGroups: - - cluster.x-k8s.io - resources: - - clusters/status - verbs: - - get - - apiGroups: - - cluster.x-k8s.io - resources: - - kubeadmcontrolplanes - 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: - - machines - - machines/status - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - cluster.x-k8s.io - resources: - - machinesets - verbs: - - get - - list - - watch - - apiGroups: - - "" - resources: - - nodes - verbs: - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3clusters - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3clusters/status - verbs: - - get - - patch - - update - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3dataclaims - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3dataclaims/status - verbs: - - get - - patch - - update - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3datas - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3datas/status - verbs: - - get - - patch - - update - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3datatemplates - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3datatemplates/status - verbs: - - get - - patch - - update - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3machines - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3machines/status - verbs: - - get - - patch - - update - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3machinetemplates - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3remediations - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - infrastructure.cluster.x-k8s.io - resources: - - metal3remediations/status - verbs: - - get - - patch - - update - - apiGroups: - - ipam.metal3.io - resources: - - ipaddresses - verbs: - - get - - list - - watch - - apiGroups: - - ipam.metal3.io - resources: - - ipaddresses/status - verbs: - - get - - apiGroups: - - ipam.metal3.io - resources: - - ipclaims - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - ipam.metal3.io - resources: - - ipclaims/status - verbs: - - get - - watch - - apiGroups: - - metal3.io - resources: - - baremetalhosts - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - metal3.io - resources: - - baremetalhosts/status - verbs: - - get - - patch - - update +- apiGroups: + - "" + resources: + - events + verbs: + - create + - get + - list + - patch + - update + - watch +- apiGroups: + - "" + resources: + - secrets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - cluster.x-k8s.io + resources: + - clusters + verbs: + - get + - list + - watch +- apiGroups: + - cluster.x-k8s.io + resources: + - clusters + - clusters/status + verbs: + - get + - list + - watch +- apiGroups: + - cluster.x-k8s.io + resources: + - clusters/status + verbs: + - get +- apiGroups: + - cluster.x-k8s.io + resources: + - kubeadmcontrolplanes + 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: + - machines + - machines/status + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - cluster.x-k8s.io + resources: + - machinesets + verbs: + - get + - list + - watch +- apiGroups: + - "" + resources: + - nodes + verbs: + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3clusters + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3clusters/status + verbs: + - get + - patch + - update +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3dataclaims + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3dataclaims/status + verbs: + - get + - patch + - update +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3datas + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3datas/status + verbs: + - get + - patch + - update +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3datatemplates + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3datatemplates/status + verbs: + - get + - patch + - update +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3machines + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3machines/status + verbs: + - get + - patch + - update +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3machinetemplates + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3remediations + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - infrastructure.cluster.x-k8s.io + resources: + - metal3remediations/status + verbs: + - get + - patch + - update +- apiGroups: + - ipam.metal3.io + resources: + - ipaddresses + verbs: + - get + - list + - watch +- apiGroups: + - ipam.metal3.io + resources: + - ipaddresses/status + verbs: + - get +- apiGroups: + - ipam.metal3.io + resources: + - ipclaims + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ipam.metal3.io + resources: + - ipclaims/status + verbs: + - get + - watch +- apiGroups: + - metal3.io + resources: + - baremetalhosts + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - metal3.io + resources: + - baremetalhosts/status + verbs: + - get + - patch + - update --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role @@ -5626,103 +4336,103 @@ metadata: name: ipam-manager-role namespace: test2 rules: - - apiGroups: - - "" - resources: - - events - verbs: - - create - - get - - list - - patch - - update - - watch - - apiGroups: - - "" - resources: - - secrets - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - cluster.x-k8s.io - resources: - - clusters - verbs: - - get - - list - - watch - - apiGroups: - - cluster.x-k8s.io - resources: - - clusters/status - verbs: - - get - - apiGroups: - - ipam.metal3.io - resources: - - ipaddresses - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - ipam.metal3.io - resources: - - ipaddresses/status - verbs: - - get - - patch - - update - - apiGroups: - - ipam.metal3.io - resources: - - ipclaims - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - ipam.metal3.io - resources: - - ipclaims/status - verbs: - - get - - patch - - update - - apiGroups: - - ipam.metal3.io - resources: - - ippools - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - ipam.metal3.io - resources: - - ippools/status - verbs: - - get - - patch - - update +- apiGroups: + - "" + resources: + - events + verbs: + - create + - get + - list + - patch + - update + - watch +- apiGroups: + - "" + resources: + - secrets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - cluster.x-k8s.io + resources: + - clusters + verbs: + - get + - list + - watch +- apiGroups: + - cluster.x-k8s.io + resources: + - clusters/status + verbs: + - get +- apiGroups: + - ipam.metal3.io + resources: + - ipaddresses + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ipam.metal3.io + resources: + - ipaddresses/status + verbs: + - get + - patch + - update +- apiGroups: + - ipam.metal3.io + resources: + - ipclaims + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ipam.metal3.io + resources: + - ipclaims/status + verbs: + - get + - patch + - update +- apiGroups: + - ipam.metal3.io + resources: + - ippools + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ipam.metal3.io + resources: + - ippools/status + verbs: + - get + - patch + - update --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding @@ -5736,9 +4446,9 @@ roleRef: kind: Role name: capm3-leader-election-role subjects: - - kind: ServiceAccount - name: capm3-manager - namespace: capm3-system-test2 +- kind: ServiceAccount + name: capm3-manager + namespace: capm3-system-test2 --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding @@ -5752,9 +4462,9 @@ roleRef: kind: Role name: ipam-leader-election-role subjects: - - kind: ServiceAccount - name: ipam-manager - namespace: capm3-system-test2 +- kind: ServiceAccount + name: ipam-manager + namespace: capm3-system-test2 --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding @@ -5768,9 +4478,9 @@ roleRef: kind: Role name: capm3-manager-role subjects: - - kind: ServiceAccount - name: capm3-manager - namespace: capm3-system-test2 +- kind: ServiceAccount + name: capm3-manager + namespace: capm3-system-test2 --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding @@ -5784,9 +4494,9 @@ roleRef: kind: Role name: ipam-manager-role subjects: - - kind: ServiceAccount - name: ipam-manager - namespace: capm3-system-test2 +- kind: ServiceAccount + name: ipam-manager + namespace: capm3-system-test2 --- apiVersion: v1 data: @@ -5807,8 +4517,8 @@ metadata: namespace: capm3-system-test2 spec: ports: - - port: 443 - targetPort: webhook-server + - port: 443 + targetPort: webhook-server selector: cluster.x-k8s.io/provider: infrastructure-metal3 --- @@ -5821,8 +4531,8 @@ metadata: namespace: capm3-system-test2 spec: ports: - - port: 443 - targetPort: ipam-webhook + - port: 443 + targetPort: ipam-webhook selector: cluster.x-k8s.io/provider: infrastructure-metal3 --- @@ -5849,53 +4559,53 @@ spec: controller-tools.k8s.io: "1.0" spec: containers: - - args: - - --namespace=test2 - - --webhook-port=9443 - command: - - /manager - env: - - name: POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - envFrom: - - configMapRef: - name: capm3-capm3fasttrack-configmap - image: quay.io/metal3-io/cluster-api-provider-metal3:main - 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 - volumeMounts: - - mountPath: /tmp/k8s-webhook-server/serving-certs - name: cert - readOnly: true + - args: + - --namespace=test2 + - --webhook-port=9443 + command: + - /manager + env: + - name: POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + envFrom: + - configMapRef: + name: capm3-capm3fasttrack-configmap + image: quay.io/metal3-io/cluster-api-provider-metal3:main + 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 + volumeMounts: + - mountPath: /tmp/k8s-webhook-server/serving-certs + name: cert + readOnly: true serviceAccountName: capm3-manager terminationGracePeriodSeconds: 10 tolerations: - - effect: NoSchedule - key: node-role.kubernetes.io/master - - effect: NoSchedule - key: node-role.kubernetes.io/control-plane + - effect: NoSchedule + key: node-role.kubernetes.io/master + - effect: NoSchedule + key: node-role.kubernetes.io/control-plane volumes: - - name: cert - secret: - defaultMode: 420 - secretName: capm3-webhook-service-cert + - name: cert + secret: + defaultMode: 420 + secretName: capm3-webhook-service-cert --- apiVersion: apps/v1 kind: Deployment @@ -5920,48 +4630,48 @@ spec: controller-tools.k8s.io: "1.0" spec: containers: - - args: - - --namespace=test2 - - --webhook-port=9443 - command: - - /manager - env: - - name: POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - image: quay.io/metal3-io/ip-address-manager:v1.1.3 - imagePullPolicy: IfNotPresent - livenessProbe: - httpGet: - path: /healthz - port: healthz - name: manager - ports: - - containerPort: 9443 - name: ipam-webhook - protocol: TCP - - containerPort: 9440 - name: healthz - protocol: TCP - readinessProbe: - httpGet: - path: /readyz - port: healthz - volumeMounts: - - mountPath: /tmp/k8s-webhook-server/serving-certs - name: cert - readOnly: true + - args: + - --namespace=test2 + - --webhook-port=9443 + command: + - /manager + env: + - name: POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + image: quay.io/metal3-io/ip-address-manager:v1.1.3 + imagePullPolicy: IfNotPresent + livenessProbe: + httpGet: + path: /healthz + port: healthz + name: manager + ports: + - containerPort: 9443 + name: ipam-webhook + protocol: TCP + - containerPort: 9440 + name: healthz + protocol: TCP + readinessProbe: + httpGet: + path: /readyz + port: healthz + volumeMounts: + - mountPath: /tmp/k8s-webhook-server/serving-certs + name: cert + readOnly: true serviceAccountName: ipam-manager terminationGracePeriodSeconds: 10 tolerations: - - effect: NoSchedule - key: node-role.kubernetes.io/master + - effect: NoSchedule + key: node-role.kubernetes.io/master volumes: - - name: cert - secret: - defaultMode: 420 - secretName: ipam-webhook-service-cert + - name: cert + secret: + defaultMode: 420 + secretName: ipam-webhook-service-cert --- apiVersion: cert-manager.io/v1 kind: Certificate @@ -5972,8 +4682,8 @@ metadata: namespace: capm3-system-test2 spec: dnsNames: - - capm3-webhook-service.capm3-system-test2.svc - - capm3-webhook-service.capm3-system-test2.svc.cluster.local + - capm3-webhook-service.capm3-system-test2.svc + - capm3-webhook-service.capm3-system-test2.svc.cluster.local issuerRef: kind: Issuer name: capm3-selfsigned-issuer @@ -5988,8 +4698,8 @@ metadata: namespace: capm3-system-test2 spec: dnsNames: - - ipam-webhook-service.capm3-system-test2.svc - - ipam-webhook-service.capm3-system-test2.svc.cluster.local + - ipam-webhook-service.capm3-system-test2.svc + - ipam-webhook-service.capm3-system-test2.svc.cluster.local issuerRef: kind: Issuer name: ipam-selfsigned-issuer @@ -6024,182 +4734,182 @@ metadata: cluster.x-k8s.io/provider: infrastructure-metal3 name: capm3-mutating-webhook-configuration webhooks: - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system-test2 - path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3cluster - failurePolicy: Fail - matchPolicy: Equivalent - name: default.metal3cluster.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3clusters - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system-test2 - path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3data - failurePolicy: Fail - matchPolicy: Equivalent - name: default.metal3data.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3datas - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system-test2 - path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3dataclaim - failurePolicy: Fail - matchPolicy: Equivalent - name: default.metal3dataclaim.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3dataclaims - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system-test2 - path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3datatemplate - failurePolicy: Fail - matchPolicy: Equivalent - name: default.metal3datatemplate.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3datatemplates - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system-test2 - path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3machine - failurePolicy: Fail - matchPolicy: Equivalent - name: default.metal3machine.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3machines - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system-test2 - path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3machinetemplate - failurePolicy: Fail - matchPolicy: Equivalent - name: default.metal3machinetemplate.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3machinetemplates - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system-test2 - path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3remediation - failurePolicy: Fail - matchPolicy: Equivalent - name: default.metal3remediation.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3remediations - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system-test2 - path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3remediationtemplate - failurePolicy: Fail - matchPolicy: Equivalent - name: default.metal3remediationtemplate.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3remediationtemplates - sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system-test2 + path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3cluster + failurePolicy: Fail + matchPolicy: Equivalent + name: default.metal3cluster.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3clusters + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system-test2 + path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3data + failurePolicy: Fail + matchPolicy: Equivalent + name: default.metal3data.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3datas + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system-test2 + path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3dataclaim + failurePolicy: Fail + matchPolicy: Equivalent + name: default.metal3dataclaim.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3dataclaims + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system-test2 + path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3datatemplate + failurePolicy: Fail + matchPolicy: Equivalent + name: default.metal3datatemplate.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3datatemplates + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system-test2 + path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3machine + failurePolicy: Fail + matchPolicy: Equivalent + name: default.metal3machine.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3machines + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system-test2 + path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3machinetemplate + failurePolicy: Fail + matchPolicy: Equivalent + name: default.metal3machinetemplate.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3machinetemplates + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system-test2 + path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3remediation + failurePolicy: Fail + matchPolicy: Equivalent + name: default.metal3remediation.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3remediations + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system-test2 + path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3remediationtemplate + failurePolicy: Fail + matchPolicy: Equivalent + name: default.metal3remediationtemplate.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3remediationtemplates + sideEffects: None --- apiVersion: admissionregistration.k8s.io/v1 kind: MutatingWebhookConfiguration @@ -6210,72 +4920,72 @@ metadata: cluster.x-k8s.io/provider: infrastructure-metal3 name: ipam-mutating-webhook-configuration webhooks: - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: ipam-webhook-service - namespace: capm3-system-test2 - path: /mutate-ipam-metal3-io-v1alpha1-ipaddress - failurePolicy: Fail - matchPolicy: Equivalent - name: default.ipaddress.ipam.metal3.io - rules: - - apiGroups: - - ipam.metal3.io - apiVersions: - - v1alpha1 - operations: - - CREATE - - UPDATE - resources: - - ipaddresses - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: ipam-webhook-service - namespace: capm3-system-test2 - path: /mutate-ipam-metal3-io-v1alpha1-ipclaim - failurePolicy: Fail - matchPolicy: Equivalent - name: default.ipclaim.ipam.metal3.io - rules: - - apiGroups: - - ipam.metal3.io - apiVersions: - - v1alpha1 - operations: - - CREATE - - UPDATE - resources: - - ipclaims - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: ipam-webhook-service - namespace: capm3-system-test2 - path: /mutate-ipam-metal3-io-v1alpha1-ippool - failurePolicy: Fail - matchPolicy: Equivalent - name: default.ippool.ipam.metal3.io - rules: - - apiGroups: - - ipam.metal3.io - apiVersions: - - v1alpha1 - operations: - - CREATE - - UPDATE - resources: - - ippools - sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: ipam-webhook-service + namespace: capm3-system-test2 + path: /mutate-ipam-metal3-io-v1alpha1-ipaddress + failurePolicy: Fail + matchPolicy: Equivalent + name: default.ipaddress.ipam.metal3.io + rules: + - apiGroups: + - ipam.metal3.io + apiVersions: + - v1alpha1 + operations: + - CREATE + - UPDATE + resources: + - ipaddresses + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: ipam-webhook-service + namespace: capm3-system-test2 + path: /mutate-ipam-metal3-io-v1alpha1-ipclaim + failurePolicy: Fail + matchPolicy: Equivalent + name: default.ipclaim.ipam.metal3.io + rules: + - apiGroups: + - ipam.metal3.io + apiVersions: + - v1alpha1 + operations: + - CREATE + - UPDATE + resources: + - ipclaims + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: ipam-webhook-service + namespace: capm3-system-test2 + path: /mutate-ipam-metal3-io-v1alpha1-ippool + failurePolicy: Fail + matchPolicy: Equivalent + name: default.ippool.ipam.metal3.io + rules: + - apiGroups: + - ipam.metal3.io + apiVersions: + - v1alpha1 + operations: + - CREATE + - UPDATE + resources: + - ippools + sideEffects: None --- apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingWebhookConfiguration @@ -6286,182 +4996,182 @@ metadata: cluster.x-k8s.io/provider: infrastructure-metal3 name: capm3-validating-webhook-configuration webhooks: - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system-test2 - path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3cluster - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.metal3cluster.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3clusters - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system-test2 - path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3data - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.metal3data.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3datas - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system-test2 - path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3dataclaim - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.metal3dataclaim.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3dataclaims - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system-test2 - path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3datatemplate - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.metal3datatemplate.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3datatemplates - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system-test2 - path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3machine - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.metal3machine.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3machines - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system-test2 - path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3machinetemplate - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.metal3machinetemplate.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3machinetemplates - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system-test2 - path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3remediation - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.metal3remediation.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3remediations - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capm3-webhook-service - namespace: capm3-system-test2 - path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3remediationtemplate - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.metal3remediationtemplate.infrastructure.cluster.x-k8s.io - rules: - - apiGroups: - - infrastructure.cluster.x-k8s.io - apiVersions: - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - metal3remediationtemplates - sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system-test2 + path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3cluster + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.metal3cluster.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3clusters + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system-test2 + path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3data + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.metal3data.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3datas + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system-test2 + path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3dataclaim + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.metal3dataclaim.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3dataclaims + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system-test2 + path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3datatemplate + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.metal3datatemplate.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3datatemplates + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system-test2 + path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3machine + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.metal3machine.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3machines + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system-test2 + path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3machinetemplate + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.metal3machinetemplate.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3machinetemplates + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system-test2 + path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3remediation + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.metal3remediation.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3remediations + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capm3-webhook-service + namespace: capm3-system-test2 + path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3remediationtemplate + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.metal3remediationtemplate.infrastructure.cluster.x-k8s.io + rules: + - apiGroups: + - infrastructure.cluster.x-k8s.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - metal3remediationtemplates + sideEffects: None --- apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingWebhookConfiguration @@ -6472,69 +5182,69 @@ metadata: cluster.x-k8s.io/provider: infrastructure-metal3 name: ipam-validating-webhook-configuration webhooks: - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: ipam-webhook-service - namespace: capm3-system-test2 - path: /validate-ipam-metal3-io-v1alpha1-ipaddress - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.ipaddress.ipam.metal3.io - rules: - - apiGroups: - - ipam.metal3.io - apiVersions: - - v1alpha1 - operations: - - CREATE - - UPDATE - resources: - - ipaddresses - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: ipam-webhook-service - namespace: capm3-system-test2 - path: /validate-ipam-metal3-io-v1alpha1-ipclaim - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.ipclaim.ipam.metal3.io - rules: - - apiGroups: - - ipam.metal3.io - apiVersions: - - v1alpha1 - operations: - - CREATE - - UPDATE - resources: - - ipclaims - sideEffects: None - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: ipam-webhook-service - namespace: capm3-system-test2 - path: /validate-ipam-metal3-io-v1alpha1-ippool - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.ippool.ipam.metal3.io - rules: - - apiGroups: - - ipam.metal3.io - apiVersions: - - v1alpha1 - operations: - - CREATE - - UPDATE - resources: - - ippools - sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: ipam-webhook-service + namespace: capm3-system-test2 + path: /validate-ipam-metal3-io-v1alpha1-ipaddress + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.ipaddress.ipam.metal3.io + rules: + - apiGroups: + - ipam.metal3.io + apiVersions: + - v1alpha1 + operations: + - CREATE + - UPDATE + resources: + - ipaddresses + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: ipam-webhook-service + namespace: capm3-system-test2 + path: /validate-ipam-metal3-io-v1alpha1-ipclaim + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.ipclaim.ipam.metal3.io + rules: + - apiGroups: + - ipam.metal3.io + apiVersions: + - v1alpha1 + operations: + - CREATE + - UPDATE + resources: + - ipclaims + sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: ipam-webhook-service + namespace: capm3-system-test2 + path: /validate-ipam-metal3-io-v1alpha1-ippool + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.ippool.ipam.metal3.io + rules: + - apiGroups: + - ipam.metal3.io + apiVersions: + - v1alpha1 + operations: + - CREATE + - UPDATE + resources: + - ippools + sideEffects: None diff --git a/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/controlplane-template.yaml b/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/controlplane-template.yaml index 2d401076..a40e0548 100644 --- a/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/controlplane-template.yaml +++ b/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/controlplane-template.yaml @@ -156,8 +156,7 @@ spec: users: - name: metal3 sshAuthorizedKeys: - - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCWL9EOaqZjHE86+ORcwviHMCtrlMc8c28KSXoYa2H8w4R0+LVpMg6srMA0wvrUmhVk+qhvmGRV/AwjTORKFl6BD6XLrFzRwPc6RweVKEkexZvqa/eGJ9ri5NCvZwj0RHW7NuyE+xWP3/gmhikkx0hKNPnf2uXg6SnJgPayh4UYHxO2/vdx5GBUwYEqysvJi2a4M8Lq82XXoktlqfWkooep6W5XIg42i/kkMflai49T4ZRg5U4311FcKV6eiqznmgCpdm9IymeihHXgiE8g0q2N/3jfrqgOQDIAEG/ZwBeZ87iNOdokzg/suNGVVgyuMj7yC6MMXaOrYgAxAm9Gx5g16YYZqtMf3nWw4jKjvB+KnV9aVLia/8ZBVTDvz/Jeislk0xFn3f0PXbN+aTELGfk1w+45Tkj8Z+zL3syvBHh4hgS8f5rMNMHc8vmVapbo8Vt0/FgNNuZ2AcWxcrr/8OJOu3HELSQ4xTe7S10k9eeTpc5JSpnZOuec0LrqQb5+CqU= - centos@mohammed-gentemp.openstacklocal + - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCWL9EOaqZjHE86+ORcwviHMCtrlMc8c28KSXoYa2H8w4R0+LVpMg6srMA0wvrUmhVk+qhvmGRV/AwjTORKFl6BD6XLrFzRwPc6RweVKEkexZvqa/eGJ9ri5NCvZwj0RHW7NuyE+xWP3/gmhikkx0hKNPnf2uXg6SnJgPayh4UYHxO2/vdx5GBUwYEqysvJi2a4M8Lq82XXoktlqfWkooep6W5XIg42i/kkMflai49T4ZRg5U4311FcKV6eiqznmgCpdm9IymeihHXgiE8g0q2N/3jfrqgOQDIAEG/ZwBeZ87iNOdokzg/suNGVVgyuMj7yC6MMXaOrYgAxAm9Gx5g16YYZqtMf3nWw4jKjvB+KnV9aVLia/8ZBVTDvz/Jeislk0xFn3f0PXbN+aTELGfk1w+45Tkj8Z+zL3syvBHh4hgS8f5rMNMHc8vmVapbo8Vt0/FgNNuZ2AcWxcrr/8OJOu3HELSQ4xTe7S10k9eeTpc5JSpnZOuec0LrqQb5+CqU= centos@mohammed-gentemp.openstacklocal sudo: ALL=(ALL) NOPASSWD:ALL machineTemplate: infrastructureRef: diff --git a/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/ipam-test2-v1.2.yaml b/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/ipam-test2-v1.2.yaml index df27e339..ab2bb735 100644 --- a/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/ipam-test2-v1.2.yaml +++ b/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/ipam-test2-v1.2.yaml @@ -229,4 +229,4 @@ spec: - name: cert secret: defaultMode: 420 - secretName: ipam-webhook-service-cert \ No newline at end of file + secretName: ipam-webhook-service-cert diff --git a/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/kubeadm-bootstrap.yaml b/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/kubeadm-bootstrap.yaml index b9ab0f66..fcc4835e 100644 --- a/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/kubeadm-bootstrap.yaml +++ b/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/kubeadm-bootstrap.yaml @@ -47,58 +47,42 @@ spec: description: KubeadmConfig is the Schema for the kubeadmconfigs API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: - description: KubeadmConfigSpec defines the desired state of KubeadmConfig. - Either ClusterConfiguration and InitConfiguration should be defined - or the JoinConfiguration should be defined. + description: KubeadmConfigSpec defines the desired state of KubeadmConfig. Either ClusterConfiguration and InitConfiguration should be defined or the JoinConfiguration should be defined. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration are - the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for the API server - control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative Names - for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and - ideally we would like to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that will - be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod where - hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -116,65 +100,39 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the timeout that - we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store or look - for all required certificates. NB: if not provided, this will - default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP address or - DNS name for the control plane; it can be a valid IP address - or a RFC-1123 DNS subdomain, both with optional TCP port. In - case the ControlPlaneEndpoint is not specified, the AdvertiseAddress - + BindPort are used; in case the ControlPlaneEndpoint is specified - but without a TCP port, the BindPort is used. Possible usages - are: e.g. In a cluster with more than one control plane instances, - this field should be assigned the address of the external load - balancer in front of the control plane instances. e.g. in environments - with enforced node recycling, the ControlPlaneEndpoint could - be used for assigning a stable DNS to the control plane. NB: - This value defaults to the first value in the Cluster object - status.apiEndpoints array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings for the - controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and - ideally we would like to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that will - be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod where - hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -193,40 +151,29 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on installed - in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container registry to - pull images from. if not set, the ImageRepository defined - in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for the image. - In case this value is set, kubeadm does not change automatically - the version of the above components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: description: Type defines the DNS add-on to be used type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: This value - defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect to an external - etcd cluster Local and External are mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate Authority file - used to secure etcd communication. Required if using - a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification file used - to secure etcd communication. Required if using a TLS - connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: description: Endpoints of etcd members. Required for ExternalEtcd. @@ -234,8 +181,7 @@ spec: type: string type: array keyFile: - description: KeyFile is an SSL key file used to secure - etcd communication. Required if using a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -244,40 +190,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs for configuring - the local etcd instance Local and External are mutually - exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd will place - its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments provided to - the etcd binary when run inside a static pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for the - image. In case this value is set, kubeadm does not change - automatically the version of the above components during - upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject Alternative - Names for the etcd server signing cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -289,72 +224,45 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry to pull - images from. If empty, `k8s.gcr.io` will be used by default; - in case of kubernetes version is a CI build (kubernetes version - starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` - will be used as a default for control plane components and for - kube-proxy, while `k8s.gcr.io` will be used for all the other - images. + description: ImageRepository sets the container registry to pull images from. If empty, `k8s.gcr.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `k8s.gcr.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version of the control - plane. NB: This value defaults to the Machine object spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to the Cluster - object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used by k8s services. - Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. If unset, - the API server will not allocate CIDR ranges for every node. - Defaults to a comma-delimited string of the Cluster object's - spec.clusterNetwork.services.cidrBlocks if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used by k8s services. - Defaults to a comma-delimited string of the Cluster object's - spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" - if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for the scheduler - control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and - ideally we would like to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that will - be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod where - hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -373,18 +281,14 @@ spec: type: array type: object useHyperKubeImage: - description: UseHyperKubeImage controls if hyperkube should be - used for Kubernetes components instead of their respective separate - images + description: UseHyperKubeImage controls if hyperkube should be used for Kubernetes components instead of their respective separate images type: boolean type: object diskSetup: - description: DiskSetup specifies options for the creation of partition - tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file systems to - setup. + description: Filesystems specifies the list of file systems to setup. items: description: Filesystem defines the file systems to be created. properties: @@ -392,8 +296,7 @@ spec: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options to add to the - command for creating the file system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array @@ -401,24 +304,16 @@ spec: description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system label to be - used. If set to None, no label is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not to overwrite - any existing filesystem. If true, any pre-existing file - system will be destroyed. Use with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition to use. - The valid options are: "auto|any", "auto", "any", "none", - and , where NUM is the actual partition number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, used for - Microsoft Azure that instructs cloud-init to replace a - file system of . NOTE: unless you define a label, - this requires the use of the ''any'' partition directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -427,8 +322,7 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the partitions to - setup. + description: Partitions specifies the list of the partitions to setup. items: description: Partition defines how to create and layout a partition. properties: @@ -436,21 +330,13 @@ spec: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. If it is - true, a single partition will be created for the entire - device. When layout is false, it means don't partition - or ignore existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to skip checks - and create the partition if a partition or filesystem - is found on the device. Use with caution. Default is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of partition - table. The following are supported: ''mbr'': default and - setups a MS-DOS partition table ''gpt'': setups a GPT - partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -459,30 +345,24 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed to user_data - upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files in - cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: content: description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source of content to - populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that should populate - this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's data map - for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -499,16 +379,13 @@ spec: - gzip+base64 type: string owner: - description: Owner specifies the ownership of the file, e.g. - "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk where to store - the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions to assign - to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path @@ -520,54 +397,36 @@ spec: - cloud-config type: string initConfiguration: - description: InitConfiguration along with ClusterConfiguration are - the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm init` time - and describes a set of Bootstrap Tokens to create. This information - IS NOT uploaded to the kubeadm cluster configmap, partly because - of its sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap token, stored - as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly message why - this token exists and what it's used for, so other administrators - can know its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp when this token - expires. Defaults to being set dynamically at runtime - based on the TTL. Expires and TTL are mutually exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups that this - token will authenticate as when/if used for authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing bidirectional - trust between nodes and control-planes. Used for joining - nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for this token. - Defaults to 24h. Expires and TTL are mutually exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which this token - can be used. Can by default be used for establishing bidirectional - trust, but that can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -576,30 +435,16 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint of the API - server instance that's deployed on this control plane node In - HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global endpoint - for the cluster, which then loadbalances the requests to each - individual API server. This configuration object lets you customize - what IP/DNS name and port the local API server advertises it's - accessible on. By default, kubeadm tries to auto-detect the - IP of the default interface and use that, but in case that process - fails you may set the desired value here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address for the - API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the API Server - to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer required: @@ -607,65 +452,36 @@ spec: - bindPort type: object nodeRegistration: - description: NodeRegistration holds fields that relate to registering - the new control-plane node to the cluster. When used in the - context of control plane nodes, NodeRegistration should remain - consistent across both InitConfiguration and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node API - object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the kubelet - command line via the environment file kubeadm writes at - runtime for the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X ConfigMap - Flags have higher priority when parsing. These values are - local and specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the Node - API object that will be created in this `kubeadm init` or - `kubeadm join` operation. This field is also used in the - CommonName field of the kubelet's client certificate to - the API server. Defaults to the hostname of the node if - not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API object - should be registered with. If this field is unset, i.e. - nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. If - you don''t want to taint your control-plane node, set this - field to an empty slice, i.e. `taints: {}` in the YAML file. - This field is solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has the - "effect" on any pod that does not tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on pods - that do not tolerate the taint. Valid effects are - NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied to - a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the taint - key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -675,37 +491,25 @@ spec: type: object type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration for the - join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate authority - used to secure comunications between node and control-plane. - Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when - there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control plane - instance to be deployed on the joining node. If nil, no additional - control plane instance will be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint of the - API server instance to be deployed on this node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address for - the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the API - Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer required: @@ -714,57 +518,34 @@ spec: type: object type: object discovery: - description: 'Discovery specifies the options for the kubelet - to use during the TLS Bootstrap process TODO: revisit when there - is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the options for - bootstrap token based discovery BootstrapToken and File - are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or domain name - to the API server from which info will be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set of public key - pins to verify when token-based discovery is used. The - root CA found during discovery must match one of these - values. Specifying an empty set disables root CA pinning, - which can be unsafe. Each hash is specified as ":", - where the only currently supported type is "sha256". - This is a hex-encoded SHA-256 hash of the Subject Public - Key Info (SPKI) object in DER-encoded ASN.1. These hashes - can be calculated using, for example, OpenSSL: openssl - x509 -pubkey -in ca.crt openssl rsa -pubin -outform - der 2>&/dev/null | openssl dgst -sha256 -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate cluster - information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since other - nodes can impersonate the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token - unsafeSkipCAVerification type: object file: - description: File is used to specify a file or URL to a kubeconfig - file from which to load cluster information BootstrapToken - and File are mutually exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify the actual - file path or URL to the kubeconfig file from which to - load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -773,80 +554,43 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: 'TLSBootstrapToken is a token used for TLS bootstrapping. - If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, - but can be overridden. If .File is set, this field **must - be set** in case the KubeConfigFile does not contain any - other authentication information TODO: revisit when there - is defaulting from k/k' + description: 'TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information TODO: revisit when there is defaulting from k/k' type: string type: object kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate to registering - the new control-plane node to the cluster. When used in the - context of control plane nodes, NodeRegistration should remain - consistent across both InitConfiguration and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node API - object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the kubelet - command line via the environment file kubeadm writes at - runtime for the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X ConfigMap - Flags have higher priority when parsing. These values are - local and specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the Node - API object that will be created in this `kubeadm init` or - `kubeadm join` operation. This field is also used in the - CommonName field of the kubelet's client certificate to - the API server. Defaults to the hostname of the node if - not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API object - should be registered with. If this field is unset, i.e. - nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. If - you don''t want to taint your control-plane node, set this - field to an empty slice, i.e. `taints: {}` in the YAML file. - This field is solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has the - "effect" on any pod that does not tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on pods - that do not tolerate the taint. Valid effects are - NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied to - a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the taint - key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -876,25 +620,17 @@ spec: type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands to run after - kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands to run before - kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic kubeadm command - with a shell script with retries for joins. \n This is meant to - be an experimental temporary workaround on some environments where - joins fail due to timing (and other issues). The long term goal - is to add retries to kubeadm proper and use that functionality. - \n This will add about 40KB to userdata \n For more information, - refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." type: boolean users: description: Users specifies extra users to add @@ -905,20 +641,16 @@ spec: description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups for the - user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory to use for - the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark the user as - inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password login should - be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name @@ -927,15 +659,13 @@ spec: description: Passwd specifies a hashed password for the user type: string primaryGroup: - description: PrimaryGroup specifies the primary group for the - user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list of ssh authorized - keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array @@ -947,8 +677,7 @@ spec: type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log level verbosity. - It overrides the `--v` flag in kubeadm commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object @@ -956,48 +685,32 @@ spec: description: KubeadmConfigStatus defines the observed state of KubeadmConfig. properties: bootstrapData: - description: "BootstrapData will be a cloud-init script for now. \n - Deprecated: Switch to DataSecretName." + description: "BootstrapData will be a cloud-init script for now. \n Deprecated: Switch to DataSecretName." format: byte type: string conditions: description: Conditions defines current service state of the KubeadmConfig. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -1005,8 +718,7 @@ spec: type: object type: array dataSecretName: - description: DataSecretName is the name of the secret that stores - the bootstrap data script. + description: DataSecretName is the name of the secret that stores the bootstrap data script. type: string failureMessage: description: FailureMessage will be set on non-retryable errors @@ -1015,13 +727,11 @@ spec: description: FailureReason will be set on non-retryable errors type: string observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + description: ObservedGeneration is the latest generation observed by the controller. format: int64 type: integer ready: - description: Ready indicates the BootstrapData field is ready to be - consumed + description: Ready indicates the BootstrapData field is ready to be consumed type: boolean type: object type: object @@ -1040,58 +750,42 @@ spec: description: KubeadmConfig is the Schema for the kubeadmconfigs API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: - description: KubeadmConfigSpec defines the desired state of KubeadmConfig. - Either ClusterConfiguration and InitConfiguration should be defined - or the JoinConfiguration should be defined. + description: KubeadmConfigSpec defines the desired state of KubeadmConfig. Either ClusterConfiguration and InitConfiguration should be defined or the JoinConfiguration should be defined. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration are - the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for the API server - control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative Names - for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and - ideally we would like to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that will - be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod where - hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -1109,65 +803,39 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the timeout that - we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store or look - for all required certificates. NB: if not provided, this will - default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP address or - DNS name for the control plane; it can be a valid IP address - or a RFC-1123 DNS subdomain, both with optional TCP port. In - case the ControlPlaneEndpoint is not specified, the AdvertiseAddress - + BindPort are used; in case the ControlPlaneEndpoint is specified - but without a TCP port, the BindPort is used. Possible usages - are: e.g. In a cluster with more than one control plane instances, - this field should be assigned the address of the external load - balancer in front of the control plane instances. e.g. in environments - with enforced node recycling, the ControlPlaneEndpoint could - be used for assigning a stable DNS to the control plane. NB: - This value defaults to the first value in the Cluster object - status.apiEndpoints array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings for the - controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and - ideally we would like to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that will - be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod where - hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -1186,37 +854,26 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on installed - in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container registry to - pull images from. if not set, the ImageRepository defined - in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for the image. - In case this value is set, kubeadm does not change automatically - the version of the above components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: This value - defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect to an external - etcd cluster Local and External are mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate Authority file - used to secure etcd communication. Required if using - a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification file used - to secure etcd communication. Required if using a TLS - connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: description: Endpoints of etcd members. Required for ExternalEtcd. @@ -1224,8 +881,7 @@ spec: type: string type: array keyFile: - description: KeyFile is an SSL key file used to secure - etcd communication. Required if using a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -1234,40 +890,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs for configuring - the local etcd instance Local and External are mutually - exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd will place - its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments provided to - the etcd binary when run inside a static pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for the - image. In case this value is set, kubeadm does not change - automatically the version of the above components during - upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject Alternative - Names for the etcd server signing cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -1279,72 +924,45 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry to pull - images from. If empty, `registry.k8s.io` will be used by default; - in case of kubernetes version is a CI build (kubernetes version - starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` - will be used as a default for control plane components and for - kube-proxy, while `registry.k8s.io` will be used for all the - other images. + description: ImageRepository sets the container registry to pull images from. If empty, `registry.k8s.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `registry.k8s.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version of the control - plane. NB: This value defaults to the Machine object spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to the Cluster - object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used by k8s services. - Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. If unset, - the API server will not allocate CIDR ranges for every node. - Defaults to a comma-delimited string of the Cluster object's - spec.clusterNetwork.services.cidrBlocks if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used by k8s services. - Defaults to a comma-delimited string of the Cluster object's - spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" - if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for the scheduler - control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and - ideally we would like to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that will - be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod where - hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -1364,12 +982,10 @@ spec: type: object type: object diskSetup: - description: DiskSetup specifies options for the creation of partition - tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file systems to - setup. + description: Filesystems specifies the list of file systems to setup. items: description: Filesystem defines the file systems to be created. properties: @@ -1377,8 +993,7 @@ spec: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options to add to the - command for creating the file system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array @@ -1386,24 +1001,16 @@ spec: description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system label to be - used. If set to None, no label is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not to overwrite - any existing filesystem. If true, any pre-existing file - system will be destroyed. Use with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition to use. - The valid options are: "auto|any", "auto", "any", "none", - and , where NUM is the actual partition number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, used for - Microsoft Azure that instructs cloud-init to replace a - file system of . NOTE: unless you define a label, - this requires the use of the ''any'' partition directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -1412,8 +1019,7 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the partitions to - setup. + description: Partitions specifies the list of the partitions to setup. items: description: Partition defines how to create and layout a partition. properties: @@ -1421,21 +1027,13 @@ spec: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. If it is - true, a single partition will be created for the entire - device. When layout is false, it means don't partition - or ignore existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to skip checks - and create the partition if a partition or filesystem - is found on the device. Use with caution. Default is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of partition - table. The following are supported: ''mbr'': default and - setups a MS-DOS partition table ''gpt'': setups a GPT - partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -1444,30 +1042,24 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed to user_data - upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files in - cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: content: description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source of content to - populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that should populate - this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's data map - for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -1484,16 +1076,13 @@ spec: - gzip+base64 type: string owner: - description: Owner specifies the ownership of the file, e.g. - "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk where to store - the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions to assign - to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path @@ -1505,54 +1094,36 @@ spec: - cloud-config type: string initConfiguration: - description: InitConfiguration along with ClusterConfiguration are - the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm init` time - and describes a set of Bootstrap Tokens to create. This information - IS NOT uploaded to the kubeadm cluster configmap, partly because - of its sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap token, stored - as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly message why - this token exists and what it's used for, so other administrators - can know its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp when this token - expires. Defaults to being set dynamically at runtime - based on the TTL. Expires and TTL are mutually exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups that this - token will authenticate as when/if used for authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing bidirectional - trust between nodes and control-planes. Used for joining - nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for this token. - Defaults to 24h. Expires and TTL are mutually exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which this token - can be used. Can by default be used for establishing bidirectional - trust, but that can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -1561,99 +1132,55 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint of the API - server instance that's deployed on this control plane node In - HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global endpoint - for the cluster, which then loadbalances the requests to each - individual API server. This configuration object lets you customize - what IP/DNS name and port the local API server advertises it's - accessible on. By default, kubeadm tries to auto-detect the - IP of the default interface and use that, but in case that process - fails you may set the desired value here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address for the - API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the API Server - to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object nodeRegistration: - description: NodeRegistration holds fields that relate to registering - the new control-plane node to the cluster. When used in the - context of control plane nodes, NodeRegistration should remain - consistent across both InitConfiguration and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node API - object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice of pre-flight - errors to be ignored when the current node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the kubelet - command line via the environment file kubeadm writes at - runtime for the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X ConfigMap - Flags have higher priority when parsing. These values are - local and specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the Node - API object that will be created in this `kubeadm init` or - `kubeadm join` operation. This field is also used in the - CommonName field of the kubelet's client certificate to - the API server. Defaults to the hostname of the node if - not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API object - should be registered with. If this field is unset, i.e. - nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. If - you don''t want to taint your control-plane node, set this - field to an empty slice, i.e. `taints: {}` in the YAML file. - This field is solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has the - "effect" on any pod that does not tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on pods - that do not tolerate the taint. Valid effects are - NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied to - a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the taint - key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -1663,92 +1190,57 @@ spec: type: object type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration for the - join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate authority - used to secure comunications between node and control-plane. - Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when - there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control plane - instance to be deployed on the joining node. If nil, no additional - control plane instance will be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint of the - API server instance to be deployed on this node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address for - the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the API - Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object type: object discovery: - description: 'Discovery specifies the options for the kubelet - to use during the TLS Bootstrap process TODO: revisit when there - is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the options for - bootstrap token based discovery BootstrapToken and File - are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or domain name - to the API server from which info will be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set of public key - pins to verify when token-based discovery is used. The - root CA found during discovery must match one of these - values. Specifying an empty set disables root CA pinning, - which can be unsafe. Each hash is specified as ":", - where the only currently supported type is "sha256". - This is a hex-encoded SHA-256 hash of the Subject Public - Key Info (SPKI) object in DER-encoded ASN.1. These hashes - can be calculated using, for example, OpenSSL: openssl - x509 -pubkey -in ca.crt openssl rsa -pubin -outform - der 2>&/dev/null | openssl dgst -sha256 -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate cluster - information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since other - nodes can impersonate the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token type: object file: - description: File is used to specify a file or URL to a kubeconfig - file from which to load cluster information BootstrapToken - and File are mutually exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify the actual - file path or URL to the kubeconfig file from which to - load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -1757,85 +1249,48 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: TLSBootstrapToken is a token used for TLS bootstrapping. - If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, - but can be overridden. If .File is set, this field **must - be set** in case the KubeConfigFile does not contain any - other authentication information + description: TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information type: string type: object kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate to registering - the new control-plane node to the cluster. When used in the - context of control plane nodes, NodeRegistration should remain - consistent across both InitConfiguration and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node API - object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice of pre-flight - errors to be ignored when the current node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the kubelet - command line via the environment file kubeadm writes at - runtime for the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X ConfigMap - Flags have higher priority when parsing. These values are - local and specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the Node - API object that will be created in this `kubeadm init` or - `kubeadm join` operation. This field is also used in the - CommonName field of the kubelet's client certificate to - the API server. Defaults to the hostname of the node if - not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API object - should be registered with. If this field is unset, i.e. - nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. If - you don''t want to taint your control-plane node, set this - field to an empty slice, i.e. `taints: {}` in the YAML file. - This field is solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has the - "effect" on any pod that does not tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on pods - that do not tolerate the taint. Valid effects are - NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied to - a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the taint - key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -1865,25 +1320,17 @@ spec: type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands to run after - kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands to run before - kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic kubeadm command - with a shell script with retries for joins. \n This is meant to - be an experimental temporary workaround on some environments where - joins fail due to timing (and other issues). The long term goal - is to add retries to kubeadm proper and use that functionality. - \n This will add about 40KB to userdata \n For more information, - refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." type: boolean users: description: Users specifies extra users to add @@ -1894,20 +1341,16 @@ spec: description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups for the - user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory to use for - the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark the user as - inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password login should - be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name @@ -1916,15 +1359,13 @@ spec: description: Passwd specifies a hashed password for the user type: string primaryGroup: - description: PrimaryGroup specifies the primary group for the - user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list of ssh authorized - keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array @@ -1936,8 +1377,7 @@ spec: type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log level verbosity. - It overrides the `--v` flag in kubeadm commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object @@ -1947,41 +1387,26 @@ spec: conditions: description: Conditions defines current service state of the KubeadmConfig. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -1989,8 +1414,7 @@ spec: type: object type: array dataSecretName: - description: DataSecretName is the name of the secret that stores - the bootstrap data script. + description: DataSecretName is the name of the secret that stores the bootstrap data script. type: string failureMessage: description: FailureMessage will be set on non-retryable errors @@ -1999,13 +1423,11 @@ spec: description: FailureReason will be set on non-retryable errors type: string observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + description: ObservedGeneration is the latest generation observed by the controller. format: int64 type: integer ready: - description: Ready indicates the BootstrapData field is ready to be - consumed + description: Ready indicates the BootstrapData field is ready to be consumed type: boolean type: object type: object @@ -2028,58 +1450,42 @@ spec: description: KubeadmConfig is the Schema for the kubeadmconfigs API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: - description: KubeadmConfigSpec defines the desired state of KubeadmConfig. - Either ClusterConfiguration and InitConfiguration should be defined - or the JoinConfiguration should be defined. + description: KubeadmConfigSpec defines the desired state of KubeadmConfig. Either ClusterConfiguration and InitConfiguration should be defined or the JoinConfiguration should be defined. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration are - the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for the API server - control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative Names - for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and - ideally we would like to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that will - be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod where - hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -2097,65 +1503,39 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the timeout that - we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store or look - for all required certificates. NB: if not provided, this will - default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP address or - DNS name for the control plane; it can be a valid IP address - or a RFC-1123 DNS subdomain, both with optional TCP port. In - case the ControlPlaneEndpoint is not specified, the AdvertiseAddress - + BindPort are used; in case the ControlPlaneEndpoint is specified - but without a TCP port, the BindPort is used. Possible usages - are: e.g. In a cluster with more than one control plane instances, - this field should be assigned the address of the external load - balancer in front of the control plane instances. e.g. in environments - with enforced node recycling, the ControlPlaneEndpoint could - be used for assigning a stable DNS to the control plane. NB: - This value defaults to the first value in the Cluster object - status.apiEndpoints array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings for the - controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and - ideally we would like to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that will - be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod where - hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -2174,37 +1554,26 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on installed - in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container registry to - pull images from. if not set, the ImageRepository defined - in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for the image. - In case this value is set, kubeadm does not change automatically - the version of the above components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: This value - defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect to an external - etcd cluster Local and External are mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate Authority file - used to secure etcd communication. Required if using - a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification file used - to secure etcd communication. Required if using a TLS - connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: description: Endpoints of etcd members. Required for ExternalEtcd. @@ -2212,8 +1581,7 @@ spec: type: string type: array keyFile: - description: KeyFile is an SSL key file used to secure - etcd communication. Required if using a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -2222,40 +1590,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs for configuring - the local etcd instance Local and External are mutually - exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd will place - its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments provided to - the etcd binary when run inside a static pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for the - image. In case this value is set, kubeadm does not change - automatically the version of the above components during - upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject Alternative - Names for the etcd server signing cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -2267,72 +1624,45 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry to pull - images from. If empty, `registry.k8s.io` will be used by default; - in case of kubernetes version is a CI build (kubernetes version - starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` - will be used as a default for control plane components and for - kube-proxy, while `registry.k8s.io` will be used for all the - other images. + description: ImageRepository sets the container registry to pull images from. If empty, `registry.k8s.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `registry.k8s.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version of the control - plane. NB: This value defaults to the Machine object spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to the Cluster - object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used by k8s services. - Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. If unset, - the API server will not allocate CIDR ranges for every node. - Defaults to a comma-delimited string of the Cluster object's - spec.clusterNetwork.services.cidrBlocks if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used by k8s services. - Defaults to a comma-delimited string of the Cluster object's - spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" - if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for the scheduler - control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and - ideally we would like to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that will - be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod where - hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -2352,12 +1682,10 @@ spec: type: object type: object diskSetup: - description: DiskSetup specifies options for the creation of partition - tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file systems to - setup. + description: Filesystems specifies the list of file systems to setup. items: description: Filesystem defines the file systems to be created. properties: @@ -2365,8 +1693,7 @@ spec: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options to add to the - command for creating the file system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array @@ -2374,24 +1701,16 @@ spec: description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system label to be - used. If set to None, no label is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not to overwrite - any existing filesystem. If true, any pre-existing file - system will be destroyed. Use with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition to use. - The valid options are: "auto|any", "auto", "any", "none", - and , where NUM is the actual partition number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, used for - Microsoft Azure that instructs cloud-init to replace a - file system of . NOTE: unless you define a label, - this requires the use of the ''any'' partition directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -2400,8 +1719,7 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the partitions to - setup. + description: Partitions specifies the list of the partitions to setup. items: description: Partition defines how to create and layout a partition. properties: @@ -2409,21 +1727,13 @@ spec: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. If it is - true, a single partition will be created for the entire - device. When layout is false, it means don't partition - or ignore existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to skip checks - and create the partition if a partition or filesystem - is found on the device. Use with caution. Default is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of partition - table. The following are supported: ''mbr'': default and - setups a MS-DOS partition table ''gpt'': setups a GPT - partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -2432,34 +1742,27 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed to user_data - upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files in - cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: append: - description: Append specifies whether to append Content to existing - file if Path exists. + description: Append specifies whether to append Content to existing file if Path exists. type: boolean content: description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source of content to - populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that should populate - this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's data map - for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -2476,16 +1779,13 @@ spec: - gzip+base64 type: string owner: - description: Owner specifies the ownership of the file, e.g. - "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk where to store - the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions to assign - to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path @@ -2504,66 +1804,44 @@ spec: description: ContainerLinuxConfig contains CLC specific configuration. properties: additionalConfig: - description: "AdditionalConfig contains additional configuration - to be merged with the Ignition configuration generated by - the bootstrapper controller. More info: https://coreos.github.io/ignition/operator-notes/#config-merging - \n The data format is documented here: https://kinvolk.io/docs/flatcar-container-linux/latest/provisioning/cl-config/" + description: "AdditionalConfig contains additional configuration to be merged with the Ignition configuration generated by the bootstrapper controller. More info: https://coreos.github.io/ignition/operator-notes/#config-merging \n The data format is documented here: https://kinvolk.io/docs/flatcar-container-linux/latest/provisioning/cl-config/" type: string strict: - description: Strict controls if AdditionalConfig should be - strictly parsed. If so, warnings are treated as errors. + description: Strict controls if AdditionalConfig should be strictly parsed. If so, warnings are treated as errors. type: boolean type: object type: object initConfiguration: - description: InitConfiguration along with ClusterConfiguration are - the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm init` time - and describes a set of Bootstrap Tokens to create. This information - IS NOT uploaded to the kubeadm cluster configmap, partly because - of its sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap token, stored - as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly message why - this token exists and what it's used for, so other administrators - can know its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp when this token - expires. Defaults to being set dynamically at runtime - based on the TTL. Expires and TTL are mutually exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups that this - token will authenticate as when/if used for authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing bidirectional - trust between nodes and control-planes. Used for joining - nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for this token. - Defaults to 24h. Expires and TTL are mutually exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which this token - can be used. Can by default be used for establishing bidirectional - trust, but that can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -2572,99 +1850,55 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint of the API - server instance that's deployed on this control plane node In - HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global endpoint - for the cluster, which then loadbalances the requests to each - individual API server. This configuration object lets you customize - what IP/DNS name and port the local API server advertises it's - accessible on. By default, kubeadm tries to auto-detect the - IP of the default interface and use that, but in case that process - fails you may set the desired value here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address for the - API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the API Server - to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object nodeRegistration: - description: NodeRegistration holds fields that relate to registering - the new control-plane node to the cluster. When used in the - context of control plane nodes, NodeRegistration should remain - consistent across both InitConfiguration and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node API - object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice of pre-flight - errors to be ignored when the current node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the kubelet - command line via the environment file kubeadm writes at - runtime for the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X ConfigMap - Flags have higher priority when parsing. These values are - local and specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the Node - API object that will be created in this `kubeadm init` or - `kubeadm join` operation. This field is also used in the - CommonName field of the kubelet's client certificate to - the API server. Defaults to the hostname of the node if - not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API object - should be registered with. If this field is unset, i.e. - nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. If - you don''t want to taint your control-plane node, set this - field to an empty slice, i.e. `taints: []` in the YAML file. - This field is solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: []` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has the - "effect" on any pod that does not tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on pods - that do not tolerate the taint. Valid effects are - NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied to - a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the taint - key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -2673,122 +1907,70 @@ spec: type: array type: object patches: - description: Patches contains options related to applying patches - to components deployed by kubeadm during "kubeadm init". The - minimum kubernetes version needed to support Patches is v1.22 + description: Patches contains options related to applying patches to components deployed by kubeadm during "kubeadm init". The minimum kubernetes version needed to support Patches is v1.22 properties: directory: - description: Directory is a path to a directory that contains - files named "target[suffix][+patchtype].extension". For - example, "kube-apiserver0+merge.yaml" or just "etcd.json". - "target" can be one of "kube-apiserver", "kube-controller-manager", - "kube-scheduler", "etcd". "patchtype" can be one of "strategic" - "merge" or "json" and they match the patch formats supported - by kubectl. The default "patchtype" is "strategic". "extension" - must be either "json" or "yaml". "suffix" is an optional - string that can be used to determine which patches are applied - first alpha-numerically. These files can be written into - the target directory via KubeadmConfig.Files which specifies - additional files to be created on the machine, either with - content inline or by referencing a secret. + description: Directory is a path to a directory that contains files named "target[suffix][+patchtype].extension". For example, "kube-apiserver0+merge.yaml" or just "etcd.json". "target" can be one of "kube-apiserver", "kube-controller-manager", "kube-scheduler", "etcd". "patchtype" can be one of "strategic" "merge" or "json" and they match the patch formats supported by kubectl. The default "patchtype" is "strategic". "extension" must be either "json" or "yaml". "suffix" is an optional string that can be used to determine which patches are applied first alpha-numerically. These files can be written into the target directory via KubeadmConfig.Files which specifies additional files to be created on the machine, either with content inline or by referencing a secret. type: string type: object skipPhases: - description: SkipPhases is a list of phases to skip during command - execution. The list of phases can be obtained with the "kubeadm - init --help" command. This option takes effect only on Kubernetes - >=1.22.0. + description: SkipPhases is a list of phases to skip during command execution. The list of phases can be obtained with the "kubeadm init --help" command. This option takes effect only on Kubernetes >=1.22.0. items: type: string type: array type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration for the - join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate authority - used to secure comunications between node and control-plane. - Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when - there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control plane - instance to be deployed on the joining node. If nil, no additional - control plane instance will be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint of the - API server instance to be deployed on this node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address for - the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the API - Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object type: object discovery: - description: 'Discovery specifies the options for the kubelet - to use during the TLS Bootstrap process TODO: revisit when there - is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the options for - bootstrap token based discovery BootstrapToken and File - are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or domain name - to the API server from which info will be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set of public key - pins to verify when token-based discovery is used. The - root CA found during discovery must match one of these - values. Specifying an empty set disables root CA pinning, - which can be unsafe. Each hash is specified as ":", - where the only currently supported type is "sha256". - This is a hex-encoded SHA-256 hash of the Subject Public - Key Info (SPKI) object in DER-encoded ASN.1. These hashes - can be calculated using, for example, OpenSSL: openssl - x509 -pubkey -in ca.crt openssl rsa -pubin -outform - der 2>&/dev/null | openssl dgst -sha256 -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate cluster - information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since other - nodes can impersonate the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token type: object file: - description: File is used to specify a file or URL to a kubeconfig - file from which to load cluster information BootstrapToken - and File are mutually exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify the actual - file path or URL to the kubeconfig file from which to - load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -2797,85 +1979,48 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: TLSBootstrapToken is a token used for TLS bootstrapping. - If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, - but can be overridden. If .File is set, this field **must - be set** in case the KubeConfigFile does not contain any - other authentication information + description: TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information type: string type: object kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate to registering - the new control-plane node to the cluster. When used in the - context of control plane nodes, NodeRegistration should remain - consistent across both InitConfiguration and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node API - object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice of pre-flight - errors to be ignored when the current node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the kubelet - command line via the environment file kubeadm writes at - runtime for the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X ConfigMap - Flags have higher priority when parsing. These values are - local and specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the Node - API object that will be created in this `kubeadm init` or - `kubeadm join` operation. This field is also used in the - CommonName field of the kubelet's client certificate to - the API server. Defaults to the hostname of the node if - not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API object - should be registered with. If this field is unset, i.e. - nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. If - you don''t want to taint your control-plane node, set this - field to an empty slice, i.e. `taints: []` in the YAML file. - This field is solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: []` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has the - "effect" on any pod that does not tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on pods - that do not tolerate the taint. Valid effects are - NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied to - a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the taint - key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -2884,31 +2029,14 @@ spec: type: array type: object patches: - description: Patches contains options related to applying patches - to components deployed by kubeadm during "kubeadm join". The - minimum kubernetes version needed to support Patches is v1.22 + description: Patches contains options related to applying patches to components deployed by kubeadm during "kubeadm join". The minimum kubernetes version needed to support Patches is v1.22 properties: directory: - description: Directory is a path to a directory that contains - files named "target[suffix][+patchtype].extension". For - example, "kube-apiserver0+merge.yaml" or just "etcd.json". - "target" can be one of "kube-apiserver", "kube-controller-manager", - "kube-scheduler", "etcd". "patchtype" can be one of "strategic" - "merge" or "json" and they match the patch formats supported - by kubectl. The default "patchtype" is "strategic". "extension" - must be either "json" or "yaml". "suffix" is an optional - string that can be used to determine which patches are applied - first alpha-numerically. These files can be written into - the target directory via KubeadmConfig.Files which specifies - additional files to be created on the machine, either with - content inline or by referencing a secret. + description: Directory is a path to a directory that contains files named "target[suffix][+patchtype].extension". For example, "kube-apiserver0+merge.yaml" or just "etcd.json". "target" can be one of "kube-apiserver", "kube-controller-manager", "kube-scheduler", "etcd". "patchtype" can be one of "strategic" "merge" or "json" and they match the patch formats supported by kubectl. The default "patchtype" is "strategic". "extension" must be either "json" or "yaml". "suffix" is an optional string that can be used to determine which patches are applied first alpha-numerically. These files can be written into the target directory via KubeadmConfig.Files which specifies additional files to be created on the machine, either with content inline or by referencing a secret. type: string type: object skipPhases: - description: SkipPhases is a list of phases to skip during command - execution. The list of phases can be obtained with the "kubeadm - init --help" command. This option takes effect only on Kubernetes - >=1.22.0. + description: SkipPhases is a list of phases to skip during command execution. The list of phases can be obtained with the "kubeadm init --help" command. This option takes effect only on Kubernetes >=1.22.0. items: type: string type: array @@ -2934,27 +2062,17 @@ spec: type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands to run after - kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands to run before - kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic kubeadm command - with a shell script with retries for joins. \n This is meant to - be an experimental temporary workaround on some environments where - joins fail due to timing (and other issues). The long term goal - is to add retries to kubeadm proper and use that functionality. - \n This will add about 40KB to userdata \n For more information, - refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055. - Deprecated: This experimental fix is no longer needed and this field - will be removed in a future release." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055. Deprecated: This experimental fix is no longer needed and this field will be removed in a future release." type: boolean users: description: Users specifies extra users to add @@ -2965,20 +2083,16 @@ spec: description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups for the - user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory to use for - the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark the user as - inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password login should - be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name @@ -2987,20 +2101,16 @@ spec: description: Passwd specifies a hashed password for the user type: string passwdFrom: - description: PasswdFrom is a referenced source of passwd to - populate the passwd. + description: PasswdFrom is a referenced source of passwd to populate the passwd. properties: secret: - description: Secret represents a secret that should populate - this password. + description: Secret represents a secret that should populate this password. properties: key: - description: Key is the key in the secret's data map - for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -3010,15 +2120,13 @@ spec: - secret type: object primaryGroup: - description: PrimaryGroup specifies the primary group for the - user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list of ssh authorized - keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array @@ -3030,8 +2138,7 @@ spec: type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log level verbosity. - It overrides the `--v` flag in kubeadm commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object @@ -3041,41 +2148,26 @@ spec: conditions: description: Conditions defines current service state of the KubeadmConfig. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -3084,8 +2176,7 @@ spec: type: object type: array dataSecretName: - description: DataSecretName is the name of the secret that stores - the bootstrap data script. + description: DataSecretName is the name of the secret that stores the bootstrap data script. type: string failureMessage: description: FailureMessage will be set on non-retryable errors @@ -3094,13 +2185,11 @@ spec: description: FailureReason will be set on non-retryable errors type: string observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + description: ObservedGeneration is the latest generation observed by the controller. format: int64 type: integer ready: - description: Ready indicates the BootstrapData field is ready to be - consumed + description: Ready indicates the BootstrapData field is ready to be consumed type: boolean type: object type: object @@ -3147,18 +2236,13 @@ spec: - name: v1alpha3 schema: openAPIV3Schema: - description: KubeadmConfigTemplate is the Schema for the kubeadmconfigtemplates - API. + description: KubeadmConfigTemplate is the Schema for the kubeadmconfigtemplates API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -3169,57 +2253,43 @@ spec: description: KubeadmConfigTemplateResource defines the Template structure. properties: spec: - description: KubeadmConfigSpec defines the desired state of KubeadmConfig. - Either ClusterConfiguration and InitConfiguration should be - defined or the JoinConfiguration should be defined. + description: KubeadmConfigSpec defines the desired state of KubeadmConfig. Either ClusterConfiguration and InitConfiguration should be defined or the JoinConfiguration should be defined. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration - are the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for the - API server control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative - Names for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This - is temporary and ideally we would like to switch - all components to use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host - that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the - pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the pod - template. + description: Name of the volume inside the pod template. type: string pathType: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -3228,78 +2298,48 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the timeout - that we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal value, - and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store - or look for all required certificates. NB: if not provided, - this will default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP address - or DNS name for the control plane; it can be a valid - IP address or a RFC-1123 DNS subdomain, both with optional - TCP port. In case the ControlPlaneEndpoint is not specified, - the AdvertiseAddress + BindPort are used; in case the - ControlPlaneEndpoint is specified but without a TCP - port, the BindPort is used. Possible usages are: e.g. - In a cluster with more than one control plane instances, - this field should be assigned the address of the external - load balancer in front of the control plane instances. - e.g. in environments with enforced node recycling, - the ControlPlaneEndpoint could be used for assigning - a stable DNS to the control plane. NB: This value defaults - to the first value in the Cluster object status.apiEndpoints - array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings - for the controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This - is temporary and ideally we would like to switch - all components to use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host - that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the - pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the pod - template. + description: Name of the volume inside the pod template. type: string pathType: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -3309,53 +2349,37 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on - installed in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for - the image. In case this value is set, kubeadm does - not change automatically the version of the above - components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: description: Type defines the DNS add-on to be used type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: This - value defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect to - an external etcd cluster Local and External are - mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate Authority - file used to secure etcd communication. Required - if using a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification - file used to secure etcd communication. Required - if using a TLS connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: - description: Endpoints of etcd members. Required - for ExternalEtcd. + description: Endpoints of etcd members. Required for ExternalEtcd. items: type: string type: array keyFile: - description: KeyFile is an SSL key file used to - secure etcd communication. Required if using - a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -3364,43 +2388,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs for - configuring the local etcd instance Local and External - are mutually exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd will - place its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments provided - to the etcd binary when run inside a static - pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container - registry to pull images from. if not set, the - ImageRepository defined in ClusterConfiguration - will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag - for the image. In case this value is set, kubeadm - does not change automatically the version of - the above components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject - Alternative Names for the etcd server signing - cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -3412,85 +2422,54 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. If empty, `k8s.gcr.io` will be - used by default; in case of kubernetes version is a - CI build (kubernetes version starts with `ci/` or `ci-cross/`) - `gcr.io/k8s-staging-ci-images` will be used as a default - for control plane components and for kube-proxy, while - `k8s.gcr.io` will be used for all the other images. + description: ImageRepository sets the container registry to pull images from. If empty, `k8s.gcr.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `k8s.gcr.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing the - REST resource this object represents. Servers may infer - this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version - of the control plane. NB: This value defaults to the - Machine object spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to - the Cluster object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used by k8s - services. Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. - If unset, the API server will not allocate CIDR - ranges for every node. Defaults to a comma-delimited - string of the Cluster object's spec.clusterNetwork.services.cidrBlocks - if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used by k8s - services. Defaults to a comma-delimited string of - the Cluster object's spec.clusterNetwork.pods.cidrBlocks, - or to "10.96.0.0/12" if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for the - scheduler control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This - is temporary and ideally we would like to switch - all components to use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host - that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the - pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the pod - template. + description: Name of the volume inside the pod template. type: string pathType: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -3500,57 +2479,39 @@ spec: type: array type: object useHyperKubeImage: - description: UseHyperKubeImage controls if hyperkube should - be used for Kubernetes components instead of their respective - separate images + description: UseHyperKubeImage controls if hyperkube should be used for Kubernetes components instead of their respective separate images type: boolean type: object diskSetup: - description: DiskSetup specifies options for the creation - of partition tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file systems - to setup. + description: Filesystems specifies the list of file systems to setup. items: - description: Filesystem defines the file systems to - be created. + description: Filesystem defines the file systems to be created. properties: device: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options to - add to the command for creating the file system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array filesystem: - description: Filesystem specifies the file system - type. + description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system label - to be used. If set to None, no label is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not to - overwrite any existing filesystem. If true, any - pre-existing file system will be destroyed. Use - with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition - to use. The valid options are: "auto|any", "auto", - "any", "none", and , where NUM is the actual - partition number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, - used for Microsoft Azure that instructs cloud-init - to replace a file system of . NOTE: unless - you define a label, this requires the use of the - ''any'' partition directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -3559,32 +2520,21 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the partitions - to setup. + description: Partitions specifies the list of the partitions to setup. items: - description: Partition defines how to create and layout - a partition. + description: Partition defines how to create and layout a partition. properties: device: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. - If it is true, a single partition will be created - for the entire device. When layout is false, it - means don't partition or ignore existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to skip - checks and create the partition if a partition - or filesystem is found on the device. Use with - caution. Default is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of partition - table. The following are supported: ''mbr'': default - and setups a MS-DOS partition table ''gpt'': setups - a GPT partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -3593,30 +2543,24 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed to user_data - upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files - in cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: content: description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source of content - to populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that should - populate this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's - data map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -3626,88 +2570,61 @@ spec: - secret type: object encoding: - description: Encoding specifies the encoding of the - file contents. + description: Encoding specifies the encoding of the file contents. enum: - base64 - gzip - gzip+base64 type: string owner: - description: Owner specifies the ownership of the file, - e.g. "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk where - to store the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions to - assign to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path type: object type: array format: - description: Format specifies the output format of the bootstrap - data + description: Format specifies the output format of the bootstrap data enum: - cloud-config type: string initConfiguration: - description: InitConfiguration along with ClusterConfiguration - are the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal value, - and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm - init` time and describes a set of Bootstrap Tokens to - create. This information IS NOT uploaded to the kubeadm - cluster configmap, partly because of its sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap - token, stored as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly message - why this token exists and what it's used for, - so other administrators can know its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp when - this token expires. Defaults to being set dynamically - at runtime based on the TTL. Expires and TTL are - mutually exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups that - this token will authenticate as when/if used for - authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing bidirectional - trust between nodes and control-planes. Used for - joining nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for this - token. Defaults to 24h. Expires and TTL are mutually - exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which - this token can be used. Can by default be used - for establishing bidirectional trust, but that - can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -3716,31 +2633,16 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing the - REST resource this object represents. Servers may infer - this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance that's deployed on this control - plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global - endpoint for the cluster, which then loadbalances the - requests to each individual API server. This configuration - object lets you customize what IP/DNS name and port - the local API server advertises it's accessible on. - By default, kubeadm tries to auto-detect the IP of the - default interface and use that, but in case that process - fails you may set the desired value here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the - API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer required: @@ -3748,70 +2650,36 @@ spec: - bindPort type: object nodeRegistration: - description: NodeRegistration holds fields that relate - to registering the new control-plane node to the cluster. - When used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration - and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here are - passed to the kubelet command line via the environment - file kubeadm writes at runtime for the kubelet to - source. This overrides the generic base-level configuration - in the kubelet-config-1.X ConfigMap Flags have higher - priority when parsing. These values are local and - specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of - the Node API object that will be created in this - `kubeadm init` or `kubeadm join` operation. This - field is also used in the CommonName field of the - kubelet's client certificate to the API server. - Defaults to the hostname of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node - API object should be registered with. If this field - is unset, i.e. nil, in the `kubeadm init` process - it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: - {}` in the YAML file. This field is solely used - for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to - has the "effect" on any pod that does not tolerate - the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint - on pods that do not tolerate the taint. Valid - effects are NoSchedule, PreferNoSchedule and - NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at - which the taint was added. It is only written - for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to - the taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -3821,38 +2689,25 @@ spec: type: object type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration - for the join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal value, - and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate - authority used to secure comunications between node - and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". - TODO: revisit when there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control - plane instance to be deployed on the joining node. If - nil, no additional control plane instance will be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance to be deployed on this - node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for - the API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer required: @@ -3861,61 +2716,34 @@ spec: type: object type: object discovery: - description: 'Discovery specifies the options for the - kubelet to use during the TLS Bootstrap process TODO: - revisit when there is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the options - for bootstrap token based discovery BootstrapToken - and File are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or domain - name to the API server from which info will - be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set of - public key pins to verify when token-based discovery - is used. The root CA found during discovery - must match one of these values. Specifying an - empty set disables root CA pinning, which can - be unsafe. Each hash is specified as ":", - where the only currently supported type is "sha256". - This is a hex-encoded SHA-256 hash of the Subject - Public Key Info (SPKI) object in DER-encoded - ASN.1. These hashes can be calculated using, - for example, OpenSSL: openssl x509 -pubkey -in - ca.crt openssl rsa -pubin -outform der 2>&/dev/null - | openssl dgst -sha256 -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate - cluster information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since - other nodes can impersonate the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token - unsafeSkipCAVerification type: object file: - description: File is used to specify a file or URL - to a kubeconfig file from which to load cluster - information BootstrapToken and File are mutually - exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify - the actual file path or URL to the kubeconfig - file from which to load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -3924,86 +2752,43 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: 'TLSBootstrapToken is a token used for - TLS bootstrapping. If .BootstrapToken is set, this - field is defaulted to .BootstrapToken.Token, but - can be overridden. If .File is set, this field **must - be set** in case the KubeConfigFile does not contain - any other authentication information TODO: revisit - when there is defaulting from k/k' + description: 'TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information TODO: revisit when there is defaulting from k/k' type: string type: object kind: - description: 'Kind is a string value representing the - REST resource this object represents. Servers may infer - this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate - to registering the new control-plane node to the cluster. - When used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration - and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here are - passed to the kubelet command line via the environment - file kubeadm writes at runtime for the kubelet to - source. This overrides the generic base-level configuration - in the kubelet-config-1.X ConfigMap Flags have higher - priority when parsing. These values are local and - specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of - the Node API object that will be created in this - `kubeadm init` or `kubeadm join` operation. This - field is also used in the CommonName field of the - kubelet's client certificate to the API server. - Defaults to the hostname of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node - API object should be registered with. If this field - is unset, i.e. nil, in the `kubeadm init` process - it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: - {}` in the YAML file. This field is solely used - for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to - has the "effect" on any pod that does not tolerate - the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint - on pods that do not tolerate the taint. Valid - effects are NoSchedule, PreferNoSchedule and - NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at - which the taint was added. It is only written - for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to - the taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -4013,11 +2798,9 @@ spec: type: object type: object mounts: - description: Mounts specifies a list of mount points to be - setup. + description: Mounts specifies a list of mount points to be setup. items: - description: MountPoints defines input for generated mounts - in cloud-init. + description: MountPoints defines input for generated mounts in cloud-init. items: type: string type: array @@ -4035,69 +2818,52 @@ spec: type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands - to run after kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands to - run before kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic kubeadm - command with a shell script with retries for joins. \n This - is meant to be an experimental temporary workaround on some - environments where joins fail due to timing (and other issues). - The long term goal is to add retries to kubeadm proper and - use that functionality. \n This will add about 40KB to userdata - \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." type: boolean users: description: Users specifies extra users to add items: - description: User defines the input for a generated user - in cloud-init. + description: User defines the input for a generated user in cloud-init. properties: gecos: - description: Gecos specifies the gecos to use for the - user + description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups - for the user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory to - use for the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark the - user as inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password login - should be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name type: string passwd: - description: Passwd specifies a hashed password for - the user + description: Passwd specifies a hashed password for the user type: string primaryGroup: - description: PrimaryGroup specifies the primary group - for the user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list of ssh - authorized keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array @@ -4109,8 +2875,7 @@ spec: type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log level - verbosity. It overrides the `--v` flag in kubeadm commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object @@ -4129,18 +2894,13 @@ spec: name: v1alpha4 schema: openAPIV3Schema: - description: KubeadmConfigTemplate is the Schema for the kubeadmconfigtemplates - API. + description: KubeadmConfigTemplate is the Schema for the kubeadmconfigtemplates API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -4151,57 +2911,43 @@ spec: description: KubeadmConfigTemplateResource defines the Template structure. properties: spec: - description: KubeadmConfigSpec defines the desired state of KubeadmConfig. - Either ClusterConfiguration and InitConfiguration should be - defined or the JoinConfiguration should be defined. + description: KubeadmConfigSpec defines the desired state of KubeadmConfig. Either ClusterConfiguration and InitConfiguration should be defined or the JoinConfiguration should be defined. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration - are the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for the - API server control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative - Names for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This - is temporary and ideally we would like to switch - all components to use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host - that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the - pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the pod - template. + description: Name of the volume inside the pod template. type: string pathType: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -4210,78 +2956,48 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the timeout - that we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal value, - and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store - or look for all required certificates. NB: if not provided, - this will default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP address - or DNS name for the control plane; it can be a valid - IP address or a RFC-1123 DNS subdomain, both with optional - TCP port. In case the ControlPlaneEndpoint is not specified, - the AdvertiseAddress + BindPort are used; in case the - ControlPlaneEndpoint is specified but without a TCP - port, the BindPort is used. Possible usages are: e.g. - In a cluster with more than one control plane instances, - this field should be assigned the address of the external - load balancer in front of the control plane instances. - e.g. in environments with enforced node recycling, - the ControlPlaneEndpoint could be used for assigning - a stable DNS to the control plane. NB: This value defaults - to the first value in the Cluster object status.apiEndpoints - array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings - for the controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This - is temporary and ideally we would like to switch - all components to use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host - that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the - pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the pod - template. + description: Name of the volume inside the pod template. type: string pathType: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -4291,50 +3007,34 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on - installed in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for - the image. In case this value is set, kubeadm does - not change automatically the version of the above - components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: This - value defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect to - an external etcd cluster Local and External are - mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate Authority - file used to secure etcd communication. Required - if using a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification - file used to secure etcd communication. Required - if using a TLS connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: - description: Endpoints of etcd members. Required - for ExternalEtcd. + description: Endpoints of etcd members. Required for ExternalEtcd. items: type: string type: array keyFile: - description: KeyFile is an SSL key file used to - secure etcd communication. Required if using - a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -4343,43 +3043,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs for - configuring the local etcd instance Local and External - are mutually exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd will - place its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments provided - to the etcd binary when run inside a static - pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container - registry to pull images from. if not set, the - ImageRepository defined in ClusterConfiguration - will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag - for the image. In case this value is set, kubeadm - does not change automatically the version of - the above components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject - Alternative Names for the etcd server signing - cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -4391,86 +3077,54 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. If empty, `registry.k8s.io` will - be used by default; in case of kubernetes version is - a CI build (kubernetes version starts with `ci/` or - `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be - used as a default for control plane components and for - kube-proxy, while `registry.k8s.io` will be used for - all the other images. + description: ImageRepository sets the container registry to pull images from. If empty, `registry.k8s.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `registry.k8s.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing the - REST resource this object represents. Servers may infer - this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version - of the control plane. NB: This value defaults to the - Machine object spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to - the Cluster object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used by k8s - services. Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. - If unset, the API server will not allocate CIDR - ranges for every node. Defaults to a comma-delimited - string of the Cluster object's spec.clusterNetwork.services.cidrBlocks - if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used by k8s - services. Defaults to a comma-delimited string of - the Cluster object's spec.clusterNetwork.pods.cidrBlocks, - or to "10.96.0.0/12" if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for the - scheduler control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This - is temporary and ideally we would like to switch - all components to use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host - that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the - pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the pod - template. + description: Name of the volume inside the pod template. type: string pathType: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -4481,51 +3135,35 @@ spec: type: object type: object diskSetup: - description: DiskSetup specifies options for the creation - of partition tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file systems - to setup. + description: Filesystems specifies the list of file systems to setup. items: - description: Filesystem defines the file systems to - be created. + description: Filesystem defines the file systems to be created. properties: device: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options to - add to the command for creating the file system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array filesystem: - description: Filesystem specifies the file system - type. + description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system label - to be used. If set to None, no label is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not to - overwrite any existing filesystem. If true, any - pre-existing file system will be destroyed. Use - with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition - to use. The valid options are: "auto|any", "auto", - "any", "none", and , where NUM is the actual - partition number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, - used for Microsoft Azure that instructs cloud-init - to replace a file system of . NOTE: unless - you define a label, this requires the use of the - ''any'' partition directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -4534,32 +3172,21 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the partitions - to setup. + description: Partitions specifies the list of the partitions to setup. items: - description: Partition defines how to create and layout - a partition. + description: Partition defines how to create and layout a partition. properties: device: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. - If it is true, a single partition will be created - for the entire device. When layout is false, it - means don't partition or ignore existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to skip - checks and create the partition if a partition - or filesystem is found on the device. Use with - caution. Default is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of partition - table. The following are supported: ''mbr'': default - and setups a MS-DOS partition table ''gpt'': setups - a GPT partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -4568,30 +3195,24 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed to user_data - upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files - in cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: content: description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source of content - to populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that should - populate this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's - data map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -4601,88 +3222,61 @@ spec: - secret type: object encoding: - description: Encoding specifies the encoding of the - file contents. + description: Encoding specifies the encoding of the file contents. enum: - base64 - gzip - gzip+base64 type: string owner: - description: Owner specifies the ownership of the file, - e.g. "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk where - to store the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions to - assign to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path type: object type: array format: - description: Format specifies the output format of the bootstrap - data + description: Format specifies the output format of the bootstrap data enum: - cloud-config type: string initConfiguration: - description: InitConfiguration along with ClusterConfiguration - are the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal value, - and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm - init` time and describes a set of Bootstrap Tokens to - create. This information IS NOT uploaded to the kubeadm - cluster configmap, partly because of its sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap - token, stored as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly message - why this token exists and what it's used for, - so other administrators can know its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp when - this token expires. Defaults to being set dynamically - at runtime based on the TTL. Expires and TTL are - mutually exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups that - this token will authenticate as when/if used for - authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing bidirectional - trust between nodes and control-planes. Used for - joining nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for this - token. Defaults to 24h. Expires and TTL are mutually - exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which - this token can be used. Can by default be used - for establishing bidirectional trust, but that - can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -4691,106 +3285,55 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing the - REST resource this object represents. Servers may infer - this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance that's deployed on this control - plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global - endpoint for the cluster, which then loadbalances the - requests to each individual API server. This configuration - object lets you customize what IP/DNS name and port - the local API server advertises it's accessible on. - By default, kubeadm tries to auto-detect the IP of the - default interface and use that, but in case that process - fails you may set the desired value here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the - API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object nodeRegistration: - description: NodeRegistration holds fields that relate - to registering the new control-plane node to the cluster. - When used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration - and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice - of pre-flight errors to be ignored when the current - node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here are - passed to the kubelet command line via the environment - file kubeadm writes at runtime for the kubelet to - source. This overrides the generic base-level configuration - in the kubelet-config-1.X ConfigMap Flags have higher - priority when parsing. These values are local and - specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of - the Node API object that will be created in this - `kubeadm init` or `kubeadm join` operation. This - field is also used in the CommonName field of the - kubelet's client certificate to the API server. - Defaults to the hostname of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node - API object should be registered with. If this field - is unset, i.e. nil, in the `kubeadm init` process - it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: - {}` in the YAML file. This field is solely used - for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to - has the "effect" on any pod that does not tolerate - the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint - on pods that do not tolerate the taint. Valid - effects are NoSchedule, PreferNoSchedule and - NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at - which the taint was added. It is only written - for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to - the taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -4800,97 +3343,57 @@ spec: type: object type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration - for the join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal value, - and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate - authority used to secure comunications between node - and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". - TODO: revisit when there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control - plane instance to be deployed on the joining node. If - nil, no additional control plane instance will be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance to be deployed on this - node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for - the API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object type: object discovery: - description: 'Discovery specifies the options for the - kubelet to use during the TLS Bootstrap process TODO: - revisit when there is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the options - for bootstrap token based discovery BootstrapToken - and File are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or domain - name to the API server from which info will - be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set of - public key pins to verify when token-based discovery - is used. The root CA found during discovery - must match one of these values. Specifying an - empty set disables root CA pinning, which can - be unsafe. Each hash is specified as ":", - where the only currently supported type is "sha256". - This is a hex-encoded SHA-256 hash of the Subject - Public Key Info (SPKI) object in DER-encoded - ASN.1. These hashes can be calculated using, - for example, OpenSSL: openssl x509 -pubkey -in - ca.crt openssl rsa -pubin -outform der 2>&/dev/null - | openssl dgst -sha256 -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate - cluster information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since - other nodes can impersonate the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token type: object file: - description: File is used to specify a file or URL - to a kubeconfig file from which to load cluster - information BootstrapToken and File are mutually - exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify - the actual file path or URL to the kubeconfig - file from which to load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -4899,92 +3402,48 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: TLSBootstrapToken is a token used for - TLS bootstrapping. If .BootstrapToken is set, this - field is defaulted to .BootstrapToken.Token, but - can be overridden. If .File is set, this field **must - be set** in case the KubeConfigFile does not contain - any other authentication information + description: TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information type: string type: object kind: - description: 'Kind is a string value representing the - REST resource this object represents. Servers may infer - this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate - to registering the new control-plane node to the cluster. - When used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration - and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice - of pre-flight errors to be ignored when the current - node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here are - passed to the kubelet command line via the environment - file kubeadm writes at runtime for the kubelet to - source. This overrides the generic base-level configuration - in the kubelet-config-1.X ConfigMap Flags have higher - priority when parsing. These values are local and - specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of - the Node API object that will be created in this - `kubeadm init` or `kubeadm join` operation. This - field is also used in the CommonName field of the - kubelet's client certificate to the API server. - Defaults to the hostname of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node - API object should be registered with. If this field - is unset, i.e. nil, in the `kubeadm init` process - it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: - {}` in the YAML file. This field is solely used - for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to - has the "effect" on any pod that does not tolerate - the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint - on pods that do not tolerate the taint. Valid - effects are NoSchedule, PreferNoSchedule and - NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at - which the taint was added. It is only written - for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to - the taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -4994,11 +3453,9 @@ spec: type: object type: object mounts: - description: Mounts specifies a list of mount points to be - setup. + description: Mounts specifies a list of mount points to be setup. items: - description: MountPoints defines input for generated mounts - in cloud-init. + description: MountPoints defines input for generated mounts in cloud-init. items: type: string type: array @@ -5016,69 +3473,52 @@ spec: type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands - to run after kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands to - run before kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic kubeadm - command with a shell script with retries for joins. \n This - is meant to be an experimental temporary workaround on some - environments where joins fail due to timing (and other issues). - The long term goal is to add retries to kubeadm proper and - use that functionality. \n This will add about 40KB to userdata - \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." type: boolean users: description: Users specifies extra users to add items: - description: User defines the input for a generated user - in cloud-init. + description: User defines the input for a generated user in cloud-init. properties: gecos: - description: Gecos specifies the gecos to use for the - user + description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups - for the user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory to - use for the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark the - user as inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password login - should be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name type: string passwd: - description: Passwd specifies a hashed password for - the user + description: Passwd specifies a hashed password for the user type: string primaryGroup: - description: PrimaryGroup specifies the primary group - for the user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list of ssh - authorized keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array @@ -5090,8 +3530,7 @@ spec: type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log level - verbosity. It overrides the `--v` flag in kubeadm commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object @@ -5111,18 +3550,13 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: KubeadmConfigTemplate is the Schema for the kubeadmconfigtemplates - API. + description: KubeadmConfigTemplate is the Schema for the kubeadmconfigtemplates API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -5133,57 +3567,43 @@ spec: description: KubeadmConfigTemplateResource defines the Template structure. properties: spec: - description: KubeadmConfigSpec defines the desired state of KubeadmConfig. - Either ClusterConfiguration and InitConfiguration should be - defined or the JoinConfiguration should be defined. + description: KubeadmConfigSpec defines the desired state of KubeadmConfig. Either ClusterConfiguration and InitConfiguration should be defined or the JoinConfiguration should be defined. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration - are the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for the - API server control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative - Names for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This - is temporary and ideally we would like to switch - all components to use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host - that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the - pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the pod - template. + description: Name of the volume inside the pod template. type: string pathType: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -5192,78 +3612,48 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the timeout - that we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal value, - and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store - or look for all required certificates. NB: if not provided, - this will default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP address - or DNS name for the control plane; it can be a valid - IP address or a RFC-1123 DNS subdomain, both with optional - TCP port. In case the ControlPlaneEndpoint is not specified, - the AdvertiseAddress + BindPort are used; in case the - ControlPlaneEndpoint is specified but without a TCP - port, the BindPort is used. Possible usages are: e.g. - In a cluster with more than one control plane instances, - this field should be assigned the address of the external - load balancer in front of the control plane instances. - e.g. in environments with enforced node recycling, - the ControlPlaneEndpoint could be used for assigning - a stable DNS to the control plane. NB: This value defaults - to the first value in the Cluster object status.apiEndpoints - array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings - for the controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This - is temporary and ideally we would like to switch - all components to use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host - that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the - pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the pod - template. + description: Name of the volume inside the pod template. type: string pathType: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -5273,50 +3663,34 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on - installed in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for - the image. In case this value is set, kubeadm does - not change automatically the version of the above - components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: This - value defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect to - an external etcd cluster Local and External are - mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate Authority - file used to secure etcd communication. Required - if using a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification - file used to secure etcd communication. Required - if using a TLS connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: - description: Endpoints of etcd members. Required - for ExternalEtcd. + description: Endpoints of etcd members. Required for ExternalEtcd. items: type: string type: array keyFile: - description: KeyFile is an SSL key file used to - secure etcd communication. Required if using - a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -5325,43 +3699,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs for - configuring the local etcd instance Local and External - are mutually exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd will - place its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments provided - to the etcd binary when run inside a static - pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container - registry to pull images from. if not set, the - ImageRepository defined in ClusterConfiguration - will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag - for the image. In case this value is set, kubeadm - does not change automatically the version of - the above components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject - Alternative Names for the etcd server signing - cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -5373,86 +3733,54 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. If empty, `registry.k8s.io` will - be used by default; in case of kubernetes version is - a CI build (kubernetes version starts with `ci/` or - `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be - used as a default for control plane components and for - kube-proxy, while `registry.k8s.io` will be used for - all the other images. + description: ImageRepository sets the container registry to pull images from. If empty, `registry.k8s.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `registry.k8s.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing the - REST resource this object represents. Servers may infer - this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version - of the control plane. NB: This value defaults to the - Machine object spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to - the Cluster object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used by k8s - services. Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. - If unset, the API server will not allocate CIDR - ranges for every node. Defaults to a comma-delimited - string of the Cluster object's spec.clusterNetwork.services.cidrBlocks - if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used by k8s - services. Defaults to a comma-delimited string of - the Cluster object's spec.clusterNetwork.pods.cidrBlocks, - or to "10.96.0.0/12" if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for the - scheduler control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This - is temporary and ideally we would like to switch - all components to use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host - that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the - pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the pod - template. + description: Name of the volume inside the pod template. type: string pathType: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -5463,51 +3791,35 @@ spec: type: object type: object diskSetup: - description: DiskSetup specifies options for the creation - of partition tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file systems - to setup. + description: Filesystems specifies the list of file systems to setup. items: - description: Filesystem defines the file systems to - be created. + description: Filesystem defines the file systems to be created. properties: device: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options to - add to the command for creating the file system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array filesystem: - description: Filesystem specifies the file system - type. + description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system label - to be used. If set to None, no label is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not to - overwrite any existing filesystem. If true, any - pre-existing file system will be destroyed. Use - with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition - to use. The valid options are: "auto|any", "auto", - "any", "none", and , where NUM is the actual - partition number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, - used for Microsoft Azure that instructs cloud-init - to replace a file system of . NOTE: unless - you define a label, this requires the use of the - ''any'' partition directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -5516,32 +3828,21 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the partitions - to setup. + description: Partitions specifies the list of the partitions to setup. items: - description: Partition defines how to create and layout - a partition. + description: Partition defines how to create and layout a partition. properties: device: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. - If it is true, a single partition will be created - for the entire device. When layout is false, it - means don't partition or ignore existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to skip - checks and create the partition if a partition - or filesystem is found on the device. Use with - caution. Default is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of partition - table. The following are supported: ''mbr'': default - and setups a MS-DOS partition table ''gpt'': setups - a GPT partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -5550,34 +3851,27 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed to user_data - upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files - in cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: append: - description: Append specifies whether to append Content - to existing file if Path exists. + description: Append specifies whether to append Content to existing file if Path exists. type: boolean content: description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source of content - to populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that should - populate this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's - data map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -5587,32 +3881,27 @@ spec: - secret type: object encoding: - description: Encoding specifies the encoding of the - file contents. + description: Encoding specifies the encoding of the file contents. enum: - base64 - gzip - gzip+base64 type: string owner: - description: Owner specifies the ownership of the file, - e.g. "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk where - to store the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions to - assign to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path type: object type: array format: - description: Format specifies the output format of the bootstrap - data + description: Format specifies the output format of the bootstrap data enum: - cloud-config - ignition @@ -5621,76 +3910,47 @@ spec: description: Ignition contains Ignition specific configuration. properties: containerLinuxConfig: - description: ContainerLinuxConfig contains CLC specific - configuration. + description: ContainerLinuxConfig contains CLC specific configuration. properties: additionalConfig: - description: "AdditionalConfig contains additional - configuration to be merged with the Ignition configuration - generated by the bootstrapper controller. More info: - https://coreos.github.io/ignition/operator-notes/#config-merging - \n The data format is documented here: https://kinvolk.io/docs/flatcar-container-linux/latest/provisioning/cl-config/" + description: "AdditionalConfig contains additional configuration to be merged with the Ignition configuration generated by the bootstrapper controller. More info: https://coreos.github.io/ignition/operator-notes/#config-merging \n The data format is documented here: https://kinvolk.io/docs/flatcar-container-linux/latest/provisioning/cl-config/" type: string strict: - description: Strict controls if AdditionalConfig should - be strictly parsed. If so, warnings are treated - as errors. + description: Strict controls if AdditionalConfig should be strictly parsed. If so, warnings are treated as errors. type: boolean type: object type: object initConfiguration: - description: InitConfiguration along with ClusterConfiguration - are the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal value, - and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm - init` time and describes a set of Bootstrap Tokens to - create. This information IS NOT uploaded to the kubeadm - cluster configmap, partly because of its sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap - token, stored as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly message - why this token exists and what it's used for, - so other administrators can know its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp when - this token expires. Defaults to being set dynamically - at runtime based on the TTL. Expires and TTL are - mutually exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups that - this token will authenticate as when/if used for - authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing bidirectional - trust between nodes and control-planes. Used for - joining nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for this - token. Defaults to 24h. Expires and TTL are mutually - exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which - this token can be used. Can by default be used - for establishing bidirectional trust, but that - can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -5699,106 +3959,55 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing the - REST resource this object represents. Servers may infer - this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance that's deployed on this control - plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global - endpoint for the cluster, which then loadbalances the - requests to each individual API server. This configuration - object lets you customize what IP/DNS name and port - the local API server advertises it's accessible on. - By default, kubeadm tries to auto-detect the IP of the - default interface and use that, but in case that process - fails you may set the desired value here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the - API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object nodeRegistration: - description: NodeRegistration holds fields that relate - to registering the new control-plane node to the cluster. - When used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration - and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice - of pre-flight errors to be ignored when the current - node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here are - passed to the kubelet command line via the environment - file kubeadm writes at runtime for the kubelet to - source. This overrides the generic base-level configuration - in the kubelet-config-1.X ConfigMap Flags have higher - priority when parsing. These values are local and - specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of - the Node API object that will be created in this - `kubeadm init` or `kubeadm join` operation. This - field is also used in the CommonName field of the - kubelet's client certificate to the API server. - Defaults to the hostname of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node - API object should be registered with. If this field - is unset, i.e. nil, in the `kubeadm init` process - it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: - []` in the YAML file. This field is solely used - for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: []` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to - has the "effect" on any pod that does not tolerate - the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint - on pods that do not tolerate the taint. Valid - effects are NoSchedule, PreferNoSchedule and - NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at - which the taint was added. It is only written - for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to - the taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -5807,130 +4016,70 @@ spec: type: array type: object patches: - description: Patches contains options related to applying - patches to components deployed by kubeadm during "kubeadm - init". The minimum kubernetes version needed to support - Patches is v1.22 + description: Patches contains options related to applying patches to components deployed by kubeadm during "kubeadm init". The minimum kubernetes version needed to support Patches is v1.22 properties: directory: - description: Directory is a path to a directory that - contains files named "target[suffix][+patchtype].extension". - For example, "kube-apiserver0+merge.yaml" or just - "etcd.json". "target" can be one of "kube-apiserver", - "kube-controller-manager", "kube-scheduler", "etcd". - "patchtype" can be one of "strategic" "merge" or - "json" and they match the patch formats supported - by kubectl. The default "patchtype" is "strategic". - "extension" must be either "json" or "yaml". "suffix" - is an optional string that can be used to determine - which patches are applied first alpha-numerically. - These files can be written into the target directory - via KubeadmConfig.Files which specifies additional - files to be created on the machine, either with - content inline or by referencing a secret. + description: Directory is a path to a directory that contains files named "target[suffix][+patchtype].extension". For example, "kube-apiserver0+merge.yaml" or just "etcd.json". "target" can be one of "kube-apiserver", "kube-controller-manager", "kube-scheduler", "etcd". "patchtype" can be one of "strategic" "merge" or "json" and they match the patch formats supported by kubectl. The default "patchtype" is "strategic". "extension" must be either "json" or "yaml". "suffix" is an optional string that can be used to determine which patches are applied first alpha-numerically. These files can be written into the target directory via KubeadmConfig.Files which specifies additional files to be created on the machine, either with content inline or by referencing a secret. type: string type: object skipPhases: - description: SkipPhases is a list of phases to skip during - command execution. The list of phases can be obtained - with the "kubeadm init --help" command. This option - takes effect only on Kubernetes >=1.22.0. + description: SkipPhases is a list of phases to skip during command execution. The list of phases can be obtained with the "kubeadm init --help" command. This option takes effect only on Kubernetes >=1.22.0. items: type: string type: array type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration - for the join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal value, - and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate - authority used to secure comunications between node - and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". - TODO: revisit when there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control - plane instance to be deployed on the joining node. If - nil, no additional control plane instance will be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance to be deployed on this - node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for - the API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object type: object discovery: - description: 'Discovery specifies the options for the - kubelet to use during the TLS Bootstrap process TODO: - revisit when there is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the options - for bootstrap token based discovery BootstrapToken - and File are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or domain - name to the API server from which info will - be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set of - public key pins to verify when token-based discovery - is used. The root CA found during discovery - must match one of these values. Specifying an - empty set disables root CA pinning, which can - be unsafe. Each hash is specified as ":", - where the only currently supported type is "sha256". - This is a hex-encoded SHA-256 hash of the Subject - Public Key Info (SPKI) object in DER-encoded - ASN.1. These hashes can be calculated using, - for example, OpenSSL: openssl x509 -pubkey -in - ca.crt openssl rsa -pubin -outform der 2>&/dev/null - | openssl dgst -sha256 -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate - cluster information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since - other nodes can impersonate the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token type: object file: - description: File is used to specify a file or URL - to a kubeconfig file from which to load cluster - information BootstrapToken and File are mutually - exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify - the actual file path or URL to the kubeconfig - file from which to load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -5939,92 +4088,48 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: TLSBootstrapToken is a token used for - TLS bootstrapping. If .BootstrapToken is set, this - field is defaulted to .BootstrapToken.Token, but - can be overridden. If .File is set, this field **must - be set** in case the KubeConfigFile does not contain - any other authentication information + description: TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information type: string type: object kind: - description: 'Kind is a string value representing the - REST resource this object represents. Servers may infer - this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate - to registering the new control-plane node to the cluster. - When used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration - and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice - of pre-flight errors to be ignored when the current - node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here are - passed to the kubelet command line via the environment - file kubeadm writes at runtime for the kubelet to - source. This overrides the generic base-level configuration - in the kubelet-config-1.X ConfigMap Flags have higher - priority when parsing. These values are local and - specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of - the Node API object that will be created in this - `kubeadm init` or `kubeadm join` operation. This - field is also used in the CommonName field of the - kubelet's client certificate to the API server. - Defaults to the hostname of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node - API object should be registered with. If this field - is unset, i.e. nil, in the `kubeadm init` process - it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: - []` in the YAML file. This field is solely used - for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: []` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to - has the "effect" on any pod that does not tolerate - the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint - on pods that do not tolerate the taint. Valid - effects are NoSchedule, PreferNoSchedule and - NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at - which the taint was added. It is only written - for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to - the taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -6033,44 +4138,22 @@ spec: type: array type: object patches: - description: Patches contains options related to applying - patches to components deployed by kubeadm during "kubeadm - join". The minimum kubernetes version needed to support - Patches is v1.22 + description: Patches contains options related to applying patches to components deployed by kubeadm during "kubeadm join". The minimum kubernetes version needed to support Patches is v1.22 properties: directory: - description: Directory is a path to a directory that - contains files named "target[suffix][+patchtype].extension". - For example, "kube-apiserver0+merge.yaml" or just - "etcd.json". "target" can be one of "kube-apiserver", - "kube-controller-manager", "kube-scheduler", "etcd". - "patchtype" can be one of "strategic" "merge" or - "json" and they match the patch formats supported - by kubectl. The default "patchtype" is "strategic". - "extension" must be either "json" or "yaml". "suffix" - is an optional string that can be used to determine - which patches are applied first alpha-numerically. - These files can be written into the target directory - via KubeadmConfig.Files which specifies additional - files to be created on the machine, either with - content inline or by referencing a secret. + description: Directory is a path to a directory that contains files named "target[suffix][+patchtype].extension". For example, "kube-apiserver0+merge.yaml" or just "etcd.json". "target" can be one of "kube-apiserver", "kube-controller-manager", "kube-scheduler", "etcd". "patchtype" can be one of "strategic" "merge" or "json" and they match the patch formats supported by kubectl. The default "patchtype" is "strategic". "extension" must be either "json" or "yaml". "suffix" is an optional string that can be used to determine which patches are applied first alpha-numerically. These files can be written into the target directory via KubeadmConfig.Files which specifies additional files to be created on the machine, either with content inline or by referencing a secret. type: string type: object skipPhases: - description: SkipPhases is a list of phases to skip during - command execution. The list of phases can be obtained - with the "kubeadm init --help" command. This option - takes effect only on Kubernetes >=1.22.0. + description: SkipPhases is a list of phases to skip during command execution. The list of phases can be obtained with the "kubeadm init --help" command. This option takes effect only on Kubernetes >=1.22.0. items: type: string type: array type: object mounts: - description: Mounts specifies a list of mount points to be - setup. + description: Mounts specifies a list of mount points to be setup. items: - description: MountPoints defines input for generated mounts - in cloud-init. + description: MountPoints defines input for generated mounts in cloud-init. items: type: string type: array @@ -6088,76 +4171,55 @@ spec: type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands - to run after kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands to - run before kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic kubeadm - command with a shell script with retries for joins. \n This - is meant to be an experimental temporary workaround on some - environments where joins fail due to timing (and other issues). - The long term goal is to add retries to kubeadm proper and - use that functionality. \n This will add about 40KB to userdata - \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055. - Deprecated: This experimental fix is no longer needed and - this field will be removed in a future release." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055. Deprecated: This experimental fix is no longer needed and this field will be removed in a future release." type: boolean users: description: Users specifies extra users to add items: - description: User defines the input for a generated user - in cloud-init. + description: User defines the input for a generated user in cloud-init. properties: gecos: - description: Gecos specifies the gecos to use for the - user + description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups - for the user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory to - use for the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark the - user as inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password login - should be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name type: string passwd: - description: Passwd specifies a hashed password for - the user + description: Passwd specifies a hashed password for the user type: string passwdFrom: - description: PasswdFrom is a referenced source of passwd - to populate the passwd. + description: PasswdFrom is a referenced source of passwd to populate the passwd. properties: secret: - description: Secret represents a secret that should - populate this password. + description: Secret represents a secret that should populate this password. properties: key: - description: Key is the key in the secret's - data map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -6167,15 +4229,13 @@ spec: - secret type: object primaryGroup: - description: PrimaryGroup specifies the primary group - for the user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list of ssh - authorized keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array @@ -6187,8 +4247,7 @@ spec: type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log level - verbosity. It overrides the `--v` flag in kubeadm commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object @@ -6358,8 +4417,8 @@ spec: - --namespace=test2 - --leader-elect - --metrics-bind-addr=localhost:8080 - # - --feature-gates=MachinePool=${EXP_MACHINE_POOL:=false},KubeadmBootstrapFormatIgnition=${EXP_KUBEADM_BOOTSTRAP_FORMAT_IGNITION:=false} - #- --bootstrap-token-ttl=${KUBEADM_BOOTSTRAP_TOKEN_TTL:=15m} + # - --feature-gates=MachinePool=${EXP_MACHINE_POOL:=false},KubeadmBootstrapFormatIgnition=${EXP_KUBEADM_BOOTSTRAP_FORMAT_IGNITION:=false} + #- --bootstrap-token-ttl=${KUBEADM_BOOTSTRAP_TOKEN_TTL:=15m} command: - /manager image: gcr.io/k8s-staging-cluster-api/kubeadm-bootstrap-controller:main diff --git a/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/kubeadm.yaml b/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/kubeadm.yaml index bffeb197..ae4c5cf2 100644 --- a/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/kubeadm.yaml +++ b/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/kubeadm.yaml @@ -44,8 +44,7 @@ spec: scope: Namespaced versions: - additionalPrinterColumns: - - description: This denotes whether or not the control plane has the uploaded - kubeadm-config configmap + - description: This denotes whether or not the control plane has the uploaded kubeadm-config configmap jsonPath: .status.initialized name: Initialized type: boolean @@ -57,8 +56,7 @@ spec: jsonPath: .spec.version name: Version type: string - - description: Total number of non-terminated machines targeted by this control - plane + - description: Total number of non-terminated machines targeted by this control plane jsonPath: .status.replicas name: Replicas type: integer @@ -66,8 +64,7 @@ spec: jsonPath: .status.readyReplicas name: Ready type: integer - - description: Total number of non-terminated machines targeted by this control - plane that have the desired template spec + - description: Total number of non-terminated machines targeted by this control plane that have the desired template spec jsonPath: .status.updatedReplicas name: Updated type: integer @@ -78,18 +75,13 @@ spec: name: v1alpha3 schema: openAPIV3Schema: - description: KubeadmControlPlane is the Schema for the KubeadmControlPlane - API. + description: KubeadmControlPlane is the Schema for the KubeadmControlPlane API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -97,24 +89,13 @@ spec: description: KubeadmControlPlaneSpec defines the desired state of KubeadmControlPlane. properties: infrastructureTemplate: - description: InfrastructureTemplate is a required reference to a custom - resource offered by an infrastructure provider. + description: InfrastructureTemplate 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.' + 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' @@ -126,8 +107,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -135,45 +115,34 @@ spec: type: object x-kubernetes-map-type: atomic kubeadmConfigSpec: - description: KubeadmConfigSpec is a KubeadmConfigSpec to use for initializing - and joining machines to the control plane. + description: KubeadmConfigSpec is a KubeadmConfigSpec to use for initializing and joining machines to the control plane. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration - are the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for the API - server control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative Names - for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass - to the control plane component. TODO: This is temporary - and ideally we would like to switch all components to - use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that - will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod - where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -182,8 +151,7 @@ spec: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to the - volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -192,66 +160,39 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the timeout - that we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store or - look for all required certificates. NB: if not provided, - this will default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP address - or DNS name for the control plane; it can be a valid IP - address or a RFC-1123 DNS subdomain, both with optional - TCP port. In case the ControlPlaneEndpoint is not specified, - the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint - is specified but without a TCP port, the BindPort is used. - Possible usages are: e.g. In a cluster with more than one - control plane instances, this field should be assigned the - address of the external load balancer in front of the control - plane instances. e.g. in environments with enforced node - recycling, the ControlPlaneEndpoint could be used for assigning - a stable DNS to the control plane. NB: This value defaults - to the first value in the Cluster object status.apiEndpoints - array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings for - the controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass - to the control plane component. TODO: This is temporary - and ideally we would like to switch all components to - use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that - will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod - where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -260,8 +201,7 @@ spec: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to the - volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -271,51 +211,37 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on installed - in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for the - image. In case this value is set, kubeadm does not change - automatically the version of the above components during - upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: description: Type defines the DNS add-on to be used type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: This - value defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect to an external - etcd cluster Local and External are mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate Authority - file used to secure etcd communication. Required - if using a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification file - used to secure etcd communication. Required if using - a TLS connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: - description: Endpoints of etcd members. Required for - ExternalEtcd. + description: Endpoints of etcd members. Required for ExternalEtcd. items: type: string type: array keyFile: - description: KeyFile is an SSL key file used to secure - etcd communication. Required if using a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -324,40 +250,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs for configuring - the local etcd instance Local and External are mutually - exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd will place - its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments provided - to the etcd binary when run inside a static pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for - the image. In case this value is set, kubeadm does - not change automatically the version of the above - components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject Alternative - Names for the etcd server signing cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -369,74 +284,45 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry to - pull images from. If empty, `k8s.gcr.io` will be used by - default; in case of kubernetes version is a CI build (kubernetes - version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` - will be used as a default for control plane components and - for kube-proxy, while `k8s.gcr.io` will be used for all - the other images. + description: ImageRepository sets the container registry to pull images from. If empty, `k8s.gcr.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `k8s.gcr.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version of the - control plane. NB: This value defaults to the Machine object - spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to the - Cluster object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used by k8s services. - Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. If - unset, the API server will not allocate CIDR ranges - for every node. Defaults to a comma-delimited string - of the Cluster object's spec.clusterNetwork.services.cidrBlocks - if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used by k8s services. - Defaults to a comma-delimited string of the Cluster - object's spec.clusterNetwork.pods.cidrBlocks, or to - "10.96.0.0/12" if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for the scheduler - control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass - to the control plane component. TODO: This is temporary - and ideally we would like to switch all components to - use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that - will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod - where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -445,8 +331,7 @@ spec: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to the - volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -456,18 +341,14 @@ spec: type: array type: object useHyperKubeImage: - description: UseHyperKubeImage controls if hyperkube should - be used for Kubernetes components instead of their respective - separate images + description: UseHyperKubeImage controls if hyperkube should be used for Kubernetes components instead of their respective separate images type: boolean type: object diskSetup: - description: DiskSetup specifies options for the creation of partition - tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file systems - to setup. + description: Filesystems specifies the list of file systems to setup. items: description: Filesystem defines the file systems to be created. properties: @@ -475,8 +356,7 @@ spec: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options to add - to the command for creating the file system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array @@ -484,26 +364,16 @@ spec: description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system label to - be used. If set to None, no label is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not to overwrite - any existing filesystem. If true, any pre-existing - file system will be destroyed. Use with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition to use. - The valid options are: "auto|any", "auto", "any", - "none", and , where NUM is the actual partition - number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, used - for Microsoft Azure that instructs cloud-init to replace - a file system of . NOTE: unless you define - a label, this requires the use of the ''any'' partition - directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -512,32 +382,21 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the partitions - to setup. + description: Partitions specifies the list of the partitions to setup. items: - description: Partition defines how to create and layout - a partition. + description: Partition defines how to create and layout a partition. properties: device: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. If - it is true, a single partition will be created for - the entire device. When layout is false, it means - don't partition or ignore existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to skip checks - and create the partition if a partition or filesystem - is found on the device. Use with caution. Default - is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of partition - table. The following are supported: ''mbr'': default - and setups a MS-DOS partition table ''gpt'': setups - a GPT partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -546,30 +405,24 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed to user_data - upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files - in cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: content: description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source of content - to populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that should - populate this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's data - map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -579,85 +432,61 @@ spec: - secret type: object encoding: - description: Encoding specifies the encoding of the file - contents. + description: Encoding specifies the encoding of the file contents. enum: - base64 - gzip - gzip+base64 type: string owner: - description: Owner specifies the ownership of the file, - e.g. "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk where - to store the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions to assign - to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path type: object type: array format: - description: Format specifies the output format of the bootstrap - data + description: Format specifies the output format of the bootstrap data enum: - cloud-config type: string initConfiguration: - description: InitConfiguration along with ClusterConfiguration - are the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm init` - time and describes a set of Bootstrap Tokens to create. - This information IS NOT uploaded to the kubeadm cluster - configmap, partly because of its sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap token, - stored as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly message - why this token exists and what it's used for, so other - administrators can know its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp when this - token expires. Defaults to being set dynamically at - runtime based on the TTL. Expires and TTL are mutually - exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups that - this token will authenticate as when/if used for authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing bidirectional - trust between nodes and control-planes. Used for joining - nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for this token. - Defaults to 24h. Expires and TTL are mutually exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which this - token can be used. Can by default be used for establishing - bidirectional trust, but that can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -666,31 +495,16 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint of the - API server instance that's deployed on this control plane - node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global endpoint - for the cluster, which then loadbalances the requests to - each individual API server. This configuration object lets - you customize what IP/DNS name and port the local API server - advertises it's accessible on. By default, kubeadm tries - to auto-detect the IP of the default interface and use that, - but in case that process fails you may set the desired value - here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address for - the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the API - Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer required: @@ -698,69 +512,36 @@ spec: - bindPort type: object nodeRegistration: - description: NodeRegistration holds fields that relate to - registering the new control-plane node to the cluster. When - used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration and - JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node - API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the - kubelet command line via the environment file kubeadm - writes at runtime for the kubelet to source. This overrides - the generic base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. These - values are local and specific to the node kubeadm is - executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the - Node API object that will be created in this `kubeadm - init` or `kubeadm join` operation. This field is also - used in the CommonName field of the kubelet's client - certificate to the API server. Defaults to the hostname - of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API - object should be registered with. If this field is unset, - i.e. nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: {}` - in the YAML file. This field is solely used for Node - registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has - the "effect" on any pod that does not tolerate the - Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on - pods that do not tolerate the taint. Valid effects - are NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the - taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -770,37 +551,25 @@ spec: type: object type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration for - the join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate - authority used to secure comunications between node and - control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". - TODO: revisit when there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control plane - instance to be deployed on the joining node. If nil, no - additional control plane instance will be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance to be deployed on this node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the - API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer required: @@ -809,58 +578,34 @@ spec: type: object type: object discovery: - description: 'Discovery specifies the options for the kubelet - to use during the TLS Bootstrap process TODO: revisit when - there is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the options - for bootstrap token based discovery BootstrapToken and - File are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or domain - name to the API server from which info will be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set of public - key pins to verify when token-based discovery is - used. The root CA found during discovery must match - one of these values. Specifying an empty set disables - root CA pinning, which can be unsafe. Each hash - is specified as ":", where the only - currently supported type is "sha256". This is a - hex-encoded SHA-256 hash of the Subject Public Key - Info (SPKI) object in DER-encoded ASN.1. These hashes - can be calculated using, for example, OpenSSL: openssl - x509 -pubkey -in ca.crt openssl rsa -pubin -outform - der 2>&/dev/null | openssl dgst -sha256 -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate cluster - information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since other - nodes can impersonate the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token - unsafeSkipCAVerification type: object file: - description: File is used to specify a file or URL to - a kubeconfig file from which to load cluster information - BootstrapToken and File are mutually exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify the - actual file path or URL to the kubeconfig file from - which to load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -869,85 +614,43 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: 'TLSBootstrapToken is a token used for TLS - bootstrapping. If .BootstrapToken is set, this field - is defaulted to .BootstrapToken.Token, but can be overridden. - If .File is set, this field **must be set** in case - the KubeConfigFile does not contain any other authentication - information TODO: revisit when there is defaulting from - k/k' + description: 'TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information TODO: revisit when there is defaulting from k/k' type: string type: object kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate to - registering the new control-plane node to the cluster. When - used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration and - JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node - API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the - kubelet command line via the environment file kubeadm - writes at runtime for the kubelet to source. This overrides - the generic base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. These - values are local and specific to the node kubeadm is - executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the - Node API object that will be created in this `kubeadm - init` or `kubeadm join` operation. This field is also - used in the CommonName field of the kubelet's client - certificate to the API server. Defaults to the hostname - of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API - object should be registered with. If this field is unset, - i.e. nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: {}` - in the YAML file. This field is solely used for Node - registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has - the "effect" on any pod that does not tolerate the - Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on - pods that do not tolerate the taint. Valid effects - are NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the - taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -959,8 +662,7 @@ spec: mounts: description: Mounts specifies a list of mount points to be setup. items: - description: MountPoints defines input for generated mounts - in cloud-init. + description: MountPoints defines input for generated mounts in cloud-init. items: type: string type: array @@ -978,68 +680,52 @@ spec: type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands to run - after kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands to run - before kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic kubeadm - command with a shell script with retries for joins. \n This - is meant to be an experimental temporary workaround on some - environments where joins fail due to timing (and other issues). - The long term goal is to add retries to kubeadm proper and use - that functionality. \n This will add about 40KB to userdata - \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." type: boolean users: description: Users specifies extra users to add items: - description: User defines the input for a generated user in - cloud-init. + description: User defines the input for a generated user in cloud-init. properties: gecos: description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups for - the user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory to use - for the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark the user - as inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password login should - be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name type: string passwd: - description: Passwd specifies a hashed password for the - user + description: Passwd specifies a hashed password for the user type: string primaryGroup: - description: PrimaryGroup specifies the primary group for - the user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list of ssh authorized - keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array @@ -1051,52 +737,36 @@ spec: type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log level - verbosity. It overrides the `--v` flag in kubeadm commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object nodeDrainTimeout: - description: 'NodeDrainTimeout is the total amount of time that the - controller will spend on draining a controlplane 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`' + description: 'NodeDrainTimeout is the total amount of time that the controller will spend on draining a controlplane 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 replicas: - description: Number of desired machines. Defaults to 1. When stacked - etcd is used only odd numbers are permitted, as per [etcd best practice](https://etcd.io/docs/v3.3.12/faq/#why-an-odd-number-of-cluster-members). - This is a pointer to distinguish between explicit zero and not specified. + description: Number of desired machines. Defaults to 1. When stacked etcd is used only odd numbers are permitted, as per [etcd best practice](https://etcd.io/docs/v3.3.12/faq/#why-an-odd-number-of-cluster-members). This is a pointer to distinguish between explicit zero and not specified. format: int32 type: integer rolloutStrategy: - description: The RolloutStrategy to use to replace control plane machines - with new ones. + description: The RolloutStrategy to use to replace control plane machines with new ones. properties: rollingUpdate: - description: Rolling update config params. Present only if RolloutStrategyType - = RollingUpdate. + description: Rolling update config params. Present only if RolloutStrategyType = RollingUpdate. properties: maxSurge: anyOf: - type: integer - type: string - description: 'The maximum number of control planes that can - be scheduled above or under the desired number of control - planes. Value can be an absolute number 1 or 0. Defaults - to 1. Example: when this is set to 1, the control plane - can be scaled up immediately when the rolling update starts.' + description: 'The maximum number of control planes that can be scheduled above or under the desired number of control planes. Value can be an absolute number 1 or 0. Defaults to 1. Example: when this is set to 1, the control plane can be scaled up immediately when the rolling update starts.' x-kubernetes-int-or-string: true type: object type: - description: Type of rollout. Currently the only supported strategy - is "RollingUpdate". Default is RollingUpdate. + description: Type of rollout. Currently the only supported strategy is "RollingUpdate". Default is RollingUpdate. type: string type: object upgradeAfter: - description: UpgradeAfter is a field to indicate an upgrade should - be performed after the specified time even if no changes have been - made to the KubeadmControlPlane + description: UpgradeAfter is a field to indicate an upgrade should be performed after the specified time even if no changes have been made to the KubeadmControlPlane format: date-time type: string version: @@ -1113,41 +783,26 @@ spec: conditions: description: Conditions defines current service state of the KubeadmControlPlane. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -1155,55 +810,38 @@ spec: type: object type: array failureMessage: - description: ErrorMessage indicates that there is a terminal problem - reconciling the state, and will be set to a descriptive error message. + description: ErrorMessage indicates that there is a terminal problem reconciling the state, and will be set to a descriptive error message. type: string failureReason: - description: FailureReason indicates that there is a terminal problem - reconciling the state, and will be set to a token value suitable - for programmatic interpretation. + description: FailureReason indicates that there is a terminal problem reconciling the state, and will be set to a token value suitable for programmatic interpretation. type: string initialized: - description: Initialized denotes whether or not the control plane - has the uploaded kubeadm-config configmap. + description: Initialized denotes whether or not the control plane has the uploaded kubeadm-config configmap. type: boolean observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + description: ObservedGeneration is the latest generation observed by the controller. format: int64 type: integer ready: - description: Ready denotes that the KubeadmControlPlane API Server - is ready to receive requests. + description: Ready denotes that the KubeadmControlPlane API Server is ready to receive requests. type: boolean readyReplicas: - description: Total number of fully running and ready control plane - machines. + description: Total number of fully running and ready control plane machines. format: int32 type: integer replicas: - description: Total number of non-terminated machines targeted by this - control plane (their labels match the selector). + description: Total number of non-terminated machines targeted by this control plane (their labels match the selector). format: int32 type: integer selector: - description: 'Selector is the label selector in string format to avoid - introspection by clients, and is used to provide the CRD-based integration - for the scale subresource and additional integrations for things - like kubectl describe.. 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' + description: 'Selector is the label selector in string format to avoid introspection by clients, and is used to provide the CRD-based integration for the scale subresource and additional integrations for things like kubectl describe.. 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 - control plane. 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 ready or machines - that still have not been created. + description: Total number of unavailable machines targeted by this control plane. 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 ready or machines that still have not been created. format: int32 type: integer updatedReplicas: - description: Total number of non-terminated machines targeted by this - control plane that have the desired template spec. + description: Total number of non-terminated machines targeted by this control plane that have the desired template spec. format: int32 type: integer type: object @@ -1221,8 +859,7 @@ spec: jsonPath: .metadata.creationTimestamp name: Age type: date - - description: This denotes whether or not the control plane has the uploaded - kubeadm-config configmap + - description: This denotes whether or not the control plane has the uploaded kubeadm-config configmap jsonPath: .status.initialized name: Initialized type: boolean @@ -1234,8 +871,7 @@ spec: jsonPath: .spec.version name: Version type: string - - description: Total number of non-terminated machines targeted by this control - plane + - description: Total number of non-terminated machines targeted by this control plane jsonPath: .status.replicas name: Replicas type: integer @@ -1243,8 +879,7 @@ spec: jsonPath: .status.readyReplicas name: Ready type: integer - - description: Total number of non-terminated machines targeted by this control - plane that have the desired template spec + - description: Total number of non-terminated machines targeted by this control plane that have the desired template spec jsonPath: .status.updatedReplicas name: Updated type: integer @@ -1255,18 +890,13 @@ spec: name: v1alpha4 schema: openAPIV3Schema: - description: KubeadmControlPlane is the Schema for the KubeadmControlPlane - API. + description: KubeadmControlPlane is the Schema for the KubeadmControlPlane API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -1274,45 +904,34 @@ spec: description: KubeadmControlPlaneSpec defines the desired state of KubeadmControlPlane. properties: kubeadmConfigSpec: - description: KubeadmConfigSpec is a KubeadmConfigSpec to use for initializing - and joining machines to the control plane. + description: KubeadmConfigSpec is a KubeadmConfigSpec to use for initializing and joining machines to the control plane. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration - are the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for the API - server control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative Names - for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass - to the control plane component. TODO: This is temporary - and ideally we would like to switch all components to - use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that - will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod - where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -1321,8 +940,7 @@ spec: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to the - volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -1331,66 +949,39 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the timeout - that we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store or - look for all required certificates. NB: if not provided, - this will default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP address - or DNS name for the control plane; it can be a valid IP - address or a RFC-1123 DNS subdomain, both with optional - TCP port. In case the ControlPlaneEndpoint is not specified, - the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint - is specified but without a TCP port, the BindPort is used. - Possible usages are: e.g. In a cluster with more than one - control plane instances, this field should be assigned the - address of the external load balancer in front of the control - plane instances. e.g. in environments with enforced node - recycling, the ControlPlaneEndpoint could be used for assigning - a stable DNS to the control plane. NB: This value defaults - to the first value in the Cluster object status.apiEndpoints - array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings for - the controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass - to the control plane component. TODO: This is temporary - and ideally we would like to switch all components to - use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that - will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod - where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -1399,8 +990,7 @@ spec: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to the - volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -1410,48 +1000,34 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on installed - in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for the - image. In case this value is set, kubeadm does not change - automatically the version of the above components during - upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: This - value defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect to an external - etcd cluster Local and External are mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate Authority - file used to secure etcd communication. Required - if using a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification file - used to secure etcd communication. Required if using - a TLS connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: - description: Endpoints of etcd members. Required for - ExternalEtcd. + description: Endpoints of etcd members. Required for ExternalEtcd. items: type: string type: array keyFile: - description: KeyFile is an SSL key file used to secure - etcd communication. Required if using a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -1460,40 +1036,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs for configuring - the local etcd instance Local and External are mutually - exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd will place - its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments provided - to the etcd binary when run inside a static pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for - the image. In case this value is set, kubeadm does - not change automatically the version of the above - components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject Alternative - Names for the etcd server signing cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -1505,74 +1070,45 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry to - pull images from. If empty, `registry.k8s.io` will be used - by default; in case of kubernetes version is a CI build - (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` - will be used as a default for control plane components and - for kube-proxy, while `registry.k8s.io` will be used for - all the other images. + description: ImageRepository sets the container registry to pull images from. If empty, `registry.k8s.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `registry.k8s.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version of the - control plane. NB: This value defaults to the Machine object - spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to the - Cluster object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used by k8s services. - Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. If - unset, the API server will not allocate CIDR ranges - for every node. Defaults to a comma-delimited string - of the Cluster object's spec.clusterNetwork.services.cidrBlocks - if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used by k8s services. - Defaults to a comma-delimited string of the Cluster - object's spec.clusterNetwork.pods.cidrBlocks, or to - "10.96.0.0/12" if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for the scheduler - control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass - to the control plane component. TODO: This is temporary - and ideally we would like to switch all components to - use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that - will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod - where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -1581,8 +1117,7 @@ spec: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to the - volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -1593,12 +1128,10 @@ spec: type: object type: object diskSetup: - description: DiskSetup specifies options for the creation of partition - tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file systems - to setup. + description: Filesystems specifies the list of file systems to setup. items: description: Filesystem defines the file systems to be created. properties: @@ -1606,8 +1139,7 @@ spec: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options to add - to the command for creating the file system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array @@ -1615,26 +1147,16 @@ spec: description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system label to - be used. If set to None, no label is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not to overwrite - any existing filesystem. If true, any pre-existing - file system will be destroyed. Use with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition to use. - The valid options are: "auto|any", "auto", "any", - "none", and , where NUM is the actual partition - number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, used - for Microsoft Azure that instructs cloud-init to replace - a file system of . NOTE: unless you define - a label, this requires the use of the ''any'' partition - directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -1643,32 +1165,21 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the partitions - to setup. + description: Partitions specifies the list of the partitions to setup. items: - description: Partition defines how to create and layout - a partition. + description: Partition defines how to create and layout a partition. properties: device: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. If - it is true, a single partition will be created for - the entire device. When layout is false, it means - don't partition or ignore existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to skip checks - and create the partition if a partition or filesystem - is found on the device. Use with caution. Default - is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of partition - table. The following are supported: ''mbr'': default - and setups a MS-DOS partition table ''gpt'': setups - a GPT partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -1677,30 +1188,24 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed to user_data - upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files - in cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: content: description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source of content - to populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that should - populate this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's data - map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -1710,85 +1215,61 @@ spec: - secret type: object encoding: - description: Encoding specifies the encoding of the file - contents. + description: Encoding specifies the encoding of the file contents. enum: - base64 - gzip - gzip+base64 type: string owner: - description: Owner specifies the ownership of the file, - e.g. "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk where - to store the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions to assign - to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path type: object type: array format: - description: Format specifies the output format of the bootstrap - data + description: Format specifies the output format of the bootstrap data enum: - cloud-config type: string initConfiguration: - description: InitConfiguration along with ClusterConfiguration - are the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm init` - time and describes a set of Bootstrap Tokens to create. - This information IS NOT uploaded to the kubeadm cluster - configmap, partly because of its sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap token, - stored as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly message - why this token exists and what it's used for, so other - administrators can know its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp when this - token expires. Defaults to being set dynamically at - runtime based on the TTL. Expires and TTL are mutually - exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups that - this token will authenticate as when/if used for authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing bidirectional - trust between nodes and control-planes. Used for joining - nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for this token. - Defaults to 24h. Expires and TTL are mutually exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which this - token can be used. Can by default be used for establishing - bidirectional trust, but that can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -1797,105 +1278,55 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint of the - API server instance that's deployed on this control plane - node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global endpoint - for the cluster, which then loadbalances the requests to - each individual API server. This configuration object lets - you customize what IP/DNS name and port the local API server - advertises it's accessible on. By default, kubeadm tries - to auto-detect the IP of the default interface and use that, - but in case that process fails you may set the desired value - here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address for - the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the API - Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object nodeRegistration: - description: NodeRegistration holds fields that relate to - registering the new control-plane node to the cluster. When - used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration and - JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node - API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice of - pre-flight errors to be ignored when the current node - is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the - kubelet command line via the environment file kubeadm - writes at runtime for the kubelet to source. This overrides - the generic base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. These - values are local and specific to the node kubeadm is - executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the - Node API object that will be created in this `kubeadm - init` or `kubeadm join` operation. This field is also - used in the CommonName field of the kubelet's client - certificate to the API server. Defaults to the hostname - of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API - object should be registered with. If this field is unset, - i.e. nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: {}` - in the YAML file. This field is solely used for Node - registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has - the "effect" on any pod that does not tolerate the - Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on - pods that do not tolerate the taint. Valid effects - are NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the - taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -1905,93 +1336,57 @@ spec: type: object type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration for - the join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate - authority used to secure comunications between node and - control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". - TODO: revisit when there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control plane - instance to be deployed on the joining node. If nil, no - additional control plane instance will be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance to be deployed on this node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the - API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object type: object discovery: - description: 'Discovery specifies the options for the kubelet - to use during the TLS Bootstrap process TODO: revisit when - there is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the options - for bootstrap token based discovery BootstrapToken and - File are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or domain - name to the API server from which info will be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set of public - key pins to verify when token-based discovery is - used. The root CA found during discovery must match - one of these values. Specifying an empty set disables - root CA pinning, which can be unsafe. Each hash - is specified as ":", where the only - currently supported type is "sha256". This is a - hex-encoded SHA-256 hash of the Subject Public Key - Info (SPKI) object in DER-encoded ASN.1. These hashes - can be calculated using, for example, OpenSSL: openssl - x509 -pubkey -in ca.crt openssl rsa -pubin -outform - der 2>&/dev/null | openssl dgst -sha256 -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate cluster - information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since other - nodes can impersonate the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token type: object file: - description: File is used to specify a file or URL to - a kubeconfig file from which to load cluster information - BootstrapToken and File are mutually exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify the - actual file path or URL to the kubeconfig file from - which to load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -2000,91 +1395,48 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: TLSBootstrapToken is a token used for TLS - bootstrapping. If .BootstrapToken is set, this field - is defaulted to .BootstrapToken.Token, but can be overridden. - If .File is set, this field **must be set** in case - the KubeConfigFile does not contain any other authentication - information + description: TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information type: string type: object kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate to - registering the new control-plane node to the cluster. When - used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration and - JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node - API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice of - pre-flight errors to be ignored when the current node - is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the - kubelet command line via the environment file kubeadm - writes at runtime for the kubelet to source. This overrides - the generic base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. These - values are local and specific to the node kubeadm is - executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the - Node API object that will be created in this `kubeadm - init` or `kubeadm join` operation. This field is also - used in the CommonName field of the kubelet's client - certificate to the API server. Defaults to the hostname - of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API - object should be registered with. If this field is unset, - i.e. nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: {}` - in the YAML file. This field is solely used for Node - registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has - the "effect" on any pod that does not tolerate the - Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on - pods that do not tolerate the taint. Valid effects - are NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the - taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -2096,8 +1448,7 @@ spec: mounts: description: Mounts specifies a list of mount points to be setup. items: - description: MountPoints defines input for generated mounts - in cloud-init. + description: MountPoints defines input for generated mounts in cloud-init. items: type: string type: array @@ -2115,68 +1466,52 @@ spec: type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands to run - after kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands to run - before kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic kubeadm - command with a shell script with retries for joins. \n This - is meant to be an experimental temporary workaround on some - environments where joins fail due to timing (and other issues). - The long term goal is to add retries to kubeadm proper and use - that functionality. \n This will add about 40KB to userdata - \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." type: boolean users: description: Users specifies extra users to add items: - description: User defines the input for a generated user in - cloud-init. + description: User defines the input for a generated user in cloud-init. properties: gecos: description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups for - the user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory to use - for the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark the user - as inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password login should - be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name type: string passwd: - description: Passwd specifies a hashed password for the - user + description: Passwd specifies a hashed password for the user type: string primaryGroup: - description: PrimaryGroup specifies the primary group for - the user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list of ssh authorized - keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array @@ -2188,34 +1523,21 @@ spec: type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log level - verbosity. It overrides the `--v` flag in kubeadm commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object machineTemplate: - description: MachineTemplate contains information about how machines - should be shaped when creating or updating a control plane. + description: MachineTemplate contains information about how machines should be shaped when creating or updating a control plane. properties: infrastructureRef: - description: InfrastructureRef is a required reference to a custom - resource offered by an infrastructure provider. + 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.' + 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' @@ -2227,8 +1549,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -2241,41 +1562,26 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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' + 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 nodeDrainTimeout: - description: 'NodeDrainTimeout is the total amount of time that - the controller will spend on draining a controlplane 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`' + description: 'NodeDrainTimeout is the total amount of time that the controller will spend on draining a controlplane 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 required: - infrastructureRef type: object replicas: - description: Number of desired machines. Defaults to 1. When stacked - etcd is used only odd numbers are permitted, as per [etcd best practice](https://etcd.io/docs/v3.3.12/faq/#why-an-odd-number-of-cluster-members). - This is a pointer to distinguish between explicit zero and not specified. + description: Number of desired machines. Defaults to 1. When stacked etcd is used only odd numbers are permitted, as per [etcd best practice](https://etcd.io/docs/v3.3.12/faq/#why-an-odd-number-of-cluster-members). This is a pointer to distinguish between explicit zero and not specified. format: int32 type: integer rolloutAfter: - description: RolloutAfter is a field to indicate a rollout should - be performed after the specified time even if no changes have been - made to the KubeadmControlPlane. + description: RolloutAfter is a field to indicate a rollout should be performed after the specified time even if no changes have been made to the KubeadmControlPlane. format: date-time type: string rolloutStrategy: @@ -2283,27 +1589,20 @@ spec: rollingUpdate: maxSurge: 1 type: RollingUpdate - description: The RolloutStrategy to use to replace control plane machines - with new ones. + description: The RolloutStrategy to use to replace control plane machines with new ones. properties: rollingUpdate: - description: Rolling update config params. Present only if RolloutStrategyType - = RollingUpdate. + description: Rolling update config params. Present only if RolloutStrategyType = RollingUpdate. properties: maxSurge: anyOf: - type: integer - type: string - description: 'The maximum number of control planes that can - be scheduled above or under the desired number of control - planes. Value can be an absolute number 1 or 0. Defaults - to 1. Example: when this is set to 1, the control plane - can be scaled up immediately when the rolling update starts.' + description: 'The maximum number of control planes that can be scheduled above or under the desired number of control planes. Value can be an absolute number 1 or 0. Defaults to 1. Example: when this is set to 1, the control plane can be scaled up immediately when the rolling update starts.' x-kubernetes-int-or-string: true type: object type: - description: Type of rollout. Currently the only supported strategy - is "RollingUpdate". Default is RollingUpdate. + description: Type of rollout. Currently the only supported strategy is "RollingUpdate". Default is RollingUpdate. type: string type: object version: @@ -2320,41 +1619,26 @@ spec: conditions: description: Conditions defines current service state of the KubeadmControlPlane. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -2362,60 +1646,42 @@ spec: type: object type: array failureMessage: - description: ErrorMessage indicates that there is a terminal problem - reconciling the state, and will be set to a descriptive error message. + description: ErrorMessage indicates that there is a terminal problem reconciling the state, and will be set to a descriptive error message. type: string failureReason: - description: FailureReason indicates that there is a terminal problem - reconciling the state, and will be set to a token value suitable - for programmatic interpretation. + description: FailureReason indicates that there is a terminal problem reconciling the state, and will be set to a token value suitable for programmatic interpretation. type: string initialized: - description: Initialized denotes whether or not the control plane - has the uploaded kubeadm-config configmap. + description: Initialized denotes whether or not the control plane has the uploaded kubeadm-config configmap. type: boolean observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + description: ObservedGeneration is the latest generation observed by the controller. format: int64 type: integer ready: - description: Ready denotes that the KubeadmControlPlane API Server - is ready to receive requests. + description: Ready denotes that the KubeadmControlPlane API Server is ready to receive requests. type: boolean readyReplicas: - description: Total number of fully running and ready control plane - machines. + description: Total number of fully running and ready control plane machines. format: int32 type: integer replicas: - description: Total number of non-terminated machines targeted by this - control plane (their labels match the selector). + description: Total number of non-terminated machines targeted by this control plane (their labels match the selector). format: int32 type: integer selector: - description: 'Selector is the label selector in string format to avoid - introspection by clients, and is used to provide the CRD-based integration - for the scale subresource and additional integrations for things - like kubectl describe.. 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' + description: 'Selector is the label selector in string format to avoid introspection by clients, and is used to provide the CRD-based integration for the scale subresource and additional integrations for things like kubectl describe.. 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 - control plane. 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 ready or machines - that still have not been created. + description: Total number of unavailable machines targeted by this control plane. 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 ready or machines that still have not been created. format: int32 type: integer updatedReplicas: - description: Total number of non-terminated machines targeted by this - control plane that have the desired template spec. + description: Total number of non-terminated machines targeted by this control plane that have the desired template spec. format: int32 type: integer version: - description: Version represents the minimum Kubernetes version for - the control plane machines in the cluster. + description: Version represents the minimum Kubernetes version for the control plane machines in the cluster. type: string type: object type: object @@ -2432,8 +1698,7 @@ spec: jsonPath: .metadata.labels['cluster\.x-k8s\.io/cluster-name'] name: Cluster type: string - - description: This denotes whether or not the control plane has the uploaded - kubeadm-config configmap + - description: This denotes whether or not the control plane has the uploaded kubeadm-config configmap jsonPath: .status.initialized name: Initialized type: boolean @@ -2446,8 +1711,7 @@ spec: name: Desired priority: 10 type: integer - - description: Total number of non-terminated machines targeted by this control - plane + - description: Total number of non-terminated machines targeted by this control plane jsonPath: .status.replicas name: Replicas type: integer @@ -2455,8 +1719,7 @@ spec: jsonPath: .status.readyReplicas name: Ready type: integer - - description: Total number of non-terminated machines targeted by this control - plane that have the desired template spec + - description: Total number of non-terminated machines targeted by this control plane that have the desired template spec jsonPath: .status.updatedReplicas name: Updated type: integer @@ -2475,18 +1738,13 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: KubeadmControlPlane is the Schema for the KubeadmControlPlane - API. + description: KubeadmControlPlane is the Schema for the KubeadmControlPlane API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -2494,45 +1752,34 @@ spec: description: KubeadmControlPlaneSpec defines the desired state of KubeadmControlPlane. properties: kubeadmConfigSpec: - description: KubeadmConfigSpec is a KubeadmConfigSpec to use for initializing - and joining machines to the control plane. + description: KubeadmConfigSpec is a KubeadmConfigSpec to use for initializing and joining machines to the control plane. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration - are the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for the API - server control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative Names - for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass - to the control plane component. TODO: This is temporary - and ideally we would like to switch all components to - use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that - will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod - where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -2541,8 +1788,7 @@ spec: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to the - volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -2551,66 +1797,39 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the timeout - that we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store or - look for all required certificates. NB: if not provided, - this will default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP address - or DNS name for the control plane; it can be a valid IP - address or a RFC-1123 DNS subdomain, both with optional - TCP port. In case the ControlPlaneEndpoint is not specified, - the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint - is specified but without a TCP port, the BindPort is used. - Possible usages are: e.g. In a cluster with more than one - control plane instances, this field should be assigned the - address of the external load balancer in front of the control - plane instances. e.g. in environments with enforced node - recycling, the ControlPlaneEndpoint could be used for assigning - a stable DNS to the control plane. NB: This value defaults - to the first value in the Cluster object status.apiEndpoints - array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings for - the controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass - to the control plane component. TODO: This is temporary - and ideally we would like to switch all components to - use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that - will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod - where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -2619,8 +1838,7 @@ spec: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to the - volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -2630,48 +1848,34 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on installed - in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for the - image. In case this value is set, kubeadm does not change - automatically the version of the above components during - upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: This - value defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect to an external - etcd cluster Local and External are mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate Authority - file used to secure etcd communication. Required - if using a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification file - used to secure etcd communication. Required if using - a TLS connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: - description: Endpoints of etcd members. Required for - ExternalEtcd. + description: Endpoints of etcd members. Required for ExternalEtcd. items: type: string type: array keyFile: - description: KeyFile is an SSL key file used to secure - etcd communication. Required if using a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -2680,40 +1884,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs for configuring - the local etcd instance Local and External are mutually - exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd will place - its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments provided - to the etcd binary when run inside a static pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for - the image. In case this value is set, kubeadm does - not change automatically the version of the above - components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject Alternative - Names for the etcd server signing cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -2725,74 +1918,45 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry to - pull images from. If empty, `registry.k8s.io` will be used - by default; in case of kubernetes version is a CI build - (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` - will be used as a default for control plane components and - for kube-proxy, while `registry.k8s.io` will be used for - all the other images. + description: ImageRepository sets the container registry to pull images from. If empty, `registry.k8s.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `registry.k8s.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version of the - control plane. NB: This value defaults to the Machine object - spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to the - Cluster object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used by k8s services. - Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. If - unset, the API server will not allocate CIDR ranges - for every node. Defaults to a comma-delimited string - of the Cluster object's spec.clusterNetwork.services.cidrBlocks - if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used by k8s services. - Defaults to a comma-delimited string of the Cluster - object's spec.clusterNetwork.pods.cidrBlocks, or to - "10.96.0.0/12" if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for the scheduler - control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass - to the control plane component. TODO: This is temporary - and ideally we would like to switch all components to - use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that - will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod - where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -2801,8 +1965,7 @@ spec: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to the - volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -2813,12 +1976,10 @@ spec: type: object type: object diskSetup: - description: DiskSetup specifies options for the creation of partition - tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file systems - to setup. + description: Filesystems specifies the list of file systems to setup. items: description: Filesystem defines the file systems to be created. properties: @@ -2826,8 +1987,7 @@ spec: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options to add - to the command for creating the file system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array @@ -2835,26 +1995,16 @@ spec: description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system label to - be used. If set to None, no label is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not to overwrite - any existing filesystem. If true, any pre-existing - file system will be destroyed. Use with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition to use. - The valid options are: "auto|any", "auto", "any", - "none", and , where NUM is the actual partition - number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, used - for Microsoft Azure that instructs cloud-init to replace - a file system of . NOTE: unless you define - a label, this requires the use of the ''any'' partition - directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -2863,32 +2013,21 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the partitions - to setup. + description: Partitions specifies the list of the partitions to setup. items: - description: Partition defines how to create and layout - a partition. + description: Partition defines how to create and layout a partition. properties: device: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. If - it is true, a single partition will be created for - the entire device. When layout is false, it means - don't partition or ignore existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to skip checks - and create the partition if a partition or filesystem - is found on the device. Use with caution. Default - is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of partition - table. The following are supported: ''mbr'': default - and setups a MS-DOS partition table ''gpt'': setups - a GPT partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -2897,34 +2036,27 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed to user_data - upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files - in cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: append: - description: Append specifies whether to append Content - to existing file if Path exists. + description: Append specifies whether to append Content to existing file if Path exists. type: boolean content: description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source of content - to populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that should - populate this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's data - map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -2934,32 +2066,27 @@ spec: - secret type: object encoding: - description: Encoding specifies the encoding of the file - contents. + description: Encoding specifies the encoding of the file contents. enum: - base64 - gzip - gzip+base64 type: string owner: - description: Owner specifies the ownership of the file, - e.g. "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk where - to store the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions to assign - to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path type: object type: array format: - description: Format specifies the output format of the bootstrap - data + description: Format specifies the output format of the bootstrap data enum: - cloud-config - ignition @@ -2971,67 +2098,44 @@ spec: description: ContainerLinuxConfig contains CLC specific configuration. properties: additionalConfig: - description: "AdditionalConfig contains additional configuration - to be merged with the Ignition configuration generated - by the bootstrapper controller. More info: https://coreos.github.io/ignition/operator-notes/#config-merging - \n The data format is documented here: https://kinvolk.io/docs/flatcar-container-linux/latest/provisioning/cl-config/" + description: "AdditionalConfig contains additional configuration to be merged with the Ignition configuration generated by the bootstrapper controller. More info: https://coreos.github.io/ignition/operator-notes/#config-merging \n The data format is documented here: https://kinvolk.io/docs/flatcar-container-linux/latest/provisioning/cl-config/" type: string strict: - description: Strict controls if AdditionalConfig should - be strictly parsed. If so, warnings are treated as errors. + description: Strict controls if AdditionalConfig should be strictly parsed. If so, warnings are treated as errors. type: boolean type: object type: object initConfiguration: - description: InitConfiguration along with ClusterConfiguration - are the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm init` - time and describes a set of Bootstrap Tokens to create. - This information IS NOT uploaded to the kubeadm cluster - configmap, partly because of its sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap token, - stored as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly message - why this token exists and what it's used for, so other - administrators can know its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp when this - token expires. Defaults to being set dynamically at - runtime based on the TTL. Expires and TTL are mutually - exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups that - this token will authenticate as when/if used for authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing bidirectional - trust between nodes and control-planes. Used for joining - nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for this token. - Defaults to 24h. Expires and TTL are mutually exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which this - token can be used. Can by default be used for establishing - bidirectional trust, but that can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -3040,105 +2144,55 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint of the - API server instance that's deployed on this control plane - node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global endpoint - for the cluster, which then loadbalances the requests to - each individual API server. This configuration object lets - you customize what IP/DNS name and port the local API server - advertises it's accessible on. By default, kubeadm tries - to auto-detect the IP of the default interface and use that, - but in case that process fails you may set the desired value - here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address for - the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the API - Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object nodeRegistration: - description: NodeRegistration holds fields that relate to - registering the new control-plane node to the cluster. When - used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration and - JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node - API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice of - pre-flight errors to be ignored when the current node - is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the - kubelet command line via the environment file kubeadm - writes at runtime for the kubelet to source. This overrides - the generic base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. These - values are local and specific to the node kubeadm is - executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the - Node API object that will be created in this `kubeadm - init` or `kubeadm join` operation. This field is also - used in the CommonName field of the kubelet's client - certificate to the API server. Defaults to the hostname - of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API - object should be registered with. If this field is unset, - i.e. nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: []` - in the YAML file. This field is solely used for Node - registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: []` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has - the "effect" on any pod that does not tolerate the - Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on - pods that do not tolerate the taint. Valid effects - are NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the - taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -3147,125 +2201,70 @@ spec: type: array type: object patches: - description: Patches contains options related to applying - patches to components deployed by kubeadm during "kubeadm - init". The minimum kubernetes version needed to support - Patches is v1.22 + description: Patches contains options related to applying patches to components deployed by kubeadm during "kubeadm init". The minimum kubernetes version needed to support Patches is v1.22 properties: directory: - description: Directory is a path to a directory that contains - files named "target[suffix][+patchtype].extension". - For example, "kube-apiserver0+merge.yaml" or just "etcd.json". - "target" can be one of "kube-apiserver", "kube-controller-manager", - "kube-scheduler", "etcd". "patchtype" can be one of - "strategic" "merge" or "json" and they match the patch - formats supported by kubectl. The default "patchtype" - is "strategic". "extension" must be either "json" or - "yaml". "suffix" is an optional string that can be used - to determine which patches are applied first alpha-numerically. - These files can be written into the target directory - via KubeadmConfig.Files which specifies additional files - to be created on the machine, either with content inline - or by referencing a secret. + description: Directory is a path to a directory that contains files named "target[suffix][+patchtype].extension". For example, "kube-apiserver0+merge.yaml" or just "etcd.json". "target" can be one of "kube-apiserver", "kube-controller-manager", "kube-scheduler", "etcd". "patchtype" can be one of "strategic" "merge" or "json" and they match the patch formats supported by kubectl. The default "patchtype" is "strategic". "extension" must be either "json" or "yaml". "suffix" is an optional string that can be used to determine which patches are applied first alpha-numerically. These files can be written into the target directory via KubeadmConfig.Files which specifies additional files to be created on the machine, either with content inline or by referencing a secret. type: string type: object skipPhases: - description: SkipPhases is a list of phases to skip during - command execution. The list of phases can be obtained with - the "kubeadm init --help" command. This option takes effect - only on Kubernetes >=1.22.0. + description: SkipPhases is a list of phases to skip during command execution. The list of phases can be obtained with the "kubeadm init --help" command. This option takes effect only on Kubernetes >=1.22.0. items: type: string type: array type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration for - the join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate - authority used to secure comunications between node and - control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". - TODO: revisit when there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control plane - instance to be deployed on the joining node. If nil, no - additional control plane instance will be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance to be deployed on this node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the - API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object type: object discovery: - description: 'Discovery specifies the options for the kubelet - to use during the TLS Bootstrap process TODO: revisit when - there is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the options - for bootstrap token based discovery BootstrapToken and - File are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or domain - name to the API server from which info will be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set of public - key pins to verify when token-based discovery is - used. The root CA found during discovery must match - one of these values. Specifying an empty set disables - root CA pinning, which can be unsafe. Each hash - is specified as ":", where the only - currently supported type is "sha256". This is a - hex-encoded SHA-256 hash of the Subject Public Key - Info (SPKI) object in DER-encoded ASN.1. These hashes - can be calculated using, for example, OpenSSL: openssl - x509 -pubkey -in ca.crt openssl rsa -pubin -outform - der 2>&/dev/null | openssl dgst -sha256 -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate cluster - information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since other - nodes can impersonate the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token type: object file: - description: File is used to specify a file or URL to - a kubeconfig file from which to load cluster information - BootstrapToken and File are mutually exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify the - actual file path or URL to the kubeconfig file from - which to load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -3274,91 +2273,48 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: TLSBootstrapToken is a token used for TLS - bootstrapping. If .BootstrapToken is set, this field - is defaulted to .BootstrapToken.Token, but can be overridden. - If .File is set, this field **must be set** in case - the KubeConfigFile does not contain any other authentication - information + description: TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information type: string type: object kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate to - registering the new control-plane node to the cluster. When - used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration and - JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node - API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice of - pre-flight errors to be ignored when the current node - is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the - kubelet command line via the environment file kubeadm - writes at runtime for the kubelet to source. This overrides - the generic base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. These - values are local and specific to the node kubeadm is - executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the - Node API object that will be created in this `kubeadm - init` or `kubeadm join` operation. This field is also - used in the CommonName field of the kubelet's client - certificate to the API server. Defaults to the hostname - of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API - object should be registered with. If this field is unset, - i.e. nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: []` - in the YAML file. This field is solely used for Node - registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: []` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has - the "effect" on any pod that does not tolerate the - Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on - pods that do not tolerate the taint. Valid effects - are NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the - taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -3367,33 +2323,14 @@ spec: type: array type: object patches: - description: Patches contains options related to applying - patches to components deployed by kubeadm during "kubeadm - join". The minimum kubernetes version needed to support - Patches is v1.22 + description: Patches contains options related to applying patches to components deployed by kubeadm during "kubeadm join". The minimum kubernetes version needed to support Patches is v1.22 properties: directory: - description: Directory is a path to a directory that contains - files named "target[suffix][+patchtype].extension". - For example, "kube-apiserver0+merge.yaml" or just "etcd.json". - "target" can be one of "kube-apiserver", "kube-controller-manager", - "kube-scheduler", "etcd". "patchtype" can be one of - "strategic" "merge" or "json" and they match the patch - formats supported by kubectl. The default "patchtype" - is "strategic". "extension" must be either "json" or - "yaml". "suffix" is an optional string that can be used - to determine which patches are applied first alpha-numerically. - These files can be written into the target directory - via KubeadmConfig.Files which specifies additional files - to be created on the machine, either with content inline - or by referencing a secret. + description: Directory is a path to a directory that contains files named "target[suffix][+patchtype].extension". For example, "kube-apiserver0+merge.yaml" or just "etcd.json". "target" can be one of "kube-apiserver", "kube-controller-manager", "kube-scheduler", "etcd". "patchtype" can be one of "strategic" "merge" or "json" and they match the patch formats supported by kubectl. The default "patchtype" is "strategic". "extension" must be either "json" or "yaml". "suffix" is an optional string that can be used to determine which patches are applied first alpha-numerically. These files can be written into the target directory via KubeadmConfig.Files which specifies additional files to be created on the machine, either with content inline or by referencing a secret. type: string type: object skipPhases: - description: SkipPhases is a list of phases to skip during - command execution. The list of phases can be obtained with - the "kubeadm init --help" command. This option takes effect - only on Kubernetes >=1.22.0. + description: SkipPhases is a list of phases to skip during command execution. The list of phases can be obtained with the "kubeadm init --help" command. This option takes effect only on Kubernetes >=1.22.0. items: type: string type: array @@ -3401,8 +2338,7 @@ spec: mounts: description: Mounts specifies a list of mount points to be setup. items: - description: MountPoints defines input for generated mounts - in cloud-init. + description: MountPoints defines input for generated mounts in cloud-init. items: type: string type: array @@ -3420,75 +2356,55 @@ spec: type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands to run - after kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands to run - before kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic kubeadm - command with a shell script with retries for joins. \n This - is meant to be an experimental temporary workaround on some - environments where joins fail due to timing (and other issues). - The long term goal is to add retries to kubeadm proper and use - that functionality. \n This will add about 40KB to userdata - \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055. - Deprecated: This experimental fix is no longer needed and this - field will be removed in a future release." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055. Deprecated: This experimental fix is no longer needed and this field will be removed in a future release." type: boolean users: description: Users specifies extra users to add items: - description: User defines the input for a generated user in - cloud-init. + description: User defines the input for a generated user in cloud-init. properties: gecos: description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups for - the user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory to use - for the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark the user - as inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password login should - be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name type: string passwd: - description: Passwd specifies a hashed password for the - user + description: Passwd specifies a hashed password for the user type: string passwdFrom: - description: PasswdFrom is a referenced source of passwd - to populate the passwd. + description: PasswdFrom is a referenced source of passwd to populate the passwd. properties: secret: - description: Secret represents a secret that should - populate this password. + description: Secret represents a secret that should populate this password. properties: key: - description: Key is the key in the secret's data - map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -3498,15 +2414,13 @@ spec: - secret type: object primaryGroup: - description: PrimaryGroup specifies the primary group for - the user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list of ssh authorized - keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array @@ -3518,34 +2432,21 @@ spec: type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log level - verbosity. It overrides the `--v` flag in kubeadm commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object machineTemplate: - description: MachineTemplate contains information about how machines - should be shaped when creating or updating a control plane. + description: MachineTemplate contains information about how machines should be shaped when creating or updating a control plane. properties: infrastructureRef: - description: InfrastructureRef is a required reference to a custom - resource offered by an infrastructure provider. + 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.' + 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' @@ -3557,8 +2458,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -3571,49 +2471,29 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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' + 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 machine - 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. If no value is provided, - the default value for this property of the Machine resource - will be used. + description: NodeDeletionTimeout defines how long the machine 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. If no value is provided, the default value for this property of the Machine resource will be used. type: string nodeDrainTimeout: - description: 'NodeDrainTimeout is the total amount of time that - the controller will spend on draining a controlplane 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`' + description: 'NodeDrainTimeout is the total amount of time that the controller will spend on draining a controlplane 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 required: - infrastructureRef type: object replicas: - description: Number of desired machines. Defaults to 1. When stacked - etcd is used only odd numbers are permitted, as per [etcd best practice](https://etcd.io/docs/v3.3.12/faq/#why-an-odd-number-of-cluster-members). - This is a pointer to distinguish between explicit zero and not specified. + description: Number of desired machines. Defaults to 1. When stacked etcd is used only odd numbers are permitted, as per [etcd best practice](https://etcd.io/docs/v3.3.12/faq/#why-an-odd-number-of-cluster-members). This is a pointer to distinguish between explicit zero and not specified. format: int32 type: integer rolloutAfter: - description: RolloutAfter is a field to indicate a rollout should - be performed after the specified time even if no changes have been - made to the KubeadmControlPlane. + description: RolloutAfter is a field to indicate a rollout should be performed after the specified time even if no changes have been made to the KubeadmControlPlane. format: date-time type: string rolloutStrategy: @@ -3621,27 +2501,20 @@ spec: rollingUpdate: maxSurge: 1 type: RollingUpdate - description: The RolloutStrategy to use to replace control plane machines - with new ones. + description: The RolloutStrategy to use to replace control plane machines with new ones. properties: rollingUpdate: - description: Rolling update config params. Present only if RolloutStrategyType - = RollingUpdate. + description: Rolling update config params. Present only if RolloutStrategyType = RollingUpdate. properties: maxSurge: anyOf: - type: integer - type: string - description: 'The maximum number of control planes that can - be scheduled above or under the desired number of control - planes. Value can be an absolute number 1 or 0. Defaults - to 1. Example: when this is set to 1, the control plane - can be scaled up immediately when the rolling update starts.' + description: 'The maximum number of control planes that can be scheduled above or under the desired number of control planes. Value can be an absolute number 1 or 0. Defaults to 1. Example: when this is set to 1, the control plane can be scaled up immediately when the rolling update starts.' x-kubernetes-int-or-string: true type: object type: - description: Type of rollout. Currently the only supported strategy - is "RollingUpdate". Default is RollingUpdate. + description: Type of rollout. Currently the only supported strategy is "RollingUpdate". Default is RollingUpdate. type: string type: object version: @@ -3658,41 +2531,26 @@ spec: conditions: description: Conditions defines current service state of the KubeadmControlPlane. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -3701,60 +2559,42 @@ spec: type: object type: array failureMessage: - description: ErrorMessage indicates that there is a terminal problem - reconciling the state, and will be set to a descriptive error message. + description: ErrorMessage indicates that there is a terminal problem reconciling the state, and will be set to a descriptive error message. type: string failureReason: - description: FailureReason indicates that there is a terminal problem - reconciling the state, and will be set to a token value suitable - for programmatic interpretation. + description: FailureReason indicates that there is a terminal problem reconciling the state, and will be set to a token value suitable for programmatic interpretation. type: string initialized: - description: Initialized denotes whether or not the control plane - has the uploaded kubeadm-config configmap. + description: Initialized denotes whether or not the control plane has the uploaded kubeadm-config configmap. type: boolean observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + description: ObservedGeneration is the latest generation observed by the controller. format: int64 type: integer ready: - description: Ready denotes that the KubeadmControlPlane API Server - is ready to receive requests. + description: Ready denotes that the KubeadmControlPlane API Server is ready to receive requests. type: boolean readyReplicas: - description: Total number of fully running and ready control plane - machines. + description: Total number of fully running and ready control plane machines. format: int32 type: integer replicas: - description: Total number of non-terminated machines targeted by this - control plane (their labels match the selector). + description: Total number of non-terminated machines targeted by this control plane (their labels match the selector). format: int32 type: integer selector: - description: 'Selector is the label selector in string format to avoid - introspection by clients, and is used to provide the CRD-based integration - for the scale subresource and additional integrations for things - like kubectl describe.. 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' + description: 'Selector is the label selector in string format to avoid introspection by clients, and is used to provide the CRD-based integration for the scale subresource and additional integrations for things like kubectl describe.. 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 - control plane. 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 ready or machines - that still have not been created. + description: Total number of unavailable machines targeted by this control plane. 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 ready or machines that still have not been created. format: int32 type: integer updatedReplicas: - description: Total number of non-terminated machines targeted by this - control plane that have the desired template spec. + description: Total number of non-terminated machines targeted by this control plane that have the desired template spec. format: int32 type: integer version: - description: Version represents the minimum Kubernetes version for - the control plane machines in the cluster. + description: Version represents the minimum Kubernetes version for the control plane machines in the cluster. type: string type: object type: object @@ -3810,87 +2650,63 @@ spec: name: v1alpha4 schema: openAPIV3Schema: - description: KubeadmControlPlaneTemplate is the Schema for the kubeadmcontrolplanetemplates - API. + description: KubeadmControlPlaneTemplate is the Schema for the kubeadmcontrolplanetemplates API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: - description: KubeadmControlPlaneTemplateSpec defines the desired state - of KubeadmControlPlaneTemplate. + description: KubeadmControlPlaneTemplateSpec defines the desired state of KubeadmControlPlaneTemplate. properties: template: - description: KubeadmControlPlaneTemplateResource describes the data - needed to create a KubeadmControlPlane from a template. + description: KubeadmControlPlaneTemplateResource describes the data needed to create a KubeadmControlPlane from a template. properties: spec: - description: KubeadmControlPlaneSpec defines the desired state - of KubeadmControlPlane. + description: KubeadmControlPlaneSpec defines the desired state of KubeadmControlPlane. properties: kubeadmConfigSpec: - description: KubeadmConfigSpec is a KubeadmConfigSpec to use - for initializing and joining machines to the control plane. + description: KubeadmConfigSpec is a KubeadmConfigSpec to use for initializing and joining machines to the control plane. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration - are the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for - the API server control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative - Names for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags - to pass to the control plane component. TODO: - This is temporary and ideally we would like - to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements - describing volumes that are mounted from the - host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the - host that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside - the pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the - pod template. + description: Name of the volume inside the pod template. type: string pathType: - description: PathType is the type of the - HostPath. + description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -3899,83 +2715,48 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the - timeout that we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal - value, and may reject unrecognized values. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store - or look for all required certificates. NB: if not - provided, this will default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP - address or DNS name for the control plane; it can - be a valid IP address or a RFC-1123 DNS subdomain, - both with optional TCP port. In case the ControlPlaneEndpoint - is not specified, the AdvertiseAddress + BindPort - are used; in case the ControlPlaneEndpoint is specified - but without a TCP port, the BindPort is used. Possible - usages are: e.g. In a cluster with more than one - control plane instances, this field should be assigned - the address of the external load balancer in front - of the control plane instances. e.g. in environments - with enforced node recycling, the ControlPlaneEndpoint - could be used for assigning a stable DNS to the - control plane. NB: This value defaults to the first - value in the Cluster object status.apiEndpoints - array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings - for the controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags - to pass to the control plane component. TODO: - This is temporary and ideally we would like - to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements - describing volumes that are mounted from the - host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the - host that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside - the pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the - pod template. + description: Name of the volume inside the pod template. type: string pathType: - description: PathType is the type of the - HostPath. + description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -3985,51 +2766,34 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on - installed in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container - registry to pull images from. if not set, the - ImageRepository defined in ClusterConfiguration - will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag - for the image. In case this value is set, kubeadm - does not change automatically the version of - the above components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: - This value defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect - to an external etcd cluster Local and External - are mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate - Authority file used to secure etcd communication. - Required if using a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification - file used to secure etcd communication. - Required if using a TLS connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: - description: Endpoints of etcd members. Required - for ExternalEtcd. + description: Endpoints of etcd members. Required for ExternalEtcd. items: type: string type: array keyFile: - description: KeyFile is an SSL key file used - to secure etcd communication. Required if - using a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -4038,45 +2802,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs - for configuring the local etcd instance Local - and External are mutually exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd - will place its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments - provided to the etcd binary when run inside - a static pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container - registry to pull images from. if not set, - the ImageRepository defined in ClusterConfiguration - will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a - tag for the image. In case this value is - set, kubeadm does not change automatically - the version of the above components during - upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject - Alternative Names for the etcd peer signing - cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject - Alternative Names for the etcd server signing - cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -4088,90 +2836,54 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. If empty, `registry.k8s.io` - will be used by default; in case of kubernetes version - is a CI build (kubernetes version starts with `ci/` - or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will - be used as a default for control plane components - and for kube-proxy, while `registry.k8s.io` will - be used for all the other images. + description: ImageRepository sets the container registry to pull images from. If empty, `registry.k8s.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `registry.k8s.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing - the REST resource this object represents. Servers - may infer this from the endpoint the client submits - requests to. Cannot be updated. In CamelCase. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version - of the control plane. NB: This value defaults to - the Machine object spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the - networking topology of the cluster. NB: This value - defaults to the Cluster object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used - by k8s services. Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. - If unset, the API server will not allocate CIDR - ranges for every node. Defaults to a comma-delimited - string of the Cluster object's spec.clusterNetwork.services.cidrBlocks - if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used - by k8s services. Defaults to a comma-delimited - string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, - or to "10.96.0.0/12" if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for - the scheduler control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags - to pass to the control plane component. TODO: - This is temporary and ideally we would like - to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements - describing volumes that are mounted from the - host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the - host that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside - the pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the - pod template. + description: Name of the volume inside the pod template. type: string pathType: - description: PathType is the type of the - HostPath. + description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -4182,53 +2894,35 @@ spec: type: object type: object diskSetup: - description: DiskSetup specifies options for the creation - of partition tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file - systems to setup. + description: Filesystems specifies the list of file systems to setup. items: - description: Filesystem defines the file systems - to be created. + description: Filesystem defines the file systems to be created. properties: device: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options - to add to the command for creating the file - system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array filesystem: - description: Filesystem specifies the file system - type. + description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system - label to be used. If set to None, no label - is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not - to overwrite any existing filesystem. If true, - any pre-existing file system will be destroyed. - Use with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition - to use. The valid options are: "auto|any", - "auto", "any", "none", and , where NUM - is the actual partition number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, - used for Microsoft Azure that instructs cloud-init - to replace a file system of . NOTE: - unless you define a label, this requires the - use of the ''any'' partition directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -4237,33 +2931,21 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the - partitions to setup. + description: Partitions specifies the list of the partitions to setup. items: - description: Partition defines how to create and - layout a partition. + description: Partition defines how to create and layout a partition. properties: device: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. - If it is true, a single partition will be - created for the entire device. When layout - is false, it means don't partition or ignore - existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to - skip checks and create the partition if a - partition or filesystem is found on the device. - Use with caution. Default is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of - partition table. The following are supported: - ''mbr'': default and setups a MS-DOS partition - table ''gpt'': setups a GPT partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -4272,31 +2954,24 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed - to user_data upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files - in cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: content: - description: Content is the actual content of the - file. + description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source - of content to populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that - should populate this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's - data map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -4306,91 +2981,61 @@ spec: - secret type: object encoding: - description: Encoding specifies the encoding of - the file contents. + description: Encoding specifies the encoding of the file contents. enum: - base64 - gzip - gzip+base64 type: string owner: - description: Owner specifies the ownership of the - file, e.g. "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk - where to store the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions - to assign to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path type: object type: array format: - description: Format specifies the output format of the - bootstrap data + description: Format specifies the output format of the bootstrap data enum: - cloud-config type: string initConfiguration: - description: InitConfiguration along with ClusterConfiguration - are the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal - value, and may reject unrecognized values. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm - init` time and describes a set of Bootstrap Tokens - to create. This information IS NOT uploaded to the - kubeadm cluster configmap, partly because of its - sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap - token, stored as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly - message why this token exists and what it's - used for, so other administrators can know - its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp - when this token expires. Defaults to being - set dynamically at runtime based on the TTL. - Expires and TTL are mutually exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups - that this token will authenticate as when/if - used for authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing - bidirectional trust between nodes and control-planes. - Used for joining nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for - this token. Defaults to 24h. Expires and TTL - are mutually exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which - this token can be used. Can by default be - used for establishing bidirectional trust, - but that can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -4399,111 +3044,55 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing - the REST resource this object represents. Servers - may infer this from the endpoint the client submits - requests to. Cannot be updated. In CamelCase. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance that's deployed on this - control plane node In HA setups, this differs from - ClusterConfiguration.ControlPlaneEndpoint in the - sense that ControlPlaneEndpoint is the global endpoint - for the cluster, which then loadbalances the requests - to each individual API server. This configuration - object lets you customize what IP/DNS name and port - the local API server advertises it's accessible - on. By default, kubeadm tries to auto-detect the - IP of the default interface and use that, but in - case that process fails you may set the desired - value here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for - the API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object nodeRegistration: - description: NodeRegistration holds fields that relate - to registering the new control-plane node to the - cluster. When used in the context of control plane - nodes, NodeRegistration should remain consistent - across both InitConfiguration and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a - slice of pre-flight errors to be ignored when - the current node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here - are passed to the kubelet command line via the - environment file kubeadm writes at runtime for - the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. - These values are local and specific to the node - kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field - of the Node API object that will be created - in this `kubeadm init` or `kubeadm join` operation. - This field is also used in the CommonName field - of the kubelet's client certificate to the API - server. Defaults to the hostname of the node - if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the - Node API object should be registered with. If - this field is unset, i.e. nil, in the `kubeadm - init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane - node, set this field to an empty slice, i.e. - `taints: {}` in the YAML file. This field is - solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached - to has the "effect" on any pod that does not - tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the - taint on pods that do not tolerate the - taint. Valid effects are NoSchedule, PreferNoSchedule - and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to - be applied to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time - at which the taint was added. It is only - written for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding - to the taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -4513,103 +3102,57 @@ spec: type: object type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration - for the join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal - value, and may reject unrecognized values. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate - authority used to secure comunications between node - and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". - TODO: revisit when there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control - plane instance to be deployed on the joining node. - If nil, no additional control plane instance will - be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance to be deployed on - this node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP - address for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port - for the API Server to bind to. Defaults - to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object type: object discovery: - description: 'Discovery specifies the options for - the kubelet to use during the TLS Bootstrap process - TODO: revisit when there is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the - options for bootstrap token based discovery - BootstrapToken and File are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or - domain name to the API server from which - info will be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set - of public key pins to verify when token-based - discovery is used. The root CA found during - discovery must match one of these values. - Specifying an empty set disables root CA - pinning, which can be unsafe. Each hash - is specified as ":", where - the only currently supported type is "sha256". - This is a hex-encoded SHA-256 hash of the - Subject Public Key Info (SPKI) object in - DER-encoded ASN.1. These hashes can be calculated - using, for example, OpenSSL: openssl x509 - -pubkey -in ca.crt openssl rsa -pubin -outform - der 2>&/dev/null | openssl dgst -sha256 - -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate - cluster information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows - token-based discovery without CA verification - via CACertHashes. This can weaken the security - of kubeadm since other nodes can impersonate - the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token type: object file: - description: File is used to specify a file or - URL to a kubeconfig file from which to load - cluster information BootstrapToken and File - are mutually exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify - the actual file path or URL to the kubeconfig - file from which to load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -4618,95 +3161,48 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: TLSBootstrapToken is a token used - for TLS bootstrapping. If .BootstrapToken is - set, this field is defaulted to .BootstrapToken.Token, - but can be overridden. If .File is set, this - field **must be set** in case the KubeConfigFile - does not contain any other authentication information + description: TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information type: string type: object kind: - description: 'Kind is a string value representing - the REST resource this object represents. Servers - may infer this from the endpoint the client submits - requests to. Cannot be updated. In CamelCase. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate - to registering the new control-plane node to the - cluster. When used in the context of control plane - nodes, NodeRegistration should remain consistent - across both InitConfiguration and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a - slice of pre-flight errors to be ignored when - the current node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here - are passed to the kubelet command line via the - environment file kubeadm writes at runtime for - the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. - These values are local and specific to the node - kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field - of the Node API object that will be created - in this `kubeadm init` or `kubeadm join` operation. - This field is also used in the CommonName field - of the kubelet's client certificate to the API - server. Defaults to the hostname of the node - if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the - Node API object should be registered with. If - this field is unset, i.e. nil, in the `kubeadm - init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane - node, set this field to an empty slice, i.e. - `taints: {}` in the YAML file. This field is - solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached - to has the "effect" on any pod that does not - tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the - taint on pods that do not tolerate the - taint. Valid effects are NoSchedule, PreferNoSchedule - and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to - be applied to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time - at which the taint was added. It is only - written for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding - to the taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -4716,11 +3212,9 @@ spec: type: object type: object mounts: - description: Mounts specifies a list of mount points to - be setup. + description: Mounts specifies a list of mount points to be setup. items: - description: MountPoints defines input for generated - mounts in cloud-init. + description: MountPoints defines input for generated mounts in cloud-init. items: type: string type: array @@ -4729,125 +3223,87 @@ spec: description: NTP specifies NTP configuration properties: enabled: - description: Enabled specifies whether NTP should - be enabled + description: Enabled specifies whether NTP should be enabled type: boolean servers: - description: Servers specifies which NTP servers to - use + description: Servers specifies which NTP servers to use items: type: string type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands - to run after kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands - to run before kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic - kubeadm command with a shell script with retries for - joins. \n This is meant to be an experimental temporary - workaround on some environments where joins fail due - to timing (and other issues). The long term goal is - to add retries to kubeadm proper and use that functionality. - \n This will add about 40KB to userdata \n For more - information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." type: boolean users: description: Users specifies extra users to add items: - description: User defines the input for a generated - user in cloud-init. + description: User defines the input for a generated user in cloud-init. properties: gecos: - description: Gecos specifies the gecos to use for - the user + description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups - for the user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory - to use for the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark - the user as inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password - login should be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name type: string passwd: - description: Passwd specifies a hashed password - for the user + description: Passwd specifies a hashed password for the user type: string primaryGroup: - description: PrimaryGroup specifies the primary - group for the user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list - of ssh authorized keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array sudo: - description: Sudo specifies a sudo role for the - user + description: Sudo specifies a sudo role for the user type: string required: - name type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log - level verbosity. It overrides the `--v` flag in kubeadm - commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object machineTemplate: - description: MachineTemplate contains information about how - machines should be shaped when creating or updating a control - plane. + description: MachineTemplate contains information about how machines should be shaped when creating or updating a control plane. properties: infrastructureRef: - description: InfrastructureRef is a required reference - to a custom resource offered by an infrastructure provider. + 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.' + 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' @@ -4856,12 +3312,10 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -4869,49 +3323,31 @@ spec: type: object x-kubernetes-map-type: atomic metadata: - description: 'Standard object''s metadata. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#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' + 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' + 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 nodeDrainTimeout: - description: 'NodeDrainTimeout is the total amount of - time that the controller will spend on draining a controlplane - 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`' + description: 'NodeDrainTimeout is the total amount of time that the controller will spend on draining a controlplane 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 required: - infrastructureRef type: object replicas: - description: Number of desired machines. Defaults to 1. When - stacked etcd is used only odd numbers are permitted, as - per [etcd best practice](https://etcd.io/docs/v3.3.12/faq/#why-an-odd-number-of-cluster-members). - This is a pointer to distinguish between explicit zero and - not specified. + description: Number of desired machines. Defaults to 1. When stacked etcd is used only odd numbers are permitted, as per [etcd best practice](https://etcd.io/docs/v3.3.12/faq/#why-an-odd-number-of-cluster-members). This is a pointer to distinguish between explicit zero and not specified. format: int32 type: integer rolloutAfter: - description: RolloutAfter is a field to indicate a rollout - should be performed after the specified time even if no - changes have been made to the KubeadmControlPlane. + description: RolloutAfter is a field to indicate a rollout should be performed after the specified time even if no changes have been made to the KubeadmControlPlane. format: date-time type: string rolloutStrategy: @@ -4919,28 +3355,20 @@ spec: rollingUpdate: maxSurge: 1 type: RollingUpdate - description: The RolloutStrategy to use to replace control - plane machines with new ones. + description: The RolloutStrategy to use to replace control plane machines with new ones. properties: rollingUpdate: - description: Rolling update config params. Present only - if RolloutStrategyType = RollingUpdate. + description: Rolling update config params. Present only if RolloutStrategyType = RollingUpdate. properties: maxSurge: anyOf: - type: integer - type: string - description: 'The maximum number of control planes - that can be scheduled above or under the desired - number of control planes. Value can be an absolute - number 1 or 0. Defaults to 1. Example: when this - is set to 1, the control plane can be scaled up - immediately when the rolling update starts.' + description: 'The maximum number of control planes that can be scheduled above or under the desired number of control planes. Value can be an absolute number 1 or 0. Defaults to 1. Example: when this is set to 1, the control plane can be scaled up immediately when the rolling update starts.' x-kubernetes-int-or-string: true type: object type: - description: Type of rollout. Currently the only supported - strategy is "RollingUpdate". Default is RollingUpdate. + description: Type of rollout. Currently the only supported strategy is "RollingUpdate". Default is RollingUpdate. type: string type: object version: @@ -4969,91 +3397,63 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: KubeadmControlPlaneTemplate is the Schema for the kubeadmcontrolplanetemplates - API. + description: KubeadmControlPlaneTemplate is the Schema for the kubeadmcontrolplanetemplates API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: - description: KubeadmControlPlaneTemplateSpec defines the desired state - of KubeadmControlPlaneTemplate. + description: KubeadmControlPlaneTemplateSpec defines the desired state of KubeadmControlPlaneTemplate. properties: template: - description: KubeadmControlPlaneTemplateResource describes the data - needed to create a KubeadmControlPlane from a template. + description: KubeadmControlPlaneTemplateResource describes the data needed to create a KubeadmControlPlane from a template. properties: spec: - description: 'KubeadmControlPlaneTemplateResourceSpec defines - the desired state of KubeadmControlPlane. NOTE: KubeadmControlPlaneTemplateResourceSpec - is similar to KubeadmControlPlaneSpec but omits Replicas and - Version fields. These fields do not make sense on the KubeadmControlPlaneTemplate, - because they are calculated by the Cluster topology reconciler - during reconciliation and thus cannot be configured on the KubeadmControlPlaneTemplate.' + description: 'KubeadmControlPlaneTemplateResourceSpec defines the desired state of KubeadmControlPlane. NOTE: KubeadmControlPlaneTemplateResourceSpec is similar to KubeadmControlPlaneSpec but omits Replicas and Version fields. These fields do not make sense on the KubeadmControlPlaneTemplate, because they are calculated by the Cluster topology reconciler during reconciliation and thus cannot be configured on the KubeadmControlPlaneTemplate.' properties: kubeadmConfigSpec: - description: KubeadmConfigSpec is a KubeadmConfigSpec to use - for initializing and joining machines to the control plane. + description: KubeadmConfigSpec is a KubeadmConfigSpec to use for initializing and joining machines to the control plane. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration - are the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for - the API server control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative - Names for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags - to pass to the control plane component. TODO: - This is temporary and ideally we would like - to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements - describing volumes that are mounted from the - host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the - host that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside - the pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the - pod template. + description: Name of the volume inside the pod template. type: string pathType: - description: PathType is the type of the - HostPath. + description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -5062,83 +3462,48 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the - timeout that we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal - value, and may reject unrecognized values. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store - or look for all required certificates. NB: if not - provided, this will default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP - address or DNS name for the control plane; it can - be a valid IP address or a RFC-1123 DNS subdomain, - both with optional TCP port. In case the ControlPlaneEndpoint - is not specified, the AdvertiseAddress + BindPort - are used; in case the ControlPlaneEndpoint is specified - but without a TCP port, the BindPort is used. Possible - usages are: e.g. In a cluster with more than one - control plane instances, this field should be assigned - the address of the external load balancer in front - of the control plane instances. e.g. in environments - with enforced node recycling, the ControlPlaneEndpoint - could be used for assigning a stable DNS to the - control plane. NB: This value defaults to the first - value in the Cluster object status.apiEndpoints - array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings - for the controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags - to pass to the control plane component. TODO: - This is temporary and ideally we would like - to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements - describing volumes that are mounted from the - host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the - host that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside - the pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the - pod template. + description: Name of the volume inside the pod template. type: string pathType: - description: PathType is the type of the - HostPath. + description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -5148,51 +3513,34 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on - installed in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container - registry to pull images from. if not set, the - ImageRepository defined in ClusterConfiguration - will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag - for the image. In case this value is set, kubeadm - does not change automatically the version of - the above components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: - This value defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect - to an external etcd cluster Local and External - are mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate - Authority file used to secure etcd communication. - Required if using a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification - file used to secure etcd communication. - Required if using a TLS connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: - description: Endpoints of etcd members. Required - for ExternalEtcd. + description: Endpoints of etcd members. Required for ExternalEtcd. items: type: string type: array keyFile: - description: KeyFile is an SSL key file used - to secure etcd communication. Required if - using a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -5201,45 +3549,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs - for configuring the local etcd instance Local - and External are mutually exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd - will place its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments - provided to the etcd binary when run inside - a static pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container - registry to pull images from. if not set, - the ImageRepository defined in ClusterConfiguration - will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a - tag for the image. In case this value is - set, kubeadm does not change automatically - the version of the above components during - upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject - Alternative Names for the etcd peer signing - cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject - Alternative Names for the etcd server signing - cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -5251,90 +3583,54 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. If empty, `registry.k8s.io` - will be used by default; in case of kubernetes version - is a CI build (kubernetes version starts with `ci/` - or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will - be used as a default for control plane components - and for kube-proxy, while `registry.k8s.io` will - be used for all the other images. + description: ImageRepository sets the container registry to pull images from. If empty, `registry.k8s.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `registry.k8s.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing - the REST resource this object represents. Servers - may infer this from the endpoint the client submits - requests to. Cannot be updated. In CamelCase. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version - of the control plane. NB: This value defaults to - the Machine object spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the - networking topology of the cluster. NB: This value - defaults to the Cluster object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used - by k8s services. Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. - If unset, the API server will not allocate CIDR - ranges for every node. Defaults to a comma-delimited - string of the Cluster object's spec.clusterNetwork.services.cidrBlocks - if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used - by k8s services. Defaults to a comma-delimited - string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, - or to "10.96.0.0/12" if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for - the scheduler control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags - to pass to the control plane component. TODO: - This is temporary and ideally we would like - to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements - describing volumes that are mounted from the - host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the - host that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside - the pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the - pod template. + description: Name of the volume inside the pod template. type: string pathType: - description: PathType is the type of the - HostPath. + description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -5345,53 +3641,35 @@ spec: type: object type: object diskSetup: - description: DiskSetup specifies options for the creation - of partition tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file - systems to setup. + description: Filesystems specifies the list of file systems to setup. items: - description: Filesystem defines the file systems - to be created. + description: Filesystem defines the file systems to be created. properties: device: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options - to add to the command for creating the file - system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array filesystem: - description: Filesystem specifies the file system - type. + description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system - label to be used. If set to None, no label - is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not - to overwrite any existing filesystem. If true, - any pre-existing file system will be destroyed. - Use with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition - to use. The valid options are: "auto|any", - "auto", "any", "none", and , where NUM - is the actual partition number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, - used for Microsoft Azure that instructs cloud-init - to replace a file system of . NOTE: - unless you define a label, this requires the - use of the ''any'' partition directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -5400,33 +3678,21 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the - partitions to setup. + description: Partitions specifies the list of the partitions to setup. items: - description: Partition defines how to create and - layout a partition. + description: Partition defines how to create and layout a partition. properties: device: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. - If it is true, a single partition will be - created for the entire device. When layout - is false, it means don't partition or ignore - existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to - skip checks and create the partition if a - partition or filesystem is found on the device. - Use with caution. Default is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of - partition table. The following are supported: - ''mbr'': default and setups a MS-DOS partition - table ''gpt'': setups a GPT partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -5435,35 +3701,27 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed - to user_data upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files - in cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: append: - description: Append specifies whether to append - Content to existing file if Path exists. + description: Append specifies whether to append Content to existing file if Path exists. type: boolean content: - description: Content is the actual content of the - file. + description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source - of content to populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that - should populate this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's - data map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -5473,32 +3731,27 @@ spec: - secret type: object encoding: - description: Encoding specifies the encoding of - the file contents. + description: Encoding specifies the encoding of the file contents. enum: - base64 - gzip - gzip+base64 type: string owner: - description: Owner specifies the ownership of the - file, e.g. "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk - where to store the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions - to assign to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path type: object type: array format: - description: Format specifies the output format of the - bootstrap data + description: Format specifies the output format of the bootstrap data enum: - cloud-config - ignition @@ -5507,79 +3760,47 @@ spec: description: Ignition contains Ignition specific configuration. properties: containerLinuxConfig: - description: ContainerLinuxConfig contains CLC specific - configuration. + description: ContainerLinuxConfig contains CLC specific configuration. properties: additionalConfig: - description: "AdditionalConfig contains additional - configuration to be merged with the Ignition - configuration generated by the bootstrapper - controller. More info: https://coreos.github.io/ignition/operator-notes/#config-merging - \n The data format is documented here: https://kinvolk.io/docs/flatcar-container-linux/latest/provisioning/cl-config/" + description: "AdditionalConfig contains additional configuration to be merged with the Ignition configuration generated by the bootstrapper controller. More info: https://coreos.github.io/ignition/operator-notes/#config-merging \n The data format is documented here: https://kinvolk.io/docs/flatcar-container-linux/latest/provisioning/cl-config/" type: string strict: - description: Strict controls if AdditionalConfig - should be strictly parsed. If so, warnings are - treated as errors. + description: Strict controls if AdditionalConfig should be strictly parsed. If so, warnings are treated as errors. type: boolean type: object type: object initConfiguration: - description: InitConfiguration along with ClusterConfiguration - are the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal - value, and may reject unrecognized values. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm - init` time and describes a set of Bootstrap Tokens - to create. This information IS NOT uploaded to the - kubeadm cluster configmap, partly because of its - sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap - token, stored as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly - message why this token exists and what it's - used for, so other administrators can know - its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp - when this token expires. Defaults to being - set dynamically at runtime based on the TTL. - Expires and TTL are mutually exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups - that this token will authenticate as when/if - used for authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing - bidirectional trust between nodes and control-planes. - Used for joining nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for - this token. Defaults to 24h. Expires and TTL - are mutually exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which - this token can be used. Can by default be - used for establishing bidirectional trust, - but that can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -5588,111 +3809,55 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing - the REST resource this object represents. Servers - may infer this from the endpoint the client submits - requests to. Cannot be updated. In CamelCase. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance that's deployed on this - control plane node In HA setups, this differs from - ClusterConfiguration.ControlPlaneEndpoint in the - sense that ControlPlaneEndpoint is the global endpoint - for the cluster, which then loadbalances the requests - to each individual API server. This configuration - object lets you customize what IP/DNS name and port - the local API server advertises it's accessible - on. By default, kubeadm tries to auto-detect the - IP of the default interface and use that, but in - case that process fails you may set the desired - value here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for - the API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object nodeRegistration: - description: NodeRegistration holds fields that relate - to registering the new control-plane node to the - cluster. When used in the context of control plane - nodes, NodeRegistration should remain consistent - across both InitConfiguration and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a - slice of pre-flight errors to be ignored when - the current node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here - are passed to the kubelet command line via the - environment file kubeadm writes at runtime for - the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. - These values are local and specific to the node - kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field - of the Node API object that will be created - in this `kubeadm init` or `kubeadm join` operation. - This field is also used in the CommonName field - of the kubelet's client certificate to the API - server. Defaults to the hostname of the node - if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the - Node API object should be registered with. If - this field is unset, i.e. nil, in the `kubeadm - init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane - node, set this field to an empty slice, i.e. - `taints: []` in the YAML file. This field is - solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: []` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached - to has the "effect" on any pod that does not - tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the - taint on pods that do not tolerate the - taint. Valid effects are NoSchedule, PreferNoSchedule - and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to - be applied to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time - at which the taint was added. It is only - written for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding - to the taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -5701,137 +3866,70 @@ spec: type: array type: object patches: - description: Patches contains options related to applying - patches to components deployed by kubeadm during - "kubeadm init". The minimum kubernetes version needed - to support Patches is v1.22 + description: Patches contains options related to applying patches to components deployed by kubeadm during "kubeadm init". The minimum kubernetes version needed to support Patches is v1.22 properties: directory: - description: Directory is a path to a directory - that contains files named "target[suffix][+patchtype].extension". - For example, "kube-apiserver0+merge.yaml" or - just "etcd.json". "target" can be one of "kube-apiserver", - "kube-controller-manager", "kube-scheduler", - "etcd". "patchtype" can be one of "strategic" - "merge" or "json" and they match the patch formats - supported by kubectl. The default "patchtype" - is "strategic". "extension" must be either "json" - or "yaml". "suffix" is an optional string that - can be used to determine which patches are applied - first alpha-numerically. These files can be - written into the target directory via KubeadmConfig.Files - which specifies additional files to be created - on the machine, either with content inline or - by referencing a secret. + description: Directory is a path to a directory that contains files named "target[suffix][+patchtype].extension". For example, "kube-apiserver0+merge.yaml" or just "etcd.json". "target" can be one of "kube-apiserver", "kube-controller-manager", "kube-scheduler", "etcd". "patchtype" can be one of "strategic" "merge" or "json" and they match the patch formats supported by kubectl. The default "patchtype" is "strategic". "extension" must be either "json" or "yaml". "suffix" is an optional string that can be used to determine which patches are applied first alpha-numerically. These files can be written into the target directory via KubeadmConfig.Files which specifies additional files to be created on the machine, either with content inline or by referencing a secret. type: string type: object skipPhases: - description: SkipPhases is a list of phases to skip - during command execution. The list of phases can - be obtained with the "kubeadm init --help" command. - This option takes effect only on Kubernetes >=1.22.0. + description: SkipPhases is a list of phases to skip during command execution. The list of phases can be obtained with the "kubeadm init --help" command. This option takes effect only on Kubernetes >=1.22.0. items: type: string type: array type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration - for the join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal - value, and may reject unrecognized values. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate - authority used to secure comunications between node - and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". - TODO: revisit when there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control - plane instance to be deployed on the joining node. - If nil, no additional control plane instance will - be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance to be deployed on - this node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP - address for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port - for the API Server to bind to. Defaults - to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object type: object discovery: - description: 'Discovery specifies the options for - the kubelet to use during the TLS Bootstrap process - TODO: revisit when there is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the - options for bootstrap token based discovery - BootstrapToken and File are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or - domain name to the API server from which - info will be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set - of public key pins to verify when token-based - discovery is used. The root CA found during - discovery must match one of these values. - Specifying an empty set disables root CA - pinning, which can be unsafe. Each hash - is specified as ":", where - the only currently supported type is "sha256". - This is a hex-encoded SHA-256 hash of the - Subject Public Key Info (SPKI) object in - DER-encoded ASN.1. These hashes can be calculated - using, for example, OpenSSL: openssl x509 - -pubkey -in ca.crt openssl rsa -pubin -outform - der 2>&/dev/null | openssl dgst -sha256 - -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate - cluster information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows - token-based discovery without CA verification - via CACertHashes. This can weaken the security - of kubeadm since other nodes can impersonate - the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token type: object file: - description: File is used to specify a file or - URL to a kubeconfig file from which to load - cluster information BootstrapToken and File - are mutually exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify - the actual file path or URL to the kubeconfig - file from which to load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -5840,95 +3938,48 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: TLSBootstrapToken is a token used - for TLS bootstrapping. If .BootstrapToken is - set, this field is defaulted to .BootstrapToken.Token, - but can be overridden. If .File is set, this - field **must be set** in case the KubeConfigFile - does not contain any other authentication information + description: TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information type: string type: object kind: - description: 'Kind is a string value representing - the REST resource this object represents. Servers - may infer this from the endpoint the client submits - requests to. Cannot be updated. In CamelCase. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate - to registering the new control-plane node to the - cluster. When used in the context of control plane - nodes, NodeRegistration should remain consistent - across both InitConfiguration and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a - slice of pre-flight errors to be ignored when - the current node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here - are passed to the kubelet command line via the - environment file kubeadm writes at runtime for - the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. - These values are local and specific to the node - kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field - of the Node API object that will be created - in this `kubeadm init` or `kubeadm join` operation. - This field is also used in the CommonName field - of the kubelet's client certificate to the API - server. Defaults to the hostname of the node - if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the - Node API object should be registered with. If - this field is unset, i.e. nil, in the `kubeadm - init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane - node, set this field to an empty slice, i.e. - `taints: []` in the YAML file. This field is - solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: []` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached - to has the "effect" on any pod that does not - tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the - taint on pods that do not tolerate the - taint. Valid effects are NoSchedule, PreferNoSchedule - and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to - be applied to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time - at which the taint was added. It is only - written for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding - to the taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -5937,45 +3988,22 @@ spec: type: array type: object patches: - description: Patches contains options related to applying - patches to components deployed by kubeadm during - "kubeadm join". The minimum kubernetes version needed - to support Patches is v1.22 + description: Patches contains options related to applying patches to components deployed by kubeadm during "kubeadm join". The minimum kubernetes version needed to support Patches is v1.22 properties: directory: - description: Directory is a path to a directory - that contains files named "target[suffix][+patchtype].extension". - For example, "kube-apiserver0+merge.yaml" or - just "etcd.json". "target" can be one of "kube-apiserver", - "kube-controller-manager", "kube-scheduler", - "etcd". "patchtype" can be one of "strategic" - "merge" or "json" and they match the patch formats - supported by kubectl. The default "patchtype" - is "strategic". "extension" must be either "json" - or "yaml". "suffix" is an optional string that - can be used to determine which patches are applied - first alpha-numerically. These files can be - written into the target directory via KubeadmConfig.Files - which specifies additional files to be created - on the machine, either with content inline or - by referencing a secret. + description: Directory is a path to a directory that contains files named "target[suffix][+patchtype].extension". For example, "kube-apiserver0+merge.yaml" or just "etcd.json". "target" can be one of "kube-apiserver", "kube-controller-manager", "kube-scheduler", "etcd". "patchtype" can be one of "strategic" "merge" or "json" and they match the patch formats supported by kubectl. The default "patchtype" is "strategic". "extension" must be either "json" or "yaml". "suffix" is an optional string that can be used to determine which patches are applied first alpha-numerically. These files can be written into the target directory via KubeadmConfig.Files which specifies additional files to be created on the machine, either with content inline or by referencing a secret. type: string type: object skipPhases: - description: SkipPhases is a list of phases to skip - during command execution. The list of phases can - be obtained with the "kubeadm init --help" command. - This option takes effect only on Kubernetes >=1.22.0. + description: SkipPhases is a list of phases to skip during command execution. The list of phases can be obtained with the "kubeadm init --help" command. This option takes effect only on Kubernetes >=1.22.0. items: type: string type: array type: object mounts: - description: Mounts specifies a list of mount points to - be setup. + description: Mounts specifies a list of mount points to be setup. items: - description: MountPoints defines input for generated - mounts in cloud-init. + description: MountPoints defines input for generated mounts in cloud-init. items: type: string type: array @@ -5984,88 +4012,64 @@ spec: description: NTP specifies NTP configuration properties: enabled: - description: Enabled specifies whether NTP should - be enabled + description: Enabled specifies whether NTP should be enabled type: boolean servers: - description: Servers specifies which NTP servers to - use + description: Servers specifies which NTP servers to use items: type: string type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands - to run after kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands - to run before kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic - kubeadm command with a shell script with retries for - joins. \n This is meant to be an experimental temporary - workaround on some environments where joins fail due - to timing (and other issues). The long term goal is - to add retries to kubeadm proper and use that functionality. - \n This will add about 40KB to userdata \n For more - information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055. - Deprecated: This experimental fix is no longer needed - and this field will be removed in a future release." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055. Deprecated: This experimental fix is no longer needed and this field will be removed in a future release." type: boolean users: description: Users specifies extra users to add items: - description: User defines the input for a generated - user in cloud-init. + description: User defines the input for a generated user in cloud-init. properties: gecos: - description: Gecos specifies the gecos to use for - the user + description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups - for the user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory - to use for the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark - the user as inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password - login should be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name type: string passwd: - description: Passwd specifies a hashed password - for the user + description: Passwd specifies a hashed password for the user type: string passwdFrom: - description: PasswdFrom is a referenced source of - passwd to populate the passwd. + description: PasswdFrom is a referenced source of passwd to populate the passwd. properties: secret: - description: Secret represents a secret that - should populate this password. + description: Secret represents a secret that should populate this password. properties: key: - description: Key is the key in the secret's - data map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -6075,58 +4079,40 @@ spec: - secret type: object primaryGroup: - description: PrimaryGroup specifies the primary - group for the user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list - of ssh authorized keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array sudo: - description: Sudo specifies a sudo role for the - user + description: Sudo specifies a sudo role for the user type: string required: - name type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log - level verbosity. It overrides the `--v` flag in kubeadm - commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object machineTemplate: - description: MachineTemplate contains information about how - machines should be shaped when creating or updating a control - plane. + description: MachineTemplate contains information about how machines should be shaped when creating or updating a control plane. properties: nodeDeletionTimeout: - description: NodeDeletionTimeout defines how long the - machine 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. If - no value is provided, the default value for this property - of the Machine resource will be used. + description: NodeDeletionTimeout defines how long the machine 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. If no value is provided, the default value for this property of the Machine resource will be used. type: string nodeDrainTimeout: - description: 'NodeDrainTimeout is the total amount of - time that the controller will spend on draining a controlplane - 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`' + description: 'NodeDrainTimeout is the total amount of time that the controller will spend on draining a controlplane 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 type: object rolloutAfter: - description: RolloutAfter is a field to indicate a rollout - should be performed after the specified time even if no - changes have been made to the KubeadmControlPlane. + description: RolloutAfter is a field to indicate a rollout should be performed after the specified time even if no changes have been made to the KubeadmControlPlane. format: date-time type: string rolloutStrategy: @@ -6134,28 +4120,20 @@ spec: rollingUpdate: maxSurge: 1 type: RollingUpdate - description: The RolloutStrategy to use to replace control - plane machines with new ones. + description: The RolloutStrategy to use to replace control plane machines with new ones. properties: rollingUpdate: - description: Rolling update config params. Present only - if RolloutStrategyType = RollingUpdate. + description: Rolling update config params. Present only if RolloutStrategyType = RollingUpdate. properties: maxSurge: anyOf: - type: integer - type: string - description: 'The maximum number of control planes - that can be scheduled above or under the desired - number of control planes. Value can be an absolute - number 1 or 0. Defaults to 1. Example: when this - is set to 1, the control plane can be scaled up - immediately when the rolling update starts.' + description: 'The maximum number of control planes that can be scheduled above or under the desired number of control planes. Value can be an absolute number 1 or 0. Defaults to 1. Example: when this is set to 1, the control plane can be scaled up immediately when the rolling update starts.' x-kubernetes-int-or-string: true type: object type: - description: Type of rollout. Currently the only supported - strategy is "RollingUpdate". Default is RollingUpdate. + description: Type of rollout. Currently the only supported strategy is "RollingUpdate". Default is RollingUpdate. type: string type: object required: @@ -6351,7 +4329,7 @@ spec: - --namespace=test2 - --leader-elect - --metrics-bind-addr=localhost:8080 - #- --feature-gates=ClusterTopology=${CLUSTER_TOPOLOGY:=false},KubeadmBootstrapFormatIgnition=${EXP_KUBEADM_BOOTSTRAP_FORMAT_IGNITION:=false} + #- --feature-gates=ClusterTopology=${CLUSTER_TOPOLOGY:=false},KubeadmBootstrapFormatIgnition=${EXP_KUBEADM_BOOTSTRAP_FORMAT_IGNITION:=false} command: - /manager env: diff --git a/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/role-binding.yaml b/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/role-binding.yaml index 501f025a..7daa4648 100644 --- a/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/role-binding.yaml +++ b/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/role-binding.yaml @@ -1,4 +1,3 @@ ---- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: diff --git a/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/secret.yaml b/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/secret.yaml index 205413b5..cc0a5439 100644 --- a/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/secret.yaml +++ b/Support/Multitenancy/capi_capm3-mult-instances/test2-manifests/secret.yaml @@ -1,4 +1,3 @@ ---- apiVersion: cert-manager.io/v1 kind: Certificate metadata: @@ -51,4 +50,4 @@ metadata: namespace: capm3-system-test2 spec: selfSigned: {} ---- \ No newline at end of file +--- diff --git a/Support/Multitenancy/capi_capm3-mult-instances/v1a4/capi.yaml b/Support/Multitenancy/capi_capm3-mult-instances/v1a4/capi.yaml index 0255c9e3..b20da5b5 100644 --- a/Support/Multitenancy/capi_capm3-mult-instances/v1a4/capi.yaml +++ b/Support/Multitenancy/capi_capm3-mult-instances/v1a4/capi.yaml @@ -48,18 +48,13 @@ spec: name: v1alpha4 schema: openAPIV3Schema: - description: ClusterClass is a template which can be used to create managed - topologies. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -67,35 +62,19 @@ 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. + 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." + 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. + 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.' + 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' @@ -107,8 +86,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -118,49 +96,27 @@ spec: - 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." + 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' + 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' + 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. + 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.' + 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' @@ -172,8 +128,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -183,31 +138,16 @@ spec: - 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. + 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. + 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.' + 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' @@ -219,8 +159,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -230,158 +169,93 @@ spec: - 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. + 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. + 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`. + 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. + 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. + 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. + 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. + 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.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: - description: 'Kind of the referent. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which - this reference is made, if any. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: - description: 'UID of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object required: - ref type: object infrastructure: - description: Infrastructure contains the infrastructure - template reference to be used for the creation of - worker Machines. + 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. + 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.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: - description: 'Kind of the referent. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string name: - description: 'Name of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More - info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which - this reference is made, if any. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: - description: 'UID of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object 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. + 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' + 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' + 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: @@ -429,68 +303,50 @@ spec: - name: v1alpha3 schema: openAPIV3Schema: - description: ClusterResourceSetBinding lists all matching ClusterResourceSets - with the cluster it belongs to. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: - description: ClusterResourceSetBindingSpec defines the desired state of - ClusterResourceSetBinding. + 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. + 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. + 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. + 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. + 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. + 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. + 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.' + 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. + 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. + description: Name of the resource that is in the same namespace with ClusterResourceSet object. minLength: 1 type: string required: @@ -517,68 +373,50 @@ spec: name: v1alpha4 schema: openAPIV3Schema: - description: ClusterResourceSetBinding lists all matching ClusterResourceSets - with the cluster it belongs to. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: - description: ClusterResourceSetBindingSpec defines the desired state of - ClusterResourceSetBinding. + 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. + 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. + 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. + 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. + 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. + 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. + 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.' + 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. + 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. + description: Name of the resource that is in the same namespace with ClusterResourceSet object. minLength: 1 type: string required: @@ -627,18 +465,13 @@ spec: - name: v1alpha3 schema: openAPIV3Schema: - description: ClusterResourceSet is the Schema for the clusterresourcesets - API. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -646,33 +479,21 @@ 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. + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -684,29 +505,22 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object resources: - description: Resources is a list of Secrets/ConfigMaps where each - contains 1 or more resources to be applied to remote clusters. + 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.' + 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. + description: Name of the resource that is in the same namespace with ClusterResourceSet object. minLength: 1 type: string required: @@ -715,8 +529,7 @@ spec: type: object type: array strategy: - description: Strategy is the strategy to be used during applying resources. - Defaults to ApplyOnce. This field is immutable. + description: Strategy is the strategy to be used during applying resources. Defaults to ApplyOnce. This field is immutable. enum: - ApplyOnce type: string @@ -729,41 +542,26 @@ spec: conditions: description: Conditions defines current state of the ClusterResourceSet. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -771,8 +569,7 @@ spec: type: object type: array observedGeneration: - description: ObservedGeneration reflects the generation of the most - recently observed ClusterResourceSet. + description: ObservedGeneration reflects the generation of the most recently observed ClusterResourceSet. format: int64 type: integer type: object @@ -789,18 +586,13 @@ spec: name: v1alpha4 schema: openAPIV3Schema: - description: ClusterResourceSet is the Schema for the clusterresourcesets - API. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -808,34 +600,21 @@ 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. + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -847,29 +626,22 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object resources: - description: Resources is a list of Secrets/ConfigMaps where each - contains 1 or more resources to be applied to remote clusters. + 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.' + 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. + description: Name of the resource that is in the same namespace with ClusterResourceSet object. minLength: 1 type: string required: @@ -878,8 +650,7 @@ spec: type: object type: array strategy: - description: Strategy is the strategy to be used during applying resources. - Defaults to ApplyOnce. This field is immutable. + description: Strategy is the strategy to be used during applying resources. Defaults to ApplyOnce. This field is immutable. enum: - ApplyOnce type: string @@ -892,41 +663,26 @@ spec: conditions: description: Conditions defines current state of the ClusterResourceSet. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -934,8 +690,7 @@ spec: type: object type: array observedGeneration: - description: ObservedGeneration reflects the generation of the most - recently observed ClusterResourceSet. + description: ObservedGeneration reflects the generation of the most recently observed ClusterResourceSet. format: int64 type: integer type: object @@ -996,14 +751,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -1014,8 +765,7 @@ spec: description: Cluster network configuration. properties: apiServerPort: - description: APIServerPort specifies the port the API Server should - bind to. Defaults to 6443. + description: APIServerPort specifies the port the API Server should bind to. Defaults to 6443. format: int32 type: integer pods: @@ -1043,8 +793,7 @@ spec: type: object type: object controlPlaneEndpoint: - description: ControlPlaneEndpoint represents the endpoint used to - communicate with the control plane. + description: ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. properties: host: description: The hostname on which the API server is serving. @@ -1058,25 +807,13 @@ spec: - 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. + 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.' + 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' @@ -1088,33 +825,20 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object infrastructureRef: - description: InfrastructureRef is a reference to a provider-specific - resource that holds the details for provisioning infrastructure - for a cluster in said provider. + 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.' + 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' @@ -1126,16 +850,14 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object paused: - description: Paused can be used to prevent controllers from processing - the Cluster and all its associated objects. + description: Paused can be used to prevent controllers from processing the Cluster and all its associated objects. type: boolean type: object status: @@ -1144,41 +866,26 @@ spec: conditions: description: Conditions defines current service state of the cluster. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -1186,53 +893,41 @@ spec: type: object type: array controlPlaneInitialized: - description: ControlPlaneInitialized defines if the control plane - has been initialized. + 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. + 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. + 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. + 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. + 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. + 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. + 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + 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. + description: Phase represents the current phase of cluster actuation. E.g. Pending, Running, Terminating, Failed etc. type: string type: object type: object @@ -1255,14 +950,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -1273,8 +964,7 @@ spec: description: Cluster network configuration. properties: apiServerPort: - description: APIServerPort specifies the port the API Server should - bind to. Defaults to 6443. + description: APIServerPort specifies the port the API Server should bind to. Defaults to 6443. format: int32 type: integer pods: @@ -1302,8 +992,7 @@ spec: type: object type: object controlPlaneEndpoint: - description: ControlPlaneEndpoint represents the endpoint used to - communicate with the control plane. + description: ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. properties: host: description: The hostname on which the API server is serving. @@ -1317,25 +1006,13 @@ spec: - 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. + 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.' + 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' @@ -1347,33 +1024,20 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object infrastructureRef: - description: InfrastructureRef is a reference to a provider-specific - resource that holds the details for provisioning infrastructure - for a cluster in said provider. + 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.' + 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' @@ -1385,134 +1049,80 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object paused: - description: Paused can be used to prevent controllers from processing - the Cluster and all its associated objects. + 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.' + 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. + 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." + 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' + 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' + 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. + 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. + 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. + 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. + 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. + 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. + 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. + 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' + 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' + 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. + 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. + 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: @@ -1532,41 +1142,26 @@ spec: conditions: description: Conditions defines current service state of the cluster. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -1578,45 +1173,34 @@ spec: 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. + 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. + 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. + 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. + 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. + 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. + 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + 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. + description: Phase represents the current phase of cluster actuation. E.g. Pending, Running, Terminating, Failed etc. type: string type: object type: object @@ -1678,8 +1262,7 @@ spec: jsonPath: .status.readyReplicas name: Ready type: integer - - description: Total number of non-terminated machines targeted by this deployment - that have the desired template spec + - description: Total number of non-terminated machines targeted by this deployment that have the desired template spec jsonPath: .status.updatedReplicas name: Updated type: integer @@ -1693,14 +1276,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -1708,67 +1287,44 @@ spec: description: MachineDeploymentSpec defines the desired state of MachineDeployment. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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) + 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. + 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. + 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. + 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. + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -1780,59 +1336,30 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object strategy: - description: The deployment strategy to use to replace existing machines - with new ones. + 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. + 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.' + 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.' + 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. + description: Type of deployment. Currently the only supported strategy is "RollingUpdate". Default is RollingUpdate. type: string type: object template: @@ -1844,88 +1371,35 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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." + 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' + 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." + 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." + 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." + 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. + 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. Defaults - to false. To set this field, a user needs "delete" - permission of the owner, otherwise 422 (Unprocessable - Entity) will be returned. + 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. 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. + 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' @@ -1945,37 +1419,19 @@ spec: 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' + 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. + 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. + 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.' + 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' @@ -1984,59 +1440,37 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object 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." + 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. + 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. + 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. + 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. + 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.' + 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' @@ -2048,41 +1482,20 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -2099,8 +1512,7 @@ spec: 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. + description: Total number of available machines (ready for at least minReadySeconds) targeted by this deployment. format: int32 type: integer observedGeneration: @@ -2108,35 +1520,25 @@ spec: format: int64 type: integer phase: - description: Phase represents the current phase of a MachineDeployment - (ScalingUp, ScalingDown, Running, Failed, or Unknown). + 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). + 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' + 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. + 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. + description: Total number of non-terminated machines targeted by this deployment that have the desired template spec. format: int32 type: integer type: object @@ -2170,8 +1572,7 @@ spec: jsonPath: .status.readyReplicas name: Ready type: integer - - description: Total number of non-terminated machines targeted by this deployment - that have the desired template spec + - description: Total number of non-terminated machines targeted by this deployment that have the desired template spec jsonPath: .status.updatedReplicas name: Updated type: integer @@ -2185,14 +1586,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -2200,68 +1597,45 @@ spec: description: MachineDeploymentSpec defines the desired state of MachineDeployment. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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) + 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. + 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. + 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. + 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. + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -2273,26 +1647,17 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object strategy: - description: The deployment strategy to use to replace existing machines - with new ones. + 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. + 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 + 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 @@ -2302,35 +1667,13 @@ spec: 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.' + 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.' + 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: @@ -2349,53 +1692,28 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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' + 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' + 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. + 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. + 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.' + 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' @@ -2404,53 +1722,34 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object 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. + 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. + 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. + 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. + 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.' + 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' @@ -2462,41 +1761,20 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -2513,48 +1791,32 @@ spec: 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. + 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. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -2566,35 +1828,25 @@ spec: format: int64 type: integer phase: - description: Phase represents the current phase of a MachineDeployment - (ScalingUp, ScalingDown, Running, Failed, or Unknown). + 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). + 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' + 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. + 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. + description: Total number of non-terminated machines targeted by this deployment that have the desired template spec. format: int32 type: integer type: object @@ -2665,18 +1917,13 @@ spec: name: v1alpha3 schema: openAPIV3Schema: - description: MachineHealthCheck is the Schema for the machinehealthchecks - API. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -2684,44 +1931,26 @@ spec: description: Specification of machine health check policy properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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. + 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. + 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." + 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.' + 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' @@ -2733,40 +1962,28 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object selector: - description: Label selector to match machines whose health will be - exercised + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -2778,23 +1995,13 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object 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. + 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. + 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 @@ -2822,41 +2029,26 @@ spec: conditions: description: Conditions defines current service state of the MachineHealthCheck. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -2864,32 +2056,26 @@ spec: type: object type: array currentHealthy: - description: total number of healthy machines counted by this machine - health check + 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 + 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. + 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 + 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 + description: Targets shows the current list of machines the machine health check is watching items: type: string type: array @@ -2923,18 +2109,13 @@ spec: name: v1alpha4 schema: openAPIV3Schema: - description: MachineHealthCheck is the Schema for the machinehealthchecks - API. + 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -2942,46 +2123,26 @@ spec: description: Specification of machine health check policy properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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. + 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. + 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." + 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.' + 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' @@ -2993,40 +2154,28 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object selector: - description: Label selector to match machines whose health will be - exercised + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -3038,23 +2187,13 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object 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. + 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. + 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 @@ -3072,12 +2211,7 @@ spec: 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' + 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: @@ -3091,41 +2225,26 @@ spec: conditions: description: Conditions defines current service state of the MachineHealthCheck. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -3133,32 +2252,26 @@ spec: type: object type: array currentHealthy: - description: total number of healthy machines counted by this machine - health check + 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 + 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. + 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 + 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 + description: Targets shows the current list of machines the machine health check is watching items: type: string type: array @@ -3202,8 +2315,7 @@ spec: jsonPath: .status.replicas name: Replicas type: string - - description: MachinePool status such as Terminating/Pending/Provisioning/Running/Failed - etc + - description: MachinePool status such as Terminating/Pending/Provisioning/Running/Failed etc jsonPath: .status.phase name: Phase type: string @@ -3217,14 +2329,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -3232,81 +2340,48 @@ spec: description: MachinePoolSpec defines the desired state of MachinePool. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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. + 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) + 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. + 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. + 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. + 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. + 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.' + 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.' + 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. + description: Type of deployment. Currently the only supported strategy is "RollingUpdate". Default is RollingUpdate. type: string type: object template: @@ -3318,88 +2393,35 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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." + 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' + 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." + 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." + 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." + 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. + 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. Defaults - to false. To set this field, a user needs "delete" - permission of the owner, otherwise 422 (Unprocessable - Entity) will be returned. + 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. 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. + 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' @@ -3419,37 +2441,19 @@ spec: 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' + 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. + 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. + 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.' + 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' @@ -3458,59 +2462,37 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object 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." + 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. + 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. + 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. + 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. + 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.' + 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' @@ -3522,41 +2504,20 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -3572,8 +2533,7 @@ spec: description: MachinePoolStatus defines the observed state of MachinePool. properties: availableReplicas: - description: The number of available replicas (ready for at least - minReadySeconds) for this MachinePool. + description: The number of available replicas (ready for at least minReadySeconds) for this MachinePool. format: int32 type: integer bootstrapReady: @@ -3582,41 +2542,26 @@ spec: conditions: description: Conditions define the current service state of the MachinePool. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -3624,63 +2569,24 @@ spec: 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. + 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. + 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean nodeRefs: - description: NodeRefs will point to the corresponding Nodes if it - they exist. + 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. Instead of using this type, create - a locally provided and used type that is well-focused on your - reference. For example, ServiceReferences for admission registration: - https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 - .' + description: 'ObjectReference contains enough information to let you inspect or modify the referred object. --- New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". Those cannot be well described when embedded. 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple and the version of the actual struct is irrelevant. 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type will affect numerous schemas. Don''t make new APIs embed an underspecified API type they do not control. Instead of using this type, create a locally provided and used type that is well-focused on your reference. For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 .' properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -3692,8 +2598,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -3701,18 +2606,14 @@ spec: type: object type: array observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + 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. + 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". + 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: @@ -3720,12 +2621,7 @@ spec: 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. + 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 @@ -3746,8 +2642,7 @@ spec: jsonPath: .status.replicas name: Replicas type: string - - description: MachinePool status such as Terminating/Pending/Provisioning/Running/Failed - etc + - description: MachinePool status such as Terminating/Pending/Provisioning/Running/Failed etc jsonPath: .status.phase name: Phase type: string @@ -3761,14 +2656,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -3776,33 +2667,25 @@ spec: description: MachinePoolSpec defines the desired state of MachinePool. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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. + 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) + 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. + 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. + 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: @@ -3814,53 +2697,28 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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' + 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' + 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. + 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. + 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.' + 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' @@ -3869,53 +2727,34 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object 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. + 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. + 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. + 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. + 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.' + 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' @@ -3927,41 +2766,20 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -3977,8 +2795,7 @@ spec: description: MachinePoolStatus defines the observed state of MachinePool. properties: availableReplicas: - description: The number of available replicas (ready for at least - minReadySeconds) for this MachinePool. + description: The number of available replicas (ready for at least minReadySeconds) for this MachinePool. format: int32 type: integer bootstrapReady: @@ -3987,41 +2804,26 @@ spec: conditions: description: Conditions define the current service state of the MachinePool. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -4029,63 +2831,24 @@ spec: 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. + 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. + 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean nodeRefs: - description: NodeRefs will point to the corresponding Nodes if it - they exist. + 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. Instead of using this type, create - a locally provided and used type that is well-focused on your - reference. For example, ServiceReferences for admission registration: - https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 - .' + description: 'ObjectReference contains enough information to let you inspect or modify the referred object. --- New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". Those cannot be well described when embedded. 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple and the version of the actual struct is irrelevant. 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type will affect numerous schemas. Don''t make new APIs embed an underspecified API type they do not control. Instead of using this type, create a locally provided and used type that is well-focused on your reference. For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 .' properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -4097,8 +2860,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -4106,18 +2868,14 @@ spec: type: object type: array observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + 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. + 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". + 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: @@ -4125,12 +2883,7 @@ spec: 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. + 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 @@ -4207,14 +2960,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -4222,30 +2971,16 @@ 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. + 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. + 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.' + 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' @@ -4257,53 +2992,34 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object 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." + 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. + 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. + 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. + 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. + 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.' + 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' @@ -4315,38 +3031,20 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -4357,18 +3055,15 @@ spec: 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. + 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. + 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. + description: Machine address type, one of Hostname, ExternalIP or InternalIP. type: string required: - address @@ -4381,41 +3076,26 @@ spec: conditions: description: Conditions defines current service state of the Machine. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -4423,42 +3103,16 @@ spec: 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." + 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." + 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean lastUpdated: - description: LastUpdated identifies when the phase of the Machine - last transitioned. + description: LastUpdated identifies when the phase of the Machine last transitioned. format: date-time type: string nodeRef: @@ -4468,17 +3122,7 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -4490,27 +3134,21 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + 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. + 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. + 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 @@ -4550,14 +3188,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -4565,30 +3199,16 @@ 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. + 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. + 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.' + 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' @@ -4600,48 +3220,31 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object 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. + 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. + 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. + 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. + 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.' + 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' @@ -4653,38 +3256,20 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -4695,18 +3280,15 @@ spec: 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. + 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. + 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. + description: Machine address type, one of Hostname, ExternalIP or InternalIP. type: string required: - address @@ -4719,41 +3301,26 @@ spec: conditions: description: Conditions defines current service state of the Machine. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -4761,47 +3328,20 @@ spec: 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." + 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." + 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean lastUpdated: - description: LastUpdated identifies when the phase of the Machine - last transitioned. + 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' + 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 @@ -4810,12 +3350,10 @@ spec: description: Boot ID reported by the node. type: string containerRuntimeVersion: - description: ContainerRuntime Version reported by the node through - runtime remote API (e.g. docker://1.5.0). + description: ContainerRuntime Version reported by the node through runtime remote API (e.g. docker://1.5.0). type: string kernelVersion: - description: Kernel Version reported by the node from 'uname -r' - (e.g. 3.16.0-0.bpo.4-amd64). + 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. @@ -4824,21 +3362,16 @@ spec: 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' + 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)). + 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 + 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 @@ -4859,17 +3392,7 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -4881,27 +3404,21 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + 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. + 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. + 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 @@ -4969,14 +3486,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -4984,60 +3497,40 @@ spec: description: MachineSetSpec defines the desired state of MachineSet. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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" + 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) + 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. + 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' + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -5049,17 +3542,11 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object template: - description: Template is the object that describes the machine that - will be created if insufficient replicas are detected. Object references - to custom resources resources are treated as templates. + description: Template is the object that describes the machine that will be created if insufficient replicas are detected. Object references to custom resources 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' @@ -5067,88 +3554,35 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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." + 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' + 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." + 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." + 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." + 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. + 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. Defaults - to false. To set this field, a user needs "delete" - permission of the owner, otherwise 422 (Unprocessable - Entity) will be returned. + 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. 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. + 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' @@ -5168,37 +3602,19 @@ spec: 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' + 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. + 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. + 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.' + 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' @@ -5207,59 +3623,37 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object 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." + 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. + 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. + 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. + 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. + 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.' + 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' @@ -5271,41 +3665,20 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -5321,43 +3694,24 @@ spec: description: MachineSetStatus defines the observed state of MachineSet. properties: availableReplicas: - description: The number of available replicas (ready for at least - minReadySeconds) for this MachineSet. + 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." + 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. + 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. + 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". + 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: @@ -5365,10 +3719,7 @@ spec: 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' + 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 @@ -5407,14 +3758,10 @@ spec: 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' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -5422,61 +3769,41 @@ spec: description: MachineSetSpec defines the desired state of MachineSet. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + 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" + 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) + 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. + 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' + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic - merge patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -5488,17 +3815,11 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object template: - description: Template is the object that describes the machine that - will be created if insufficient replicas are detected. Object references - to custom resources resources are treated as templates. + description: Template is the object that describes the machine that will be created if insufficient replicas are detected. Object references to custom resources 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' @@ -5506,53 +3827,28 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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' + 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' + 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. + 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. + 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.' + 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' @@ -5561,53 +3857,34 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object 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. + 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. + 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. + 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. + 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.' + 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' @@ -5619,41 +3896,20 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object 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`' + 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -5669,48 +3925,32 @@ spec: description: MachineSetStatus defines the observed state of MachineSet. properties: availableReplicas: - description: The number of available replicas (ready for at least - minReadySeconds) for this MachineSet. + 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. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -5720,36 +3960,18 @@ spec: 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." + 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. + 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. + 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". + 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: @@ -5757,10 +3979,7 @@ spec: 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' + 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 diff --git a/Support/Multitenancy/capi_capm3-mult-instances/v1a4/capm3.yaml b/Support/Multitenancy/capi_capm3-mult-instances/v1a4/capm3.yaml index 506e929f..22500777 100644 --- a/Support/Multitenancy/capi_capm3-mult-instances/v1a4/capm3.yaml +++ b/Support/Multitenancy/capi_capm3-mult-instances/v1a4/capm3.yaml @@ -60,14 +60,10 @@ spec: description: IPAddress is the Schema for the ipaddresses API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -85,17 +81,7 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -107,8 +93,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -132,17 +117,7 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -154,8 +129,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -236,14 +210,10 @@ spec: description: IPClaim is the Schema for the ipclaims API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -257,17 +227,7 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -279,8 +239,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -293,24 +252,13 @@ spec: description: IPClaimStatus defines the observed state of IPClaim. properties: address: - description: Address is the IPAddress that was generated for this - claim. + description: Address is the IPAddress that was generated for this claim. properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -322,8 +270,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -404,14 +351,10 @@ spec: description: IPPool is the Schema for the ippools API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -419,8 +362,7 @@ spec: description: IPPoolSpec defines the desired state of IPPool. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + description: ClusterName is the name of the Cluster this object belongs to. type: string dnsServers: description: DNSServers is the list of dns servers @@ -434,15 +376,13 @@ spec: pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) type: string namePrefix: - description: namePrefix is the prefix used to generate the IPAddress - object names + description: namePrefix is the prefix used to generate the IPAddress object names minLength: 1 type: string pools: description: Pools contains the list of IP addresses pools items: - description: MetaDataIPAddress contains the info to render th ip - address. It is IP-version agnostic + description: MetaDataIPAddress contains the info to render th ip address. It is IP-version agnostic properties: dnsServers: description: DNSServers is the list of dns servers @@ -452,8 +392,7 @@ spec: type: string type: array end: - description: End is the last IP address that can be rendered. - It is used as a validation that the rendered IP is in bound. + description: End is the last IP address that can be rendered. It is used as a validation that the rendered IP is in bound. pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) type: string gateway: @@ -461,8 +400,7 @@ spec: pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) type: string prefix: - description: Prefix is the mask of the network as integer (max - 128) + description: Prefix is the mask of the network as integer (max 128) maximum: 128 type: integer start: @@ -470,10 +408,7 @@ spec: pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) type: string subnet: - description: Subnet is used to validate that the rendered IP - is in bounds. In case the Start value is not given, it is - derived from the subnet ip incremented by 1 (`192.168.0.1` - for `192.168.0.0/24`) + description: Subnet is used to validate that the rendered IP is in bounds. In case the Start value is not given, it is derived from the subnet ip incremented by 1 (`192.168.0.1` for `192.168.0.0/24`) pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))/([0-9]|[1-2][0-9]|3[0-2])$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8])$)) type: string type: object @@ -500,8 +435,7 @@ spec: description: IPAddress is used for validation of an IP address pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) type: string - description: Allocations contains the map of objects and IP addresses - they have + description: Allocations contains the map of objects and IP addresses they have type: object lastUpdated: description: LastUpdated identifies when this status was last observed. @@ -583,14 +517,10 @@ spec: description: Metal3Cluster is the Schema for the metal3clusters API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -598,8 +528,7 @@ spec: description: Metal3ClusterSpec defines the desired state of Metal3Cluster. properties: controlPlaneEndpoint: - description: ControlPlaneEndpoint represents the endpoint used to - communicate with the control plane. + description: ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. properties: host: description: Host is the hostname on which the API server is serving. @@ -620,23 +549,17 @@ spec: description: Metal3ClusterStatus defines the observed state of Metal3Cluster. properties: failureMessage: - description: FailureMessage indicates that there is a fatal problem - reconciling the state, and will be set to a descriptive error message. + 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. + 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 lastUpdated: description: LastUpdated identifies when this status was last observed. format: date-time type: string ready: - description: Ready denotes that the Metal3 cluster (infrastructure) - is ready. In Baremetal case, it does not mean anything for now as - no infrastructure steps need to be performed. Required by Cluster - API. Set to True by the metal3Cluster controller after creation. + description: Ready denotes that the Metal3 cluster (infrastructure) is ready. In Baremetal case, it does not mean anything for now as no infrastructure steps need to be performed. Required by Cluster API. Set to True by the metal3Cluster controller after creation. type: boolean required: - ready @@ -673,14 +596,10 @@ spec: description: Metal3Cluster is the Schema for the metal3clusters API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -688,8 +607,7 @@ spec: description: Metal3ClusterSpec defines the desired state of Metal3Cluster. properties: controlPlaneEndpoint: - description: ControlPlaneEndpoint represents the endpoint used to - communicate with the control plane. + description: ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. properties: host: description: Host is the hostname on which the API server is serving. @@ -710,23 +628,17 @@ spec: description: Metal3ClusterStatus defines the observed state of Metal3Cluster. properties: failureMessage: - description: FailureMessage indicates that there is a fatal problem - reconciling the state, and will be set to a descriptive error message. + 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. + 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 lastUpdated: description: LastUpdated identifies when this status was last observed. format: date-time type: string ready: - description: Ready denotes that the Metal3 cluster (infrastructure) - is ready. In Baremetal case, it does not mean anything for now as - no infrastructure steps need to be performed. Required by Cluster - API. Set to True by the metal3Cluster controller after creation. + description: Ready denotes that the Metal3 cluster (infrastructure) is ready. In Baremetal case, it does not mean anything for now as no infrastructure steps need to be performed. Required by Cluster API. Set to True by the metal3Cluster controller after creation. type: boolean required: - ready @@ -789,14 +701,10 @@ spec: description: Metal3DataClaim is the Schema for the metal3datas API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -804,24 +712,13 @@ spec: description: Metal3DataClaimSpec defines the desired state of Metal3DataClaim. properties: template: - description: Template is the Metal3DataTemplate this was generated - for. + description: Template is the Metal3DataTemplate this was generated for. properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -833,8 +730,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -856,17 +752,7 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -878,8 +764,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -902,14 +787,10 @@ spec: description: Metal3DataClaim is the Schema for the metal3datas API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -917,24 +798,13 @@ spec: description: Metal3DataClaimSpec defines the desired state of Metal3DataClaim. properties: template: - description: Template is the Metal3DataTemplate this was generated - for. + description: Template is the Metal3DataTemplate this was generated for. properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -946,8 +816,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -969,17 +838,7 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -991,8 +850,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -1057,14 +915,10 @@ spec: description: Metal3Data is the Schema for the metal3datas API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -1072,24 +926,13 @@ spec: description: Metal3DataSpec defines the desired state of Metal3Data. properties: claim: - description: DataClaim points to the Metal3DataClaim the Metal3Data - was created for. + description: DataClaim points to the Metal3DataClaim the Metal3Data was created for. properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -1101,60 +944,43 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object index: - description: Index stores the index value of this instance in the - Metal3DataTemplate. + description: Index stores the index value of this instance in the Metal3DataTemplate. type: integer metaData: description: MetaData points to the rendered MetaData secret. properties: name: - description: Name is unique within a namespace to reference a - secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which the secret - name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object networkData: description: NetworkData points to the rendered NetworkData secret. properties: name: - description: Name is unique within a namespace to reference a - secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which the secret - name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object template: - description: DataTemplate is the Metal3DataTemplate this was generated - from. + description: DataTemplate is the Metal3DataTemplate this was generated from. properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -1166,17 +992,14 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object templateReference: - description: TemplateReference refers to the Template the Metal3MachineTemplate - refers to. It can be matched against the key or it may also point - to the name of the template Metal3Data refers to + description: TemplateReference refers to the Template the Metal3MachineTemplate refers to. It can be matched against the key or it may also point to the name of the template Metal3Data refers to type: string required: - claim @@ -1189,8 +1012,7 @@ spec: description: ErrorMessage contains the error message type: string ready: - description: Ready is a flag set to True if the secrets were rendered - properly + description: Ready is a flag set to True if the secrets were rendered properly type: boolean type: object type: object @@ -1209,14 +1031,10 @@ spec: description: Metal3Data is the Schema for the metal3datas API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -1224,24 +1042,13 @@ spec: description: Metal3DataSpec defines the desired state of Metal3Data. properties: claim: - description: DataClaim points to the Metal3DataClaim the Metal3Data - was created for. + description: DataClaim points to the Metal3DataClaim the Metal3Data was created for. properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -1253,60 +1060,43 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object index: - description: Index stores the index value of this instance in the - Metal3DataTemplate. + description: Index stores the index value of this instance in the Metal3DataTemplate. type: integer metaData: description: MetaData points to the rendered MetaData secret. properties: name: - description: Name is unique within a namespace to reference a - secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which the secret - name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object networkData: description: NetworkData points to the rendered NetworkData secret. properties: name: - description: Name is unique within a namespace to reference a - secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which the secret - name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object template: - description: DataTemplate is the Metal3DataTemplate this was generated - from. + description: DataTemplate is the Metal3DataTemplate this was generated from. properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -1318,17 +1108,14 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object templateReference: - description: TemplateReference refers to the Template the Metal3MachineTemplate - refers to. It can be matched against the key or it may also point - to the name of the template Metal3Data refers to + description: TemplateReference refers to the Template the Metal3MachineTemplate refers to. It can be matched against the key or it may also point to the name of the template Metal3Data refers to type: string required: - claim @@ -1341,8 +1128,7 @@ spec: description: ErrorMessage contains the error message type: string ready: - description: Ready is a flag set to True if the secrets were rendered - properly + description: Ready is a flag set to True if the secrets were rendered properly type: boolean type: object type: object @@ -1405,18 +1191,13 @@ spec: name: v1alpha4 schema: openAPIV3Schema: - description: Metal3DataTemplate is the Schema for the metal3datatemplates - API + description: Metal3DataTemplate is the Schema for the metal3datatemplates API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -1424,26 +1205,21 @@ spec: description: Metal3DataTemplateSpec defines the desired state of Metal3DataTemplate. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + description: ClusterName is the name of the Cluster this object belongs to. minLength: 1 type: string metaData: - description: MetaData contains the information needed to generate - the metadata secret + description: MetaData contains the information needed to generate the metadata secret properties: dnsServersFromIPPool: - description: DNSServersFromPool is the list of metadata items - to be rendered as dns servers. + description: DNSServersFromPool is the list of metadata items to be rendered as dns servers. items: properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string name: - description: Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init type: string required: - key @@ -1451,24 +1227,18 @@ spec: type: object type: array fromAnnotations: - description: FromAnnotations is the list of metadata items to - be fetched from object Annotations + description: FromAnnotations is the list of metadata items to be fetched from object Annotations items: - description: MetaDataFromAnnotation contains the information - to fetch an annotation content, if the label does not exist, - it is rendered as empty string + description: MetaDataFromAnnotation contains the information to fetch an annotation content, if the label does not exist, it is rendered as empty string properties: annotation: - description: Annotation is the key of the Annotation to - fetch + description: Annotation is the key of the Annotation to fetch type: string key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string object: - description: Object is the type of the object from which - we retrieve the name + description: Object is the type of the object from which we retrieve the name enum: - machine - metal3machine @@ -1481,20 +1251,15 @@ spec: type: object type: array fromHostInterfaces: - description: FromHostInterfaces is the list of metadata items - to be rendered as MAC addresses of the host interfaces. + description: FromHostInterfaces is the list of metadata items to be rendered as MAC addresses of the host interfaces. items: - description: MetaDataHostInterface contains the information - to render the object name + description: MetaDataHostInterface contains the information to render the object name properties: interface: - description: Interface is the name of the interface in the - BareMetalHost Status Hardware Details list of interfaces - from which to fetch the MAC address. + description: Interface is the name of the interface in the BareMetalHost Status Hardware Details list of interfaces from which to fetch the MAC address. type: string key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string required: - interface @@ -1502,23 +1267,18 @@ spec: type: object type: array fromLabels: - description: FromLabels is the list of metadata items to be fetched - from object labels + description: FromLabels is the list of metadata items to be fetched from object labels items: - description: MetaDataFromLabel contains the information to fetch - a label content, if the label does not exist, it is rendered - as empty string + description: MetaDataFromLabel contains the information to fetch a label content, if the label does not exist, it is rendered as empty string properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string label: description: Label is the key of the label to fetch type: string object: - description: Object is the type of the object from which - we retrieve the name + description: Object is the type of the object from which we retrieve the name enum: - machine - metal3machine @@ -1531,17 +1291,14 @@ spec: type: object type: array gatewaysFromIPPool: - description: GatewaysFromPool is the list of metadata items to - be rendered as gateway addresses. + description: GatewaysFromPool is the list of metadata items to be rendered as gateway addresses. items: properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string name: - description: Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init type: string required: - key @@ -1549,19 +1306,15 @@ spec: type: object type: array indexes: - description: Indexes is the list of metadata items to be rendered - from the index of the Metal3Data + description: Indexes is the list of metadata items to be rendered from the index of the Metal3Data items: - description: MetaDataIndex contains the information to render - the index + description: MetaDataIndex contains the information to render the index properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string offset: - description: Offset is the offset to apply to the index - when rendering it + description: Offset is the offset to apply to the index when rendering it type: integer prefix: description: Prefix is the prefix string @@ -1578,17 +1331,14 @@ spec: type: object type: array ipAddressesFromIPPool: - description: IPAddressesFromPool is the list of metadata items - to be rendered as ip addresses. + description: IPAddressesFromPool is the list of metadata items to be rendered as ip addresses. items: properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string name: - description: Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init type: string required: - key @@ -1596,34 +1346,27 @@ spec: type: object type: array namespaces: - description: Namespaces is the list of metadata items to be rendered - from the namespace + description: Namespaces is the list of metadata items to be rendered from the namespace items: - description: MetaDataNamespace contains the information to render - the namespace + description: MetaDataNamespace contains the information to render the namespace properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string required: - key type: object type: array objectNames: - description: ObjectNames is the list of metadata items to be rendered - from the name of objects. + description: ObjectNames is the list of metadata items to be rendered from the name of objects. items: - description: MetaDataObjectName contains the information to - render the object name + description: MetaDataObjectName contains the information to render the object name properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string object: - description: Object is the type of the object from which - we retrieve the name + description: Object is the type of the object from which we retrieve the name enum: - machine - metal3machine @@ -1635,17 +1378,14 @@ spec: type: object type: array prefixesFromIPPool: - description: PrefixesFromPool is the list of metadata items to - be rendered as network prefixes. + description: PrefixesFromPool is the list of metadata items to be rendered as network prefixes. items: properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string name: - description: Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init type: string required: - key @@ -1653,15 +1393,12 @@ spec: type: object type: array strings: - description: Strings is the list of metadata items to be rendered - from strings + description: Strings is the list of metadata items to be rendered from strings items: - description: MetaDataString contains the information to render - the string + description: MetaDataString contains the information to render the string properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string value: description: Value is the string to render. @@ -1673,29 +1410,23 @@ spec: type: array type: object networkData: - description: NetworkData contains the information needed to generate - the networkdata secret + description: NetworkData contains the information needed to generate the networkdata secret properties: links: - description: Links is a structure containing lists of different - types objects + description: Links is a structure containing lists of different types objects properties: bonds: description: Bonds contains a list of Bond links items: - description: NetworkDataLinkBond represents a bond link - object + description: NetworkDataLinkBond represents a bond link object properties: bondLinks: - description: BondLinks is the list of links that are - part of the bond. + description: BondLinks is the list of links that are part of the bond. items: type: string type: array bondMode: - description: BondMode is the mode of bond used. It can - be one of balance-rr, active-backup, balance-xor, - broadcast, balance-tlb, balance-alb, 802.3ad + description: BondMode is the mode of bond used. It can be one of balance-rr, active-backup, balance-xor, broadcast, balance-tlb, balance-alb, 802.3ad enum: - balance-rr - active-backup @@ -1706,21 +1437,16 @@ spec: - 802.3ad type: string id: - description: Id is the ID of the interface (used for - naming) + description: Id is the ID of the interface (used for naming) type: string macAddress: - description: MACAddress is the MAC address of the interface, - containing the object used to render it. + description: MACAddress is the MAC address of the interface, containing the object used to render it. properties: fromHostInterface: - description: FromHostInterface contains the name - of the interface in the BareMetalHost Introspection - details from which to fetch the MAC address + description: FromHostInterface contains the name of the interface in the BareMetalHost Introspection details from which to fetch the MAC address type: string string: - description: String contains the MAC address given - as a string + description: String contains the MAC address given as a string type: string type: object mtu: @@ -1738,25 +1464,19 @@ spec: ethernets: description: Ethernets contains a list of Ethernet links items: - description: NetworkDataLinkEthernet represents an ethernet - link object + description: NetworkDataLinkEthernet represents an ethernet link object properties: id: - description: Id is the ID of the interface (used for - naming) + description: Id is the ID of the interface (used for naming) type: string macAddress: - description: MACAddress is the MAC address of the interface, - containing the object used to render it. + description: MACAddress is the MAC address of the interface, containing the object used to render it. properties: fromHostInterface: - description: FromHostInterface contains the name - of the interface in the BareMetalHost Introspection - details from which to fetch the MAC address + description: FromHostInterface contains the name of the interface in the BareMetalHost Introspection details from which to fetch the MAC address type: string string: - description: String contains the MAC address given - as a string + description: String contains the MAC address given as a string type: string type: object mtu: @@ -1765,9 +1485,7 @@ spec: maximum: 9000 type: integer type: - description: 'Type is the type of the ethernet link. - It can be one of: bridge, dvs, hw_veb, hyperv, ovs, - tap, vhostuser, vif, phy' + description: 'Type is the type of the ethernet link. It can be one of: bridge, dvs, hw_veb, hyperv, ovs, tap, vhostuser, vif, phy' enum: - bridge - dvs @@ -1788,25 +1506,19 @@ spec: vlans: description: Vlans contains a list of Vlan links items: - description: NetworkDataLinkVlan represents a vlan link - object + description: NetworkDataLinkVlan represents a vlan link object properties: id: - description: Id is the ID of the interface (used for - naming) + description: Id is the ID of the interface (used for naming) type: string macAddress: - description: MACAddress is the MAC address of the interface, - containing the object used to render it. + description: MACAddress is the MAC address of the interface, containing the object used to render it. properties: fromHostInterface: - description: FromHostInterface contains the name - of the interface in the BareMetalHost Introspection - details from which to fetch the MAC address + description: FromHostInterface contains the name of the interface in the BareMetalHost Introspection details from which to fetch the MAC address type: string string: - description: String contains the MAC address given - as a string + description: String contains the MAC address given as a string type: string type: object mtu: @@ -1819,8 +1531,7 @@ spec: maximum: 4096 type: integer vlanLink: - description: VlanLink is the name of the link on which - the vlan should be added + description: VlanLink is the name of the link on which the vlan should be added type: string required: - id @@ -1831,21 +1542,18 @@ spec: type: array type: object networks: - description: Networks is a structure containing lists of different - types objects + description: Networks is a structure containing lists of different types objects properties: ipv4: description: IPv4 contains a list of IPv4 static allocations items: - description: NetworkDataIPv4 represents an ipv4 static network - object + description: NetworkDataIPv4 represents an ipv4 static network object properties: id: description: ID is the network ID (name) type: string ipAddressFromIPPool: - description: IPAddressFromIPPool contains the name of - the IPPool to use to get an ip address + description: IPAddressFromIPPool contains the name of the IPPool to use to get an ip address type: string link: description: Link is the link on which the network applies @@ -1853,20 +1561,16 @@ spec: routes: description: Routes contains a list of IPv4 routes items: - description: NetworkDataRoutev4 represents an ipv4 - route object + description: NetworkDataRoutev4 represents an ipv4 route object properties: gateway: - description: Gateway is the IPv4 address of the - gateway + description: Gateway is the IPv4 address of the gateway properties: fromIPPool: - description: FromIPPool is the name of the - IPPool to fetch the gateway from + description: FromIPPool is the name of the IPPool to fetch the gateway from type: string string: - description: String is the gateway given as - a string + description: String is the gateway given as a string pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string type: object @@ -1875,8 +1579,7 @@ spec: pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string prefix: - description: Prefix is the mask of the network - as integer (max 32) + description: Prefix is the mask of the network as integer (max 32) maximum: 32 type: integer services: @@ -1885,14 +1588,12 @@ spec: dns: description: DNS is a list of IPv4 DNS services items: - description: IPAddressv4 is used for validation - of an IPv6 address + description: IPAddressv4 is used for validation of an IPv6 address pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string type: array dnsFromIPPool: - description: DNSFromIPPool is the name of - the IPPool from which to get the DNS servers + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers type: string type: object required: @@ -1909,8 +1610,7 @@ spec: ipv4DHCP: description: IPv4 contains a list of IPv4 DHCP allocations items: - description: NetworkDataIPv4DHCP represents an ipv4 DHCP - network object + description: NetworkDataIPv4DHCP represents an ipv4 DHCP network object properties: id: description: ID is the network ID (name) @@ -1921,20 +1621,16 @@ spec: routes: description: Routes contains a list of IPv4 routes items: - description: NetworkDataRoutev4 represents an ipv4 - route object + description: NetworkDataRoutev4 represents an ipv4 route object properties: gateway: - description: Gateway is the IPv4 address of the - gateway + description: Gateway is the IPv4 address of the gateway properties: fromIPPool: - description: FromIPPool is the name of the - IPPool to fetch the gateway from + description: FromIPPool is the name of the IPPool to fetch the gateway from type: string string: - description: String is the gateway given as - a string + description: String is the gateway given as a string pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string type: object @@ -1943,8 +1639,7 @@ spec: pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string prefix: - description: Prefix is the mask of the network - as integer (max 32) + description: Prefix is the mask of the network as integer (max 32) maximum: 32 type: integer services: @@ -1953,14 +1648,12 @@ spec: dns: description: DNS is a list of IPv4 DNS services items: - description: IPAddressv4 is used for validation - of an IPv6 address + description: IPAddressv4 is used for validation of an IPv6 address pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string type: array dnsFromIPPool: - description: DNSFromIPPool is the name of - the IPPool from which to get the DNS servers + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers type: string type: object required: @@ -1976,15 +1669,13 @@ spec: ipv6: description: IPv4 contains a list of IPv6 static allocations items: - description: NetworkDataIPv6 represents an ipv6 static network - object + description: NetworkDataIPv6 represents an ipv6 static network object properties: id: description: ID is the network ID (name) type: string ipAddressFromIPPool: - description: IPAddressFromIPPool contains the name of - the IPPool to use to get an ip address + description: IPAddressFromIPPool contains the name of the IPPool to use to get an ip address type: string link: description: Link is the link on which the network applies @@ -1992,20 +1683,16 @@ spec: routes: description: Routes contains a list of IPv6 routes items: - description: NetworkDataRoutev6 represents an ipv6 - route object + description: NetworkDataRoutev6 represents an ipv6 route object properties: gateway: - description: Gateway is the IPv6 address of the - gateway + description: Gateway is the IPv6 address of the gateway properties: fromIPPool: - description: FromIPPool is the name of the - IPPool to fetch the gateway from + description: FromIPPool is the name of the IPPool to fetch the gateway from type: string string: - description: String is the gateway given as - a string + description: String is the gateway given as a string pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string type: object @@ -2014,8 +1701,7 @@ spec: pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string prefix: - description: Prefix is the mask of the network - as integer (max 128) + description: Prefix is the mask of the network as integer (max 128) maximum: 128 type: integer services: @@ -2024,14 +1710,12 @@ spec: dns: description: DNS is a list of IPv6 DNS services items: - description: IPAddressv6 is used for validation - of an IPv6 address + description: IPAddressv6 is used for validation of an IPv6 address pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string type: array dnsFromIPPool: - description: DNSFromIPPool is the name of - the IPPool from which to get the DNS servers + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers type: string type: object required: @@ -2048,8 +1732,7 @@ spec: ipv6DHCP: description: IPv4 contains a list of IPv6 DHCP allocations items: - description: NetworkDataIPv6DHCP represents an ipv6 DHCP - network object + description: NetworkDataIPv6DHCP represents an ipv6 DHCP network object properties: id: description: ID is the network ID (name) @@ -2060,20 +1743,16 @@ spec: routes: description: Routes contains a list of IPv6 routes items: - description: NetworkDataRoutev6 represents an ipv6 - route object + description: NetworkDataRoutev6 represents an ipv6 route object properties: gateway: - description: Gateway is the IPv6 address of the - gateway + description: Gateway is the IPv6 address of the gateway properties: fromIPPool: - description: FromIPPool is the name of the - IPPool to fetch the gateway from + description: FromIPPool is the name of the IPPool to fetch the gateway from type: string string: - description: String is the gateway given as - a string + description: String is the gateway given as a string pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string type: object @@ -2082,8 +1761,7 @@ spec: pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string prefix: - description: Prefix is the mask of the network - as integer (max 128) + description: Prefix is the mask of the network as integer (max 128) maximum: 128 type: integer services: @@ -2092,14 +1770,12 @@ spec: dns: description: DNS is a list of IPv6 DNS services items: - description: IPAddressv6 is used for validation - of an IPv6 address + description: IPAddressv6 is used for validation of an IPv6 address pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string type: array dnsFromIPPool: - description: DNSFromIPPool is the name of - the IPPool from which to get the DNS servers + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers type: string type: object required: @@ -2115,8 +1791,7 @@ spec: ipv6SLAAC: description: IPv4 contains a list of IPv6 SLAAC allocations items: - description: NetworkDataIPv6DHCP represents an ipv6 DHCP - network object + description: NetworkDataIPv6DHCP represents an ipv6 DHCP network object properties: id: description: ID is the network ID (name) @@ -2127,20 +1802,16 @@ spec: routes: description: Routes contains a list of IPv6 routes items: - description: NetworkDataRoutev6 represents an ipv6 - route object + description: NetworkDataRoutev6 represents an ipv6 route object properties: gateway: - description: Gateway is the IPv6 address of the - gateway + description: Gateway is the IPv6 address of the gateway properties: fromIPPool: - description: FromIPPool is the name of the - IPPool to fetch the gateway from + description: FromIPPool is the name of the IPPool to fetch the gateway from type: string string: - description: String is the gateway given as - a string + description: String is the gateway given as a string pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string type: object @@ -2149,8 +1820,7 @@ spec: pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string prefix: - description: Prefix is the mask of the network - as integer (max 128) + description: Prefix is the mask of the network as integer (max 128) maximum: 128 type: integer services: @@ -2159,14 +1829,12 @@ spec: dns: description: DNS is a list of IPv6 DNS services items: - description: IPAddressv6 is used for validation - of an IPv6 address + description: IPAddressv6 is used for validation of an IPv6 address pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string type: array dnsFromIPPool: - description: DNSFromIPPool is the name of - the IPPool from which to get the DNS servers + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers type: string type: object required: @@ -2181,8 +1849,7 @@ spec: type: array type: object services: - description: Services is a structure containing lists of different - types objects + description: Services is a structure containing lists of different types objects properties: dns: description: DNS is a list of DNS services @@ -2192,15 +1859,12 @@ spec: type: string type: array dnsFromIPPool: - description: DNSFromIPPool is the name of the IPPool from - which to get the DNS servers + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers type: string type: object type: object templateReference: - description: TemplateReference refers to the Template the Metal3MachineTemplate - refers to. It can be matched against the key or it may also point - to the name of the template Metal3Data refers to + description: TemplateReference refers to the Template the Metal3MachineTemplate refers to. It can be matched against the key or it may also point to the name of the template Metal3Data refers to type: string required: - clusterName @@ -2235,18 +1899,13 @@ spec: name: v1alpha5 schema: openAPIV3Schema: - description: Metal3DataTemplate is the Schema for the metal3datatemplates - API + description: Metal3DataTemplate is the Schema for the metal3datatemplates API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -2254,26 +1913,21 @@ spec: description: Metal3DataTemplateSpec defines the desired state of Metal3DataTemplate. properties: clusterName: - description: ClusterName is the name of the Cluster this object belongs - to. + description: ClusterName is the name of the Cluster this object belongs to. minLength: 1 type: string metaData: - description: MetaData contains the information needed to generate - the metadata secret + description: MetaData contains the information needed to generate the metadata secret properties: dnsServersFromIPPool: - description: DNSServersFromPool is the list of metadata items - to be rendered as dns servers. + description: DNSServersFromPool is the list of metadata items to be rendered as dns servers. items: properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string name: - description: Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init type: string required: - key @@ -2281,24 +1935,18 @@ spec: type: object type: array fromAnnotations: - description: FromAnnotations is the list of metadata items to - be fetched from object Annotations + description: FromAnnotations is the list of metadata items to be fetched from object Annotations items: - description: MetaDataFromAnnotation contains the information - to fetch an annotation content, if the label does not exist, - it is rendered as empty string + description: MetaDataFromAnnotation contains the information to fetch an annotation content, if the label does not exist, it is rendered as empty string properties: annotation: - description: Annotation is the key of the Annotation to - fetch + description: Annotation is the key of the Annotation to fetch type: string key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string object: - description: Object is the type of the object from which - we retrieve the name + description: Object is the type of the object from which we retrieve the name enum: - machine - metal3machine @@ -2311,20 +1959,15 @@ spec: type: object type: array fromHostInterfaces: - description: FromHostInterfaces is the list of metadata items - to be rendered as MAC addresses of the host interfaces. + description: FromHostInterfaces is the list of metadata items to be rendered as MAC addresses of the host interfaces. items: - description: MetaDataHostInterface contains the information - to render the object name + description: MetaDataHostInterface contains the information to render the object name properties: interface: - description: Interface is the name of the interface in the - BareMetalHost Status Hardware Details list of interfaces - from which to fetch the MAC address. + description: Interface is the name of the interface in the BareMetalHost Status Hardware Details list of interfaces from which to fetch the MAC address. type: string key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string required: - interface @@ -2332,23 +1975,18 @@ spec: type: object type: array fromLabels: - description: FromLabels is the list of metadata items to be fetched - from object labels + description: FromLabels is the list of metadata items to be fetched from object labels items: - description: MetaDataFromLabel contains the information to fetch - a label content, if the label does not exist, it is rendered - as empty string + description: MetaDataFromLabel contains the information to fetch a label content, if the label does not exist, it is rendered as empty string properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string label: description: Label is the key of the label to fetch type: string object: - description: Object is the type of the object from which - we retrieve the name + description: Object is the type of the object from which we retrieve the name enum: - machine - metal3machine @@ -2361,17 +1999,14 @@ spec: type: object type: array gatewaysFromIPPool: - description: GatewaysFromPool is the list of metadata items to - be rendered as gateway addresses. + description: GatewaysFromPool is the list of metadata items to be rendered as gateway addresses. items: properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string name: - description: Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init type: string required: - key @@ -2379,19 +2014,15 @@ spec: type: object type: array indexes: - description: Indexes is the list of metadata items to be rendered - from the index of the Metal3Data + description: Indexes is the list of metadata items to be rendered from the index of the Metal3Data items: - description: MetaDataIndex contains the information to render - the index + description: MetaDataIndex contains the information to render the index properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string offset: - description: Offset is the offset to apply to the index - when rendering it + description: Offset is the offset to apply to the index when rendering it type: integer prefix: description: Prefix is the prefix string @@ -2408,17 +2039,14 @@ spec: type: object type: array ipAddressesFromIPPool: - description: IPAddressesFromPool is the list of metadata items - to be rendered as ip addresses. + description: IPAddressesFromPool is the list of metadata items to be rendered as ip addresses. items: properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string name: - description: Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init type: string required: - key @@ -2426,34 +2054,27 @@ spec: type: object type: array namespaces: - description: Namespaces is the list of metadata items to be rendered - from the namespace + description: Namespaces is the list of metadata items to be rendered from the namespace items: - description: MetaDataNamespace contains the information to render - the namespace + description: MetaDataNamespace contains the information to render the namespace properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string required: - key type: object type: array objectNames: - description: ObjectNames is the list of metadata items to be rendered - from the name of objects. + description: ObjectNames is the list of metadata items to be rendered from the name of objects. items: - description: MetaDataObjectName contains the information to - render the object name + description: MetaDataObjectName contains the information to render the object name properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string object: - description: Object is the type of the object from which - we retrieve the name + description: Object is the type of the object from which we retrieve the name enum: - machine - metal3machine @@ -2465,17 +2086,14 @@ spec: type: object type: array prefixesFromIPPool: - description: PrefixesFromPool is the list of metadata items to - be rendered as network prefixes. + description: PrefixesFromPool is the list of metadata items to be rendered as network prefixes. items: properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string name: - description: Name is the name of the IPPool used to fetch - the value to set in the metadata map for cloud-init + description: Name is the name of the IPPool used to fetch the value to set in the metadata map for cloud-init type: string required: - key @@ -2483,15 +2101,12 @@ spec: type: object type: array strings: - description: Strings is the list of metadata items to be rendered - from strings + description: Strings is the list of metadata items to be rendered from strings items: - description: MetaDataString contains the information to render - the string + description: MetaDataString contains the information to render the string properties: key: - description: Key will be used as the key to set in the metadata - map for cloud-init + description: Key will be used as the key to set in the metadata map for cloud-init type: string value: description: Value is the string to render. @@ -2503,29 +2118,23 @@ spec: type: array type: object networkData: - description: NetworkData contains the information needed to generate - the networkdata secret + description: NetworkData contains the information needed to generate the networkdata secret properties: links: - description: Links is a structure containing lists of different - types objects + description: Links is a structure containing lists of different types objects properties: bonds: description: Bonds contains a list of Bond links items: - description: NetworkDataLinkBond represents a bond link - object + description: NetworkDataLinkBond represents a bond link object properties: bondLinks: - description: BondLinks is the list of links that are - part of the bond. + description: BondLinks is the list of links that are part of the bond. items: type: string type: array bondMode: - description: BondMode is the mode of bond used. It can - be one of balance-rr, active-backup, balance-xor, - broadcast, balance-tlb, balance-alb, 802.3ad + description: BondMode is the mode of bond used. It can be one of balance-rr, active-backup, balance-xor, broadcast, balance-tlb, balance-alb, 802.3ad enum: - balance-rr - active-backup @@ -2536,21 +2145,16 @@ spec: - 802.3ad type: string id: - description: Id is the ID of the interface (used for - naming) + description: Id is the ID of the interface (used for naming) type: string macAddress: - description: MACAddress is the MAC address of the interface, - containing the object used to render it. + description: MACAddress is the MAC address of the interface, containing the object used to render it. properties: fromHostInterface: - description: FromHostInterface contains the name - of the interface in the BareMetalHost Introspection - details from which to fetch the MAC address + description: FromHostInterface contains the name of the interface in the BareMetalHost Introspection details from which to fetch the MAC address type: string string: - description: String contains the MAC address given - as a string + description: String contains the MAC address given as a string type: string type: object mtu: @@ -2568,25 +2172,19 @@ spec: ethernets: description: Ethernets contains a list of Ethernet links items: - description: NetworkDataLinkEthernet represents an ethernet - link object + description: NetworkDataLinkEthernet represents an ethernet link object properties: id: - description: Id is the ID of the interface (used for - naming) + description: Id is the ID of the interface (used for naming) type: string macAddress: - description: MACAddress is the MAC address of the interface, - containing the object used to render it. + description: MACAddress is the MAC address of the interface, containing the object used to render it. properties: fromHostInterface: - description: FromHostInterface contains the name - of the interface in the BareMetalHost Introspection - details from which to fetch the MAC address + description: FromHostInterface contains the name of the interface in the BareMetalHost Introspection details from which to fetch the MAC address type: string string: - description: String contains the MAC address given - as a string + description: String contains the MAC address given as a string type: string type: object mtu: @@ -2595,9 +2193,7 @@ spec: maximum: 9000 type: integer type: - description: 'Type is the type of the ethernet link. - It can be one of: bridge, dvs, hw_veb, hyperv, ovs, - tap, vhostuser, vif, phy' + description: 'Type is the type of the ethernet link. It can be one of: bridge, dvs, hw_veb, hyperv, ovs, tap, vhostuser, vif, phy' enum: - bridge - dvs @@ -2618,25 +2214,19 @@ spec: vlans: description: Vlans contains a list of Vlan links items: - description: NetworkDataLinkVlan represents a vlan link - object + description: NetworkDataLinkVlan represents a vlan link object properties: id: - description: Id is the ID of the interface (used for - naming) + description: Id is the ID of the interface (used for naming) type: string macAddress: - description: MACAddress is the MAC address of the interface, - containing the object used to render it. + description: MACAddress is the MAC address of the interface, containing the object used to render it. properties: fromHostInterface: - description: FromHostInterface contains the name - of the interface in the BareMetalHost Introspection - details from which to fetch the MAC address + description: FromHostInterface contains the name of the interface in the BareMetalHost Introspection details from which to fetch the MAC address type: string string: - description: String contains the MAC address given - as a string + description: String contains the MAC address given as a string type: string type: object mtu: @@ -2649,8 +2239,7 @@ spec: maximum: 4096 type: integer vlanLink: - description: VlanLink is the name of the link on which - the vlan should be added + description: VlanLink is the name of the link on which the vlan should be added type: string required: - id @@ -2661,21 +2250,18 @@ spec: type: array type: object networks: - description: Networks is a structure containing lists of different - types objects + description: Networks is a structure containing lists of different types objects properties: ipv4: description: IPv4 contains a list of IPv4 static allocations items: - description: NetworkDataIPv4 represents an ipv4 static network - object + description: NetworkDataIPv4 represents an ipv4 static network object properties: id: description: ID is the network ID (name) type: string ipAddressFromIPPool: - description: IPAddressFromIPPool contains the name of - the IPPool to use to get an ip address + description: IPAddressFromIPPool contains the name of the IPPool to use to get an ip address type: string link: description: Link is the link on which the network applies @@ -2683,20 +2269,16 @@ spec: routes: description: Routes contains a list of IPv4 routes items: - description: NetworkDataRoutev4 represents an ipv4 - route object + description: NetworkDataRoutev4 represents an ipv4 route object properties: gateway: - description: Gateway is the IPv4 address of the - gateway + description: Gateway is the IPv4 address of the gateway properties: fromIPPool: - description: FromIPPool is the name of the - IPPool to fetch the gateway from + description: FromIPPool is the name of the IPPool to fetch the gateway from type: string string: - description: String is the gateway given as - a string + description: String is the gateway given as a string pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string type: object @@ -2705,8 +2287,7 @@ spec: pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string prefix: - description: Prefix is the mask of the network - as integer (max 32) + description: Prefix is the mask of the network as integer (max 32) maximum: 32 type: integer services: @@ -2715,14 +2296,12 @@ spec: dns: description: DNS is a list of IPv4 DNS services items: - description: IPAddressv4 is used for validation - of an IPv6 address + description: IPAddressv4 is used for validation of an IPv6 address pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string type: array dnsFromIPPool: - description: DNSFromIPPool is the name of - the IPPool from which to get the DNS servers + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers type: string type: object required: @@ -2739,8 +2318,7 @@ spec: ipv4DHCP: description: IPv4 contains a list of IPv4 DHCP allocations items: - description: NetworkDataIPv4DHCP represents an ipv4 DHCP - network object + description: NetworkDataIPv4DHCP represents an ipv4 DHCP network object properties: id: description: ID is the network ID (name) @@ -2751,20 +2329,16 @@ spec: routes: description: Routes contains a list of IPv4 routes items: - description: NetworkDataRoutev4 represents an ipv4 - route object + description: NetworkDataRoutev4 represents an ipv4 route object properties: gateway: - description: Gateway is the IPv4 address of the - gateway + description: Gateway is the IPv4 address of the gateway properties: fromIPPool: - description: FromIPPool is the name of the - IPPool to fetch the gateway from + description: FromIPPool is the name of the IPPool to fetch the gateway from type: string string: - description: String is the gateway given as - a string + description: String is the gateway given as a string pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string type: object @@ -2773,8 +2347,7 @@ spec: pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string prefix: - description: Prefix is the mask of the network - as integer (max 32) + description: Prefix is the mask of the network as integer (max 32) maximum: 32 type: integer services: @@ -2783,14 +2356,12 @@ spec: dns: description: DNS is a list of IPv4 DNS services items: - description: IPAddressv4 is used for validation - of an IPv6 address + description: IPAddressv4 is used for validation of an IPv6 address pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$ type: string type: array dnsFromIPPool: - description: DNSFromIPPool is the name of - the IPPool from which to get the DNS servers + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers type: string type: object required: @@ -2806,15 +2377,13 @@ spec: ipv6: description: IPv4 contains a list of IPv6 static allocations items: - description: NetworkDataIPv6 represents an ipv6 static network - object + description: NetworkDataIPv6 represents an ipv6 static network object properties: id: description: ID is the network ID (name) type: string ipAddressFromIPPool: - description: IPAddressFromIPPool contains the name of - the IPPool to use to get an ip address + description: IPAddressFromIPPool contains the name of the IPPool to use to get an ip address type: string link: description: Link is the link on which the network applies @@ -2822,20 +2391,16 @@ spec: routes: description: Routes contains a list of IPv6 routes items: - description: NetworkDataRoutev6 represents an ipv6 - route object + description: NetworkDataRoutev6 represents an ipv6 route object properties: gateway: - description: Gateway is the IPv6 address of the - gateway + description: Gateway is the IPv6 address of the gateway properties: fromIPPool: - description: FromIPPool is the name of the - IPPool to fetch the gateway from + description: FromIPPool is the name of the IPPool to fetch the gateway from type: string string: - description: String is the gateway given as - a string + description: String is the gateway given as a string pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string type: object @@ -2844,8 +2409,7 @@ spec: pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string prefix: - description: Prefix is the mask of the network - as integer (max 128) + description: Prefix is the mask of the network as integer (max 128) maximum: 128 type: integer services: @@ -2854,14 +2418,12 @@ spec: dns: description: DNS is a list of IPv6 DNS services items: - description: IPAddressv6 is used for validation - of an IPv6 address + description: IPAddressv6 is used for validation of an IPv6 address pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string type: array dnsFromIPPool: - description: DNSFromIPPool is the name of - the IPPool from which to get the DNS servers + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers type: string type: object required: @@ -2878,8 +2440,7 @@ spec: ipv6DHCP: description: IPv4 contains a list of IPv6 DHCP allocations items: - description: NetworkDataIPv6DHCP represents an ipv6 DHCP - network object + description: NetworkDataIPv6DHCP represents an ipv6 DHCP network object properties: id: description: ID is the network ID (name) @@ -2890,20 +2451,16 @@ spec: routes: description: Routes contains a list of IPv6 routes items: - description: NetworkDataRoutev6 represents an ipv6 - route object + description: NetworkDataRoutev6 represents an ipv6 route object properties: gateway: - description: Gateway is the IPv6 address of the - gateway + description: Gateway is the IPv6 address of the gateway properties: fromIPPool: - description: FromIPPool is the name of the - IPPool to fetch the gateway from + description: FromIPPool is the name of the IPPool to fetch the gateway from type: string string: - description: String is the gateway given as - a string + description: String is the gateway given as a string pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string type: object @@ -2912,8 +2469,7 @@ spec: pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string prefix: - description: Prefix is the mask of the network - as integer (max 128) + description: Prefix is the mask of the network as integer (max 128) maximum: 128 type: integer services: @@ -2922,14 +2478,12 @@ spec: dns: description: DNS is a list of IPv6 DNS services items: - description: IPAddressv6 is used for validation - of an IPv6 address + description: IPAddressv6 is used for validation of an IPv6 address pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string type: array dnsFromIPPool: - description: DNSFromIPPool is the name of - the IPPool from which to get the DNS servers + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers type: string type: object required: @@ -2945,8 +2499,7 @@ spec: ipv6SLAAC: description: IPv4 contains a list of IPv6 SLAAC allocations items: - description: NetworkDataIPv6DHCP represents an ipv6 DHCP - network object + description: NetworkDataIPv6DHCP represents an ipv6 DHCP network object properties: id: description: ID is the network ID (name) @@ -2957,20 +2510,16 @@ spec: routes: description: Routes contains a list of IPv6 routes items: - description: NetworkDataRoutev6 represents an ipv6 - route object + description: NetworkDataRoutev6 represents an ipv6 route object properties: gateway: - description: Gateway is the IPv6 address of the - gateway + description: Gateway is the IPv6 address of the gateway properties: fromIPPool: - description: FromIPPool is the name of the - IPPool to fetch the gateway from + description: FromIPPool is the name of the IPPool to fetch the gateway from type: string string: - description: String is the gateway given as - a string + description: String is the gateway given as a string pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string type: object @@ -2979,8 +2528,7 @@ spec: pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string prefix: - description: Prefix is the mask of the network - as integer (max 128) + description: Prefix is the mask of the network as integer (max 128) maximum: 128 type: integer services: @@ -2989,14 +2537,12 @@ spec: dns: description: DNS is a list of IPv6 DNS services items: - description: IPAddressv6 is used for validation - of an IPv6 address + description: IPAddressv6 is used for validation of an IPv6 address pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$ type: string type: array dnsFromIPPool: - description: DNSFromIPPool is the name of - the IPPool from which to get the DNS servers + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers type: string type: object required: @@ -3011,8 +2557,7 @@ spec: type: array type: object services: - description: Services is a structure containing lists of different - types objects + description: Services is a structure containing lists of different types objects properties: dns: description: DNS is a list of DNS services @@ -3022,15 +2567,12 @@ spec: type: string type: array dnsFromIPPool: - description: DNSFromIPPool is the name of the IPPool from - which to get the DNS servers + description: DNSFromIPPool is the name of the IPPool from which to get the DNS servers type: string type: object type: object templateReference: - description: TemplateReference refers to the Template the Metal3MachineTemplate - refers to. It can be matched against the key or it may also point - to the name of the template Metal3Data refers to + description: TemplateReference refers to the Template the Metal3MachineTemplate refers to. It can be matched against the key or it may also point to the name of the template Metal3Data refers to type: string required: - clusterName @@ -3123,14 +2665,10 @@ spec: description: Metal3Machine is the Schema for the metal3machines API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -3138,33 +2676,19 @@ spec: description: Metal3MachineSpec defines the desired state of Metal3Machine properties: automatedCleaningMode: - description: When set to disabled, automated cleaning of host disks - will be skipped during provisioning and deprovisioning. + description: When set to disabled, automated cleaning of host disks will be skipped during provisioning and deprovisioning. enum: - metadata - disabled type: string dataTemplate: - description: MetadataTemplate is a reference to a Metal3DataTemplate - object containing a template of metadata to be rendered. Metadata - keys defined in the metadataTemplate take precedence over keys defined - in metadata field. + description: MetadataTemplate is a reference to a Metal3DataTemplate object containing a template of metadata to be rendered. Metadata keys defined in the metadataTemplate take precedence over keys defined in metadata field. properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -3176,29 +2700,23 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object hostSelector: - description: HostSelector specifies matching criteria for labels on - BareMetalHosts. This is used to limit the set of BareMetalHost objects - considered for claiming for a metal3machine. + description: HostSelector specifies matching criteria for labels on BareMetalHosts. This is used to limit the set of BareMetalHost objects considered for claiming for a metal3machine. properties: matchExpressions: - description: Label match expressions that must be true on a chosen - BareMetalHost + description: Label match expressions that must be true on a chosen BareMetalHost items: properties: key: type: string operator: - description: Operator represents a key/field's relationship - to value(s). See labels.Requirement and fields.Requirement - for more details. + description: Operator represents a key/field's relationship to value(s). See labels.Requirement and fields.Requirement for more details. type: string values: items: @@ -3213,20 +2731,17 @@ spec: matchLabels: additionalProperties: type: string - description: Key/value pairs of labels that must exist on a chosen - BareMetalHost + description: Key/value pairs of labels that must exist on a chosen BareMetalHost type: object type: object image: description: Image is the image to be provisioned. properties: checksum: - description: Checksum is a md5sum value or a URL to retrieve one. - Not required for live-iso. + description: Checksum is a md5sum value or a URL to retrieve one. Not required for live-iso. type: string checksumType: - description: ChecksumType is the checksum algorithm for the image. - e.g md5, sha256, sha512 + description: ChecksumType is the checksum algorithm for the image. e.g md5, sha256, sha512 enum: - md5 - sha256 @@ -3248,47 +2763,36 @@ spec: - url type: object metaData: - description: MetaData is an object storing the reference to the secret - containing the Metadata given by the user. + description: MetaData is an object storing the reference to the secret containing the Metadata given by the user. properties: name: - description: Name is unique within a namespace to reference a - secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which the secret - name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object networkData: - description: NetworkData is an object storing the reference to the - secret containing the network data given by the user. + description: NetworkData is an object storing the reference to the secret containing the network data given by the user. properties: name: - description: Name is unique within a namespace to reference a - secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which the secret - name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object providerID: - description: ProviderID will be the Metal3 machine in ProviderID format - (metal3://) + description: ProviderID will be the Metal3 machine in ProviderID format (metal3://) type: string userData: - description: UserData references the Secret that holds user data needed - by the bare metal operator. The Namespace is optional; it will default - to the metal3machine's namespace if not specified. + description: UserData references the Secret that holds user data needed by the bare metal operator. The Namespace is optional; it will default to the metal3machine's namespace if not specified. properties: name: - description: Name is unique within a namespace to reference a - secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which the secret - name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object required: @@ -3298,18 +2802,15 @@ spec: description: Metal3MachineStatus defines the observed state of Metal3Machine properties: addresses: - description: Addresses is a list of addresses assigned to the machine. - This field is copied from the infrastructure provider reference. + 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. + 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. + description: Machine address type, one of Hostname, ExternalIP or InternalIP. type: string required: - address @@ -3317,96 +2818,49 @@ spec: type: object type: array failureMessage: - description: "FailureMessage will be set in the event that there is - a terminal problem reconciling the metal3machine 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 metal3machine'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 metal3machines can - be added as events to the metal3machine object and/or logged in - the controller's output." + description: "FailureMessage will be set in the event that there is a terminal problem reconciling the metal3machine 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 metal3machine'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 metal3machines can be added as events to the metal3machine 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 metal3machine 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 metal3machine'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 metal3machines can be added as - events to the metal3machine object and/or logged in the controller's - output." + description: "FailureReason will be set in the event that there is a terminal problem reconciling the metal3machine 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 metal3machine'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 metal3machines can be added as events to the metal3machine object and/or logged in the controller's output." type: string lastUpdated: description: LastUpdated identifies when this status was last observed. format: date-time type: string metaData: - description: MetaData is an object storing the reference to the secret - containing the Metadata used to deploy the BareMetalHost. + description: MetaData is an object storing the reference to the secret containing the Metadata used to deploy the BareMetalHost. properties: name: - description: Name is unique within a namespace to reference a - secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which the secret - name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object networkData: - description: NetworkData is an object storing the reference to the - secret containing the network data used to deploy the BareMetalHost. + description: NetworkData is an object storing the reference to the secret containing the network data used to deploy the BareMetalHost. properties: name: - description: Name is unique within a namespace to reference a - secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which the secret - name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object phase: - description: Phase represents the current phase of machine actuation. - E.g. Pending, Running, Terminating, Failed etc. + description: Phase represents the current phase of machine actuation. E.g. Pending, Running, Terminating, Failed etc. type: string ready: - description: 'Ready is the state of the metal3. TODO : Document the - variable : mhrivnak: " it would be good to document what this means, - how to interpret it, under what circumstances the value changes, - etc."' + description: 'Ready is the state of the metal3. TODO : Document the variable : mhrivnak: " it would be good to document what this means, how to interpret it, under what circumstances the value changes, etc."' type: boolean renderedData: - description: RenderedData is a reference to a rendered Metal3Data - object containing the references to metaData and networkData secrets. + description: RenderedData is a reference to a rendered Metal3Data object containing the references to metaData and networkData secrets. properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -3418,25 +2872,20 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object userData: - description: UserData references the Secret that holds user data needed - by the bare metal operator. The Namespace is optional; it will default - to the metal3machine's namespace if not specified. + description: UserData references the Secret that holds user data needed by the bare metal operator. The Namespace is optional; it will default to the metal3machine's namespace if not specified. properties: name: - description: Name is unique within a namespace to reference a - secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which the secret - name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object type: object @@ -3472,14 +2921,10 @@ spec: description: Metal3Machine is the Schema for the metal3machines API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -3487,33 +2932,19 @@ spec: description: Metal3MachineSpec defines the desired state of Metal3Machine properties: automatedCleaningMode: - description: When set to disabled, automated cleaning of host disks - will be skipped during provisioning and deprovisioning. + description: When set to disabled, automated cleaning of host disks will be skipped during provisioning and deprovisioning. enum: - metadata - disabled type: string dataTemplate: - description: MetadataTemplate is a reference to a Metal3DataTemplate - object containing a template of metadata to be rendered. Metadata - keys defined in the metadataTemplate take precedence over keys defined - in metadata field. + description: MetadataTemplate is a reference to a Metal3DataTemplate object containing a template of metadata to be rendered. Metadata keys defined in the metadataTemplate take precedence over keys defined in metadata field. properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -3525,29 +2956,23 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object hostSelector: - description: HostSelector specifies matching criteria for labels on - BareMetalHosts. This is used to limit the set of BareMetalHost objects - considered for claiming for a metal3machine. + description: HostSelector specifies matching criteria for labels on BareMetalHosts. This is used to limit the set of BareMetalHost objects considered for claiming for a metal3machine. properties: matchExpressions: - description: Label match expressions that must be true on a chosen - BareMetalHost + description: Label match expressions that must be true on a chosen BareMetalHost items: properties: key: type: string operator: - description: Operator represents a key/field's relationship - to value(s). See labels.Requirement and fields.Requirement - for more details. + description: Operator represents a key/field's relationship to value(s). See labels.Requirement and fields.Requirement for more details. type: string values: items: @@ -3562,8 +2987,7 @@ spec: matchLabels: additionalProperties: type: string - description: Key/value pairs of labels that must exist on a chosen - BareMetalHost + description: Key/value pairs of labels that must exist on a chosen BareMetalHost type: object type: object image: @@ -3573,8 +2997,7 @@ spec: description: Checksum is a md5sum value or a URL to retrieve one. type: string checksumType: - description: ChecksumType is the checksum algorithm for the image. - e.g md5, sha256, sha512 + description: ChecksumType is the checksum algorithm for the image. e.g md5, sha256, sha512 enum: - md5 - sha256 @@ -3597,47 +3020,36 @@ spec: - url type: object metaData: - description: MetaData is an object storing the reference to the secret - containing the Metadata given by the user. + description: MetaData is an object storing the reference to the secret containing the Metadata given by the user. properties: name: - description: Name is unique within a namespace to reference a - secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which the secret - name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object networkData: - description: NetworkData is an object storing the reference to the - secret containing the network data given by the user. + description: NetworkData is an object storing the reference to the secret containing the network data given by the user. properties: name: - description: Name is unique within a namespace to reference a - secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which the secret - name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object providerID: - description: ProviderID will be the Metal3 machine in ProviderID format - (metal3://) + description: ProviderID will be the Metal3 machine in ProviderID format (metal3://) type: string userData: - description: UserData references the Secret that holds user data needed - by the bare metal operator. The Namespace is optional; it will default - to the metal3machine's namespace if not specified. + description: UserData references the Secret that holds user data needed by the bare metal operator. The Namespace is optional; it will default to the metal3machine's namespace if not specified. properties: name: - description: Name is unique within a namespace to reference a - secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which the secret - name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object required: @@ -3647,18 +3059,15 @@ spec: description: Metal3MachineStatus defines the observed state of Metal3Machine properties: addresses: - description: Addresses is a list of addresses assigned to the machine. - This field is copied from the infrastructure provider reference. + 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. + 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. + description: Machine address type, one of Hostname, ExternalIP or InternalIP. type: string required: - address @@ -3666,96 +3075,49 @@ spec: type: object type: array failureMessage: - description: "FailureMessage will be set in the event that there is - a terminal problem reconciling the metal3machine 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 metal3machine'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 metal3machines can - be added as events to the metal3machine object and/or logged in - the controller's output." + description: "FailureMessage will be set in the event that there is a terminal problem reconciling the metal3machine 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 metal3machine'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 metal3machines can be added as events to the metal3machine 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 metal3machine 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 metal3machine'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 metal3machines can be added as - events to the metal3machine object and/or logged in the controller's - output." + description: "FailureReason will be set in the event that there is a terminal problem reconciling the metal3machine 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 metal3machine'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 metal3machines can be added as events to the metal3machine object and/or logged in the controller's output." type: string lastUpdated: description: LastUpdated identifies when this status was last observed. format: date-time type: string metaData: - description: MetaData is an object storing the reference to the secret - containing the Metadata used to deploy the BareMetalHost. + description: MetaData is an object storing the reference to the secret containing the Metadata used to deploy the BareMetalHost. properties: name: - description: Name is unique within a namespace to reference a - secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which the secret - name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object networkData: - description: NetworkData is an object storing the reference to the - secret containing the network data used to deploy the BareMetalHost. + description: NetworkData is an object storing the reference to the secret containing the network data used to deploy the BareMetalHost. properties: name: - description: Name is unique within a namespace to reference a - secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which the secret - name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object phase: - description: Phase represents the current phase of machine actuation. - E.g. Pending, Running, Terminating, Failed etc. + description: Phase represents the current phase of machine actuation. E.g. Pending, Running, Terminating, Failed etc. type: string ready: - description: 'Ready is the state of the metal3. TODO : Document the - variable : mhrivnak: " it would be good to document what this means, - how to interpret it, under what circumstances the value changes, - etc."' + description: 'Ready is the state of the metal3. TODO : Document the variable : mhrivnak: " it would be good to document what this means, how to interpret it, under what circumstances the value changes, etc."' type: boolean renderedData: - description: RenderedData is a reference to a rendered Metal3Data - object containing the references to metaData and networkData secrets. + description: RenderedData is a reference to a rendered Metal3Data object containing the references to metaData and networkData secrets. properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -3767,25 +3129,20 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object userData: - description: UserData references the Secret that holds user data needed - by the bare metal operator. The Namespace is optional; it will default - to the metal3machine's namespace if not specified. + description: UserData references the Secret that holds user data needed by the bare metal operator. The Namespace is optional; it will default to the metal3machine's namespace if not specified. properties: name: - description: Name is unique within a namespace to reference a - secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which the secret - name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object type: object @@ -3844,18 +3201,13 @@ spec: - name: v1alpha4 schema: openAPIV3Schema: - description: Metal3MachineTemplate is the Schema for the metal3machinetemplates - API + description: Metal3MachineTemplate is the Schema for the metal3machinetemplates API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -3864,46 +3216,28 @@ spec: properties: nodeReuse: default: false - description: When set to True, CAPM3 Machine controller will pick - the same pool of BMHs' that were released during the upgrade operation. + description: When set to True, CAPM3 Machine controller will pick the same pool of BMHs' that were released during the upgrade operation. type: boolean template: - description: Metal3MachineTemplateResource describes the data needed - to create a Metal3Machine from a template + description: Metal3MachineTemplateResource describes the data needed to create a Metal3Machine from a template properties: spec: - description: Spec is the specification of the desired behavior - of the machine. + description: Spec is the specification of the desired behavior of the machine. properties: automatedCleaningMode: - description: When set to disabled, automated cleaning of host - disks will be skipped during provisioning and deprovisioning. + description: When set to disabled, automated cleaning of host disks will be skipped during provisioning and deprovisioning. enum: - metadata - disabled type: string dataTemplate: - description: MetadataTemplate is a reference to a Metal3DataTemplate - object containing a template of metadata to be rendered. - Metadata keys defined in the metadataTemplate take precedence - over keys defined in metadata field. + description: MetadataTemplate is a reference to a Metal3DataTemplate object containing a template of metadata to be rendered. Metadata keys defined in the metadataTemplate take precedence over keys defined in metadata field. properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead - of an entire object, this string should contain a valid - JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container - within a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that - triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this - pod). This syntax is chosen only to have some well-defined - way of referencing a part of an object. TODO: this design - is not final and this field is subject to change in - the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -3915,29 +3249,23 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object hostSelector: - description: HostSelector specifies matching criteria for - labels on BareMetalHosts. This is used to limit the set - of BareMetalHost objects considered for claiming for a metal3machine. + description: HostSelector specifies matching criteria for labels on BareMetalHosts. This is used to limit the set of BareMetalHost objects considered for claiming for a metal3machine. properties: matchExpressions: - description: Label match expressions that must be true - on a chosen BareMetalHost + description: Label match expressions that must be true on a chosen BareMetalHost items: properties: key: type: string operator: - description: Operator represents a key/field's relationship - to value(s). See labels.Requirement and fields.Requirement - for more details. + description: Operator represents a key/field's relationship to value(s). See labels.Requirement and fields.Requirement for more details. type: string values: items: @@ -3952,20 +3280,17 @@ spec: matchLabels: additionalProperties: type: string - description: Key/value pairs of labels that must exist - on a chosen BareMetalHost + description: Key/value pairs of labels that must exist on a chosen BareMetalHost type: object type: object image: description: Image is the image to be provisioned. properties: checksum: - description: Checksum is a md5sum value or a URL to retrieve - one. Not required for live-iso. + description: Checksum is a md5sum value or a URL to retrieve one. Not required for live-iso. type: string checksumType: - description: ChecksumType is the checksum algorithm for - the image. e.g md5, sha256, sha512 + description: ChecksumType is the checksum algorithm for the image. e.g md5, sha256, sha512 enum: - md5 - sha256 @@ -3987,48 +3312,36 @@ spec: - url type: object metaData: - description: MetaData is an object storing the reference to - the secret containing the Metadata given by the user. + description: MetaData is an object storing the reference to the secret containing the Metadata given by the user. properties: name: - description: Name is unique within a namespace to reference - a secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which - the secret name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object networkData: - description: NetworkData is an object storing the reference - to the secret containing the network data given by the user. + description: NetworkData is an object storing the reference to the secret containing the network data given by the user. properties: name: - description: Name is unique within a namespace to reference - a secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which - the secret name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object providerID: - description: ProviderID will be the Metal3 machine in ProviderID - format (metal3://) + description: ProviderID will be the Metal3 machine in ProviderID format (metal3://) type: string userData: - description: UserData references the Secret that holds user - data needed by the bare metal operator. The Namespace is - optional; it will default to the metal3machine's namespace - if not specified. + description: UserData references the Secret that holds user data needed by the bare metal operator. The Namespace is optional; it will default to the metal3machine's namespace if not specified. properties: name: - description: Name is unique within a namespace to reference - a secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which - the secret name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object required: @@ -4051,18 +3364,13 @@ spec: name: v1alpha5 schema: openAPIV3Schema: - description: Metal3MachineTemplate is the Schema for the metal3machinetemplates - API + description: Metal3MachineTemplate is the Schema for the metal3machinetemplates API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -4071,46 +3379,28 @@ spec: properties: nodeReuse: default: false - description: When set to True, CAPM3 Machine controller will pick - the same pool of BMHs' that were released during the upgrade operation. + description: When set to True, CAPM3 Machine controller will pick the same pool of BMHs' that were released during the upgrade operation. type: boolean template: - description: Metal3MachineTemplateResource describes the data needed - to create a Metal3Machine from a template + description: Metal3MachineTemplateResource describes the data needed to create a Metal3Machine from a template properties: spec: - description: Spec is the specification of the desired behavior - of the machine. + description: Spec is the specification of the desired behavior of the machine. properties: automatedCleaningMode: - description: When set to disabled, automated cleaning of host - disks will be skipped during provisioning and deprovisioning. + description: When set to disabled, automated cleaning of host disks will be skipped during provisioning and deprovisioning. enum: - metadata - disabled type: string dataTemplate: - description: MetadataTemplate is a reference to a Metal3DataTemplate - object containing a template of metadata to be rendered. - Metadata keys defined in the metadataTemplate take precedence - over keys defined in metadata field. + description: MetadataTemplate is a reference to a Metal3DataTemplate object containing a template of metadata to be rendered. Metadata keys defined in the metadataTemplate take precedence over keys defined in metadata field. properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead - of an entire object, this string should contain a valid - JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container - within a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that - triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this - pod). This syntax is chosen only to have some well-defined - way of referencing a part of an object. TODO: this design - is not final and this field is subject to change in - the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -4122,29 +3412,23 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object hostSelector: - description: HostSelector specifies matching criteria for - labels on BareMetalHosts. This is used to limit the set - of BareMetalHost objects considered for claiming for a metal3machine. + description: HostSelector specifies matching criteria for labels on BareMetalHosts. This is used to limit the set of BareMetalHost objects considered for claiming for a metal3machine. properties: matchExpressions: - description: Label match expressions that must be true - on a chosen BareMetalHost + description: Label match expressions that must be true on a chosen BareMetalHost items: properties: key: type: string operator: - description: Operator represents a key/field's relationship - to value(s). See labels.Requirement and fields.Requirement - for more details. + description: Operator represents a key/field's relationship to value(s). See labels.Requirement and fields.Requirement for more details. type: string values: items: @@ -4159,20 +3443,17 @@ spec: matchLabels: additionalProperties: type: string - description: Key/value pairs of labels that must exist - on a chosen BareMetalHost + description: Key/value pairs of labels that must exist on a chosen BareMetalHost type: object type: object image: description: Image is the image to be provisioned. properties: checksum: - description: Checksum is a md5sum value or a URL to retrieve - one. + description: Checksum is a md5sum value or a URL to retrieve one. type: string checksumType: - description: ChecksumType is the checksum algorithm for - the image. e.g md5, sha256, sha512 + description: ChecksumType is the checksum algorithm for the image. e.g md5, sha256, sha512 enum: - md5 - sha256 @@ -4195,48 +3476,36 @@ spec: - url type: object metaData: - description: MetaData is an object storing the reference to - the secret containing the Metadata given by the user. + description: MetaData is an object storing the reference to the secret containing the Metadata given by the user. properties: name: - description: Name is unique within a namespace to reference - a secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which - the secret name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object networkData: - description: NetworkData is an object storing the reference - to the secret containing the network data given by the user. + description: NetworkData is an object storing the reference to the secret containing the network data given by the user. properties: name: - description: Name is unique within a namespace to reference - a secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which - the secret name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object providerID: - description: ProviderID will be the Metal3 machine in ProviderID - format (metal3://) + description: ProviderID will be the Metal3 machine in ProviderID format (metal3://) type: string userData: - description: UserData references the Secret that holds user - data needed by the bare metal operator. The Namespace is - optional; it will default to the metal3machine's namespace - if not specified. + description: UserData references the Secret that holds user data needed by the bare metal operator. The Namespace is optional; it will default to the metal3machine's namespace if not specified. properties: name: - description: Name is unique within a namespace to reference - a secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which - the secret name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object required: @@ -4297,13 +3566,11 @@ spec: scope: Namespaced versions: - additionalPrinterColumns: - - description: How many times remediation controller should attempt to remediate - the host + - description: How many times remediation controller should attempt to remediate the host jsonPath: .spec.strategy.retryLimit name: Retry limit type: string - - description: How many times remediation controller has tried to remediate the - node + - description: How many times remediation controller has tried to remediate the node jsonPath: .status.retryCount name: Retry count type: string @@ -4325,14 +3592,10 @@ spec: description: Metal3Remediation is the Schema for the metal3remediations API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -4361,12 +3624,10 @@ spec: format: date-time type: string phase: - description: Phase represents the current phase of machine remediation. - E.g. Pending, Running, Done etc. + description: Phase represents the current phase of machine remediation. E.g. Pending, Running, Done etc. type: string retryCount: - description: RetryCount can be used as a counter during the remediation. - Field can hold number of reboots etc. + description: RetryCount can be used as a counter during the remediation. Field can hold number of reboots etc. type: integer type: object type: object @@ -4375,13 +3636,11 @@ spec: subresources: status: {} - additionalPrinterColumns: - - description: How many times remediation controller should attempt to remediate - the host + - description: How many times remediation controller should attempt to remediate the host jsonPath: .spec.strategy.retryLimit name: Retry limit type: string - - description: How many times remediation controller has tried to remediate the - node + - description: How many times remediation controller has tried to remediate the node jsonPath: .status.retryCount name: Retry count type: string @@ -4403,14 +3662,10 @@ spec: description: Metal3Remediation is the Schema for the metal3remediations API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -4439,12 +3694,10 @@ spec: format: date-time type: string phase: - description: Phase represents the current phase of machine remediation. - E.g. Pending, Running, Done etc. + description: Phase represents the current phase of machine remediation. E.g. Pending, Running, Done etc. type: string retryCount: - description: RetryCount can be used as a counter during the remediation. - Field can hold number of reboots etc. + description: RetryCount can be used as a counter during the remediation. Field can hold number of reboots etc. type: integer type: object type: object @@ -4502,32 +3755,24 @@ spec: - name: v1alpha4 schema: openAPIV3Schema: - description: Metal3RemediationTemplate is the Schema for the metal3remediationtemplates - API + description: Metal3RemediationTemplate is the Schema for the metal3remediationtemplates API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: - description: Metal3RemediationTemplateSpec defines the desired state of - Metal3RemediationTemplate + description: Metal3RemediationTemplateSpec defines the desired state of Metal3RemediationTemplate properties: template: - description: Metal3RemediationTemplateResource describes the data - needed to create a Metal3Remediation from a template + description: Metal3RemediationTemplateResource describes the data needed to create a Metal3Remediation from a template properties: spec: - description: Spec is the specification of the desired behavior - of the Metal3Remediation. + description: Spec is the specification of the desired behavior of the Metal3Remediation. properties: strategy: description: Strategy field defines remediation strategy. @@ -4550,25 +3795,20 @@ spec: - template type: object status: - description: Metal3RemediationTemplateStatus defines the observed state - of Metal3RemediationTemplate + description: Metal3RemediationTemplateStatus defines the observed state of Metal3RemediationTemplate properties: status: - description: Metal3RemediationStatus defines the observed state of - Metal3Remediation + description: Metal3RemediationStatus defines the observed state of Metal3Remediation properties: lastRemediated: - description: LastRemediated identifies when the host was last - remediated + description: LastRemediated identifies when the host was last remediated format: date-time type: string phase: - description: Phase represents the current phase of machine remediation. - E.g. Pending, Running, Done etc. + description: Phase represents the current phase of machine remediation. E.g. Pending, Running, Done etc. type: string retryCount: - description: RetryCount can be used as a counter during the remediation. - Field can hold number of reboots etc. + description: RetryCount can be used as a counter during the remediation. Field can hold number of reboots etc. type: integer type: object required: @@ -4582,32 +3822,24 @@ spec: - name: v1alpha5 schema: openAPIV3Schema: - description: Metal3RemediationTemplate is the Schema for the metal3remediationtemplates - API + description: Metal3RemediationTemplate is the Schema for the metal3remediationtemplates API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: - description: Metal3RemediationTemplateSpec defines the desired state of - Metal3RemediationTemplate + description: Metal3RemediationTemplateSpec defines the desired state of Metal3RemediationTemplate properties: template: - description: Metal3RemediationTemplateResource describes the data - needed to create a Metal3Remediation from a template + description: Metal3RemediationTemplateResource describes the data needed to create a Metal3Remediation from a template properties: spec: - description: Spec is the specification of the desired behavior - of the Metal3Remediation. + description: Spec is the specification of the desired behavior of the Metal3Remediation. properties: strategy: description: Strategy field defines remediation strategy. @@ -4630,25 +3862,20 @@ spec: - template type: object status: - description: Metal3RemediationTemplateStatus defines the observed state - of Metal3RemediationTemplate + description: Metal3RemediationTemplateStatus defines the observed state of Metal3RemediationTemplate properties: status: - description: Metal3RemediationStatus defines the observed state of - Metal3Remediation + description: Metal3RemediationStatus defines the observed state of Metal3Remediation properties: lastRemediated: - description: LastRemediated identifies when the host was last - remediated + description: LastRemediated identifies when the host was last remediated format: date-time type: string phase: - description: Phase represents the current phase of machine remediation. - E.g. Pending, Running, Done etc. + description: Phase represents the current phase of machine remediation. E.g. Pending, Running, Done etc. type: string retryCount: - description: RetryCount can be used as a counter during the remediation. - Field can hold number of reboots etc. + description: RetryCount can be used as a counter during the remediation. Field can hold number of reboots etc. type: integer type: object required: diff --git a/Support/Multitenancy/capi_capm3-mult-instances/v1a4/controlplane-template.yaml b/Support/Multitenancy/capi_capm3-mult-instances/v1a4/controlplane-template.yaml index b8bde8a3..bb45cd4e 100644 --- a/Support/Multitenancy/capi_capm3-mult-instances/v1a4/controlplane-template.yaml +++ b/Support/Multitenancy/capi_capm3-mult-instances/v1a4/controlplane-template.yaml @@ -167,8 +167,7 @@ spec: users: - name: metal3 sshAuthorizedKeys: - - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCpobtItGp5RgVT5zZoTg8mnjxq5mvHlI9KnVAtHFF1U9OhxFVUswq/XJf55yguJeZq0iZPD1ejT1VFa8OiaKVZxDfjspa4vzWXshh77/HMvlJ/uHQKhLdmibZ7+8vU0GMKhmH1kYD/A0U36oIyUwtl9F7R2eNEsMSbKonNw50ZA/YmSqJRahZVXDuTR6u31GynHWnUEFtj0PKGapL4pB5sNfxc5gkca9EDnUobDLfFpqO1mlyG0rR+NzxbnAoCOFjiVoVYZuhOyFeti+QDZwo6m2G4sCy0b8n0dkt816OdZdQH8NcH0lDfuZuN5zls121w8ULmCA5us3VJyQptOXlOXOxrSuUIsp37UG0WlvDcUN2fmWFUG2ALtrKz9yY3D3nGTNugl/LydXGTXTHbz+lC/vnNLdetJ5cPEYqqaohXX1qJd44iWxX3w5q5kE4mmPHTmP6sDkSTaYhYkFvsmT9fDEqWELFF11x6aM4pA48bKTmeGKbIZAd+3eJht2yMD+M= - cloud-user@mohammed-v1a4.openstacklocal + - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCpobtItGp5RgVT5zZoTg8mnjxq5mvHlI9KnVAtHFF1U9OhxFVUswq/XJf55yguJeZq0iZPD1ejT1VFa8OiaKVZxDfjspa4vzWXshh77/HMvlJ/uHQKhLdmibZ7+8vU0GMKhmH1kYD/A0U36oIyUwtl9F7R2eNEsMSbKonNw50ZA/YmSqJRahZVXDuTR6u31GynHWnUEFtj0PKGapL4pB5sNfxc5gkca9EDnUobDLfFpqO1mlyG0rR+NzxbnAoCOFjiVoVYZuhOyFeti+QDZwo6m2G4sCy0b8n0dkt816OdZdQH8NcH0lDfuZuN5zls121w8ULmCA5us3VJyQptOXlOXOxrSuUIsp37UG0WlvDcUN2fmWFUG2ALtrKz9yY3D3nGTNugl/LydXGTXTHbz+lC/vnNLdetJ5cPEYqqaohXX1qJd44iWxX3w5q5kE4mmPHTmP6sDkSTaYhYkFvsmT9fDEqWELFF11x6aM4pA48bKTmeGKbIZAd+3eJht2yMD+M= cloud-user@mohammed-v1a4.openstacklocal sudo: ALL=(ALL) NOPASSWD:ALL machineTemplate: infrastructureRef: diff --git a/Support/Multitenancy/capi_capm3-mult-instances/v1a4/kubeadm-bootstrap.yaml b/Support/Multitenancy/capi_capm3-mult-instances/v1a4/kubeadm-bootstrap.yaml index 9371e64b..ce65c31e 100644 --- a/Support/Multitenancy/capi_capm3-mult-instances/v1a4/kubeadm-bootstrap.yaml +++ b/Support/Multitenancy/capi_capm3-mult-instances/v1a4/kubeadm-bootstrap.yaml @@ -28,2272 +28,1412 @@ spec: namespace: capi-kubeadm-bootstrap-system-test2 path: /convert conversionReviewVersions: - - v1 - - v1beta1 + - v1 + - v1beta1 group: bootstrap.cluster.x-k8s.io names: categories: - - cluster-api + - cluster-api kind: KubeadmConfig listKind: KubeadmConfigList plural: kubeadmconfigs singular: kubeadmconfig scope: Namespaced versions: - - name: v1alpha3 - schema: - openAPIV3Schema: - description: KubeadmConfig is the Schema for the kubeadmconfigs 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: - KubeadmConfigSpec defines the desired state of KubeadmConfig. - Either ClusterConfiguration and InitConfiguration should be defined - or the JoinConfiguration should be defined. - properties: - clusterConfiguration: - description: - ClusterConfiguration along with InitConfiguration are - the configurations necessary for the init command - properties: - apiServer: - description: - APIServer contains extra settings for the API server - control plane component - properties: - certSANs: - description: - CertSANs sets extra Subject Alternative Names - for the API Server signing cert. - items: - type: string - type: array - extraArgs: - additionalProperties: - type: string - description: - "ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and - ideally we would like to switch all components to use ComponentConfig - + ConfigMaps." - type: object - extraVolumes: - description: - ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. - items: - description: - HostPathMount contains elements describing - volumes that are mounted from the host. - properties: - hostPath: - description: - HostPath is the path in the host that will - be mounted inside the pod. - type: string - mountPath: - description: - MountPath is the path inside the pod where - hostPath will be mounted. - type: string - name: - description: Name of the volume inside the pod template. - type: string - pathType: - description: PathType is the type of the HostPath. - type: string - readOnly: - description: ReadOnly controls write access to the volume - type: boolean - required: - - hostPath - - mountPath - - name - type: object - type: array - timeoutForControlPlane: - description: - TimeoutForControlPlane controls the timeout that - we use for API server to appear - type: string - type: object - 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 - certificatesDir: - description: - "CertificatesDir specifies where to store or look - for all required certificates. NB: if not provided, this will - default to `/etc/kubernetes/pki`" - type: string - clusterName: - description: The cluster name - type: string - controlPlaneEndpoint: - description: - "ControlPlaneEndpoint sets a stable IP address or - DNS name for the control plane; it can be a valid IP address - or a RFC-1123 DNS subdomain, both with optional TCP port. In - case the ControlPlaneEndpoint is not specified, the AdvertiseAddress - + BindPort are used; in case the ControlPlaneEndpoint is specified - but without a TCP port, the BindPort is used. Possible usages - are: e.g. In a cluster with more than one control plane instances, - this field should be assigned the address of the external load - balancer in front of the control plane instances. e.g. in environments - with enforced node recycling, the ControlPlaneEndpoint could - be used for assigning a stable DNS to the control plane. NB: - This value defaults to the first value in the Cluster object - status.apiEndpoints array." - type: string - controllerManager: - description: - ControllerManager contains extra settings for the - controller manager control plane component - properties: - extraArgs: - additionalProperties: - type: string - description: - "ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and - ideally we would like to switch all components to use ComponentConfig - + ConfigMaps." - type: object - extraVolumes: - description: - ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. - items: - description: - HostPathMount contains elements describing - volumes that are mounted from the host. - properties: - hostPath: - description: - HostPath is the path in the host that will - be mounted inside the pod. - type: string - mountPath: - description: - MountPath is the path inside the pod where - hostPath will be mounted. - type: string - name: - description: Name of the volume inside the pod template. - type: string - pathType: - description: PathType is the type of the HostPath. - type: string - readOnly: - description: ReadOnly controls write access to the volume - type: boolean - required: - - hostPath - - mountPath - - name - type: object - type: array - type: object - dns: - description: - DNS defines the options for the DNS add-on installed - in the cluster. - properties: - imageRepository: - description: - ImageRepository sets the container registry to - pull images from. if not set, the ImageRepository defined - in ClusterConfiguration will be used instead. - type: string - imageTag: - description: - ImageTag allows to specify a tag for the image. - In case this value is set, kubeadm does not change automatically - the version of the above components during upgrades. + - name: v1alpha3 + schema: + openAPIV3Schema: + description: KubeadmConfig is the Schema for the kubeadmconfigs 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: KubeadmConfigSpec defines the desired state of KubeadmConfig. Either ClusterConfiguration and InitConfiguration should be defined or the JoinConfiguration should be defined. + properties: + clusterConfiguration: + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command + properties: + apiServer: + description: APIServer contains extra settings for the API server control plane component + properties: + certSANs: + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. + items: type: string - type: - description: Type defines the DNS add-on to be used + type: array + extraArgs: + additionalProperties: type: string - type: object - etcd: - description: - "Etcd holds configuration for etcd. NB: This value - defaults to a Local (stacked) etcd" - properties: - external: - description: - External describes how to connect to an external - etcd cluster Local and External are mutually exclusive + description: "ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps." + type: object + extraVolumes: + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. + items: + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: - caFile: - description: - CAFile is an SSL Certificate Authority file - used to secure etcd communication. Required if using - a TLS connection. + hostPath: + description: HostPath is the path in the host that will be mounted inside the pod. type: string - certFile: - description: - CertFile is an SSL certification file used - to secure etcd communication. Required if using a TLS - connection. + mountPath: + description: MountPath is the path inside the pod where hostPath will be mounted. type: string - endpoints: - description: Endpoints of etcd members. Required for ExternalEtcd. - items: - type: string - type: array - keyFile: - description: - KeyFile is an SSL key file used to secure - etcd communication. Required if using a TLS connection. + name: + description: Name of the volume inside the pod template. + type: string + pathType: + description: PathType is the type of the HostPath. type: string + readOnly: + description: ReadOnly controls write access to the volume + type: boolean required: - - caFile - - certFile - - endpoints - - keyFile + - hostPath + - mountPath + - name type: object - local: - description: - Local provides configuration knobs for configuring - the local etcd instance Local and External are mutually - exclusive + type: array + timeoutForControlPlane: + description: TimeoutForControlPlane controls the timeout that we use for API server to appear + type: string + type: object + 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 + certificatesDir: + description: "CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`" + type: string + clusterName: + description: The cluster name + type: string + controlPlaneEndpoint: + description: "ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array." + type: string + controllerManager: + description: ControllerManager contains extra settings for the controller manager control plane component + properties: + extraArgs: + additionalProperties: + type: string + description: "ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps." + type: object + extraVolumes: + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. + items: + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: - dataDir: - description: - DataDir is the directory etcd will place - its data. Defaults to "/var/lib/etcd". + hostPath: + description: HostPath is the path in the host that will be mounted inside the pod. type: string - extraArgs: - additionalProperties: - type: string - description: - ExtraArgs are extra arguments provided to - the etcd binary when run inside a static pod. - type: object - imageRepository: - description: - ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + mountPath: + description: MountPath is the path inside the pod where hostPath will be mounted. type: string - imageTag: - description: - ImageTag allows to specify a tag for the - image. In case this value is set, kubeadm does not change - automatically the version of the above components during - upgrades. + name: + description: Name of the volume inside the pod template. type: string - peerCertSANs: - description: - PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. - items: - type: string - type: array - serverCertSANs: - description: - ServerCertSANs sets extra Subject Alternative - Names for the etcd server signing cert. - items: - type: string - type: array - type: object - type: object - featureGates: - additionalProperties: - type: boolean - description: FeatureGates enabled by the user. - type: object - imageRepository: - description: - ImageRepository sets the container registry to pull - images from. If empty, `k8s.gcr.io` will be used by default; - in case of kubernetes version is a CI build (kubernetes version - starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` - will be used as a default for control plane components and for - kube-proxy, while `k8s.gcr.io` will be used for all the other - images. - 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 - kubernetesVersion: - description: - "KubernetesVersion is the target version of the control - plane. NB: This value defaults to the Machine object spec.version" - type: string - networking: - description: - "Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to the Cluster - object spec.clusterNetwork." - properties: - dnsDomain: - description: - DNSDomain is the dns domain used by k8s services. - Defaults to "cluster.local". - type: string - podSubnet: - description: - PodSubnet is the subnet used by pods. If unset, - the API server will not allocate CIDR ranges for every node. - Defaults to a comma-delimited string of the Cluster object's - spec.clusterNetwork.services.cidrBlocks if that is set - type: string - serviceSubnet: - description: - ServiceSubnet is the subnet used by k8s services. - Defaults to a comma-delimited string of the Cluster object's - spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" - if that's unset. - type: string - type: object - scheduler: - description: - Scheduler contains extra settings for the scheduler - control plane component - properties: - extraArgs: - additionalProperties: - type: string - description: - "ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and - ideally we would like to switch all components to use ComponentConfig - + ConfigMaps." + pathType: + description: PathType is the type of the HostPath. + type: string + readOnly: + description: ReadOnly controls write access to the volume + type: boolean + required: + - hostPath + - mountPath + - name type: object - extraVolumes: - description: - ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. - items: - description: - HostPathMount contains elements describing - volumes that are mounted from the host. - properties: - hostPath: - description: - HostPath is the path in the host that will - be mounted inside the pod. - type: string - mountPath: - description: - MountPath is the path inside the pod where - hostPath will be mounted. - type: string - name: - description: Name of the volume inside the pod template. - type: string - pathType: - description: PathType is the type of the HostPath. - type: string - readOnly: - description: ReadOnly controls write access to the volume - type: boolean - required: - - hostPath - - mountPath - - name - type: object - type: array - type: object - useHyperKubeImage: - description: - UseHyperKubeImage controls if hyperkube should be - used for Kubernetes components instead of their respective separate - images - type: boolean - type: object - diskSetup: - description: - DiskSetup specifies options for the creation of partition - tables and file systems on devices. - properties: - filesystems: - description: - Filesystems specifies the list of file systems to - setup. - items: - description: Filesystem defines the file systems to be created. + type: array + type: object + dns: + description: DNS defines the options for the DNS add-on installed in the cluster. + properties: + imageRepository: + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. + type: string + imageTag: + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. + type: string + type: + description: Type defines the DNS add-on to be used + type: string + type: object + etcd: + description: "Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd" + properties: + external: + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: - device: - description: Device specifies the device name + caFile: + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. + type: string + certFile: + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string - extraOpts: - description: - ExtraOpts defined extra options to add to the - command for creating the file system. + endpoints: + description: Endpoints of etcd members. Required for ExternalEtcd. items: type: string type: array - filesystem: - description: Filesystem specifies the file system type. - type: string - label: - description: - Label specifies the file system label to be - used. If set to None, no label is used. - type: string - overwrite: - description: - Overwrite defines whether or not to overwrite - any existing filesystem. If true, any pre-existing file - system will be destroyed. Use with Caution. - type: boolean - partition: - description: - 'Partition specifies the partition to use. - The valid options are: "auto|any", "auto", "any", "none", - and , where NUM is the actual partition number.' - type: string - replaceFS: - description: - "ReplaceFS is a special directive, used for - Microsoft Azure that instructs cloud-init to replace a - file system of . NOTE: unless you define a label, - this requires the use of the 'any' partition directive." + keyFile: + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - - device - - filesystem - - label + - caFile + - certFile + - endpoints + - keyFile type: object - type: array - partitions: - description: - Partitions specifies the list of the partitions to - setup. - items: - description: Partition defines how to create and layout a partition. + local: + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: - device: - description: Device is the name of the device. - type: string - layout: - description: - Layout specifies the device layout. If it is - true, a single partition will be created for the entire - device. When layout is false, it means don't partition - or ignore existing partitioning. - type: boolean - overwrite: - description: - Overwrite describes whether to skip checks - and create the partition if a partition or filesystem - is found on the device. Use with caution. Default is 'false'. - type: boolean - tableType: - description: - "TableType specifies the tupe of partition - table. The following are supported: 'mbr': default and - setups a MS-DOS partition table 'gpt': setups a GPT - partition table" + dataDir: + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string - required: - - device - - layout - type: object - type: array - type: object - files: - description: - Files specifies extra files to be passed to user_data - upon creation. - items: - description: - File defines the input for generating write_files in - cloud-init. - properties: - content: - description: Content is the actual content of the file. - type: string - contentFrom: - description: - ContentFrom is a referenced source of content to - populate the file. - properties: - secret: - description: - Secret represents a secret that should populate - this file. - properties: - key: - description: - Key is the key in the secret's data map - for this value. - type: string - name: - description: - Name of the secret in the KubeadmBootstrapConfig's - namespace to use. - type: string - required: - - key - - name + extraArgs: + additionalProperties: + type: string + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object - required: - - secret - type: object - encoding: - description: Encoding specifies the encoding of the file contents. - enum: - - base64 - - gzip - - gzip+base64 - type: string - owner: - description: - Owner specifies the ownership of the file, e.g. - "root:root". - type: string - path: - description: - Path specifies the full path on disk where to store - the file. - type: string - permissions: - description: - Permissions specifies the permissions to assign - to the file, e.g. "0640". - type: string - required: - - path - type: object - type: array - format: - description: Format specifies the output format of the bootstrap data - enum: - - cloud-config - type: string - initConfiguration: - description: - InitConfiguration along with ClusterConfiguration are - the configurations necessary for the init command - 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 - bootstrapTokens: - description: - BootstrapTokens is respected at `kubeadm init` time - and describes a set of Bootstrap Tokens to create. This information - IS NOT uploaded to the kubeadm cluster configmap, partly because - of its sensitive nature - items: - description: - BootstrapToken describes one bootstrap token, stored - as a Secret in the cluster. - properties: - description: - description: - Description sets a human-friendly message why - this token exists and what it's used for, so other administrators - can know its purpose. + imageRepository: + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string - expires: - description: - Expires specifies the timestamp when this token - expires. Defaults to being set dynamically at runtime - based on the TTL. Expires and TTL are mutually exclusive. - format: date-time + imageTag: + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string - groups: - description: - Groups specifies the extra groups that this - token will authenticate as when/if used for authentication + peerCertSANs: + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array - token: - description: - Token is used for establishing bidirectional - trust between nodes and control-planes. Used for joining - nodes in the cluster. - type: string - ttl: - description: - TTL defines the time to live for this token. - Defaults to 24h. Expires and TTL are mutually exclusive. - type: string - usages: - description: - Usages describes the ways in which this token - can be used. Can by default be used for establishing bidirectional - trust, but that can be changed here. + serverCertSANs: + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array - required: - - token type: object - type: array - 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 - localAPIEndpoint: - description: - LocalAPIEndpoint represents the endpoint of the API - server instance that's deployed on this control plane node In - HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global endpoint - for the cluster, which then loadbalances the requests to each - individual API server. This configuration object lets you customize - what IP/DNS name and port the local API server advertises it's - accessible on. By default, kubeadm tries to auto-detect the - IP of the default interface and use that, but in case that process - fails you may set the desired value here. + type: object + featureGates: + additionalProperties: + type: boolean + description: FeatureGates enabled by the user. + type: object + imageRepository: + description: ImageRepository sets the container registry to pull images from. If empty, `k8s.gcr.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `k8s.gcr.io` will be used for all the other images. + 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 + kubernetesVersion: + description: "KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version" + type: string + networking: + description: "Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork." + properties: + dnsDomain: + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". + type: string + podSubnet: + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set + type: string + serviceSubnet: + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. + type: string + type: object + scheduler: + description: Scheduler contains extra settings for the scheduler control plane component + properties: + extraArgs: + additionalProperties: + type: string + description: "ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps." + type: object + extraVolumes: + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. + items: + description: HostPathMount contains elements describing volumes that are mounted from the host. + properties: + hostPath: + description: HostPath is the path in the host that will be mounted inside the pod. + type: string + mountPath: + description: MountPath is the path inside the pod where hostPath will be mounted. + type: string + name: + description: Name of the volume inside the pod template. + type: string + pathType: + description: PathType is the type of the HostPath. + type: string + readOnly: + description: ReadOnly controls write access to the volume + type: boolean + required: + - hostPath + - mountPath + - name + type: object + type: array + type: object + useHyperKubeImage: + description: UseHyperKubeImage controls if hyperkube should be used for Kubernetes components instead of their respective separate images + type: boolean + type: object + diskSetup: + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. + properties: + filesystems: + description: Filesystems specifies the list of file systems to setup. + items: + description: Filesystem defines the file systems to be created. properties: - advertiseAddress: - description: - AdvertiseAddress sets the IP address for the - API server to advertise. + device: + description: Device specifies the device name + type: string + extraOpts: + description: ExtraOpts defined extra options to add to the command for creating the file system. + items: + type: string + type: array + filesystem: + description: Filesystem specifies the file system type. + type: string + label: + description: Label specifies the file system label to be used. If set to None, no label is used. + type: string + overwrite: + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. + type: boolean + partition: + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' + type: string + replaceFS: + description: "ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the 'any' partition directive." type: string - bindPort: - description: - BindPort sets the secure port for the API Server - to bind to. Defaults to 6443. - format: int32 - type: integer required: - - advertiseAddress - - bindPort + - device + - filesystem + - label type: object - nodeRegistration: - description: - NodeRegistration holds fields that relate to registering - the new control-plane node to the cluster. When used in the - context of control plane nodes, NodeRegistration should remain - consistent across both InitConfiguration and JoinConfiguration + type: array + partitions: + description: Partitions specifies the list of the partitions to setup. + items: + description: Partition defines how to create and layout a partition. properties: - criSocket: - description: - CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node API - object, for later re-use + device: + description: Device is the name of the device. type: string - kubeletExtraArgs: - additionalProperties: - type: string - description: - KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the kubelet - command line via the environment file kubeadm writes at - runtime for the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X ConfigMap - Flags have higher priority when parsing. These values are - local and specific to the node kubeadm is executing on. - type: object - name: - description: - Name is the `.Metadata.Name` field of the Node - API object that will be created in this `kubeadm init` or - `kubeadm join` operation. This field is also used in the - CommonName field of the kubelet's client certificate to - the API server. Defaults to the hostname of the node if - not provided. + layout: + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. + type: boolean + overwrite: + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. + type: boolean + tableType: + description: "TableType specifies the tupe of partition table. The following are supported: 'mbr': default and setups a MS-DOS partition table 'gpt': setups a GPT partition table" type: string - taints: - description: - 'Taints specifies the taints the Node API object - should be registered with. If this field is unset, i.e. - nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. If - you don''t want to taint your control-plane node, set this - field to an empty slice, i.e. `taints: {}` in the YAML file. - This field is solely used for Node registration.' - items: - description: - The node this Taint is attached to has the - "effect" on any pod that does not tolerate the Taint. - properties: - effect: - description: - Required. The effect of the taint on pods - that do not tolerate the taint. Valid effects are - NoSchedule, PreferNoSchedule and NoExecute. - type: string - key: - description: - Required. The taint key to be applied to - a node. - type: string - timeAdded: - description: - TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. - format: date-time - type: string - value: - description: - The taint value corresponding to the taint - key. - type: string - required: - - effect - - key - type: object - type: array + required: + - device + - layout type: object - type: object - joinConfiguration: - description: - JoinConfiguration is the kubeadm configuration for the - join command + type: array + type: object + files: + description: Files specifies extra files to be passed to user_data upon creation. + items: + description: File defines the input for generating write_files in cloud-init. 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 - caCertPath: - description: - 'CACertPath is the path to the SSL certificate authority - used to secure comunications between node and control-plane. - Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when - there is defaulting from k/k' + content: + description: Content is the actual content of the file. type: string - controlPlane: - description: - ControlPlane defines the additional control plane - instance to be deployed on the joining node. If nil, no additional - control plane instance will be deployed. - properties: - localAPIEndpoint: - description: - LocalAPIEndpoint represents the endpoint of the - API server instance to be deployed on this node. - properties: - advertiseAddress: - description: - AdvertiseAddress sets the IP address for - the API server to advertise. - type: string - bindPort: - description: - BindPort sets the secure port for the API - Server to bind to. Defaults to 6443. - format: int32 - type: integer - required: - - advertiseAddress - - bindPort - type: object - type: object - discovery: - description: - "Discovery specifies the options for the kubelet - to use during the TLS Bootstrap process TODO: revisit when there - is defaulting from k/k" + contentFrom: + description: ContentFrom is a referenced source of content to populate the file. properties: - bootstrapToken: - description: - BootstrapToken is used to set the options for - bootstrap token based discovery BootstrapToken and File - are mutually exclusive + secret: + description: Secret represents a secret that should populate this file. properties: - apiServerEndpoint: - description: - APIServerEndpoint is an IP or domain name - to the API server from which info will be fetched. - type: string - caCertHashes: - description: - 'CACertHashes specifies a set of public key - pins to verify when token-based discovery is used. The - root CA found during discovery must match one of these - values. Specifying an empty set disables root CA pinning, - which can be unsafe. Each hash is specified as ":", - where the only currently supported type is "sha256". - This is a hex-encoded SHA-256 hash of the Subject Public - Key Info (SPKI) object in DER-encoded ASN.1. These hashes - can be calculated using, for example, OpenSSL: openssl - x509 -pubkey -in ca.crt openssl rsa -pubin -outform - der 2>&/dev/null | openssl dgst -sha256 -hex' - items: - type: string - type: array - token: - description: - Token is a token used to validate cluster - information fetched from the control-plane. + key: + description: Key is the key in the secret's data map for this value. type: string - unsafeSkipCAVerification: - description: - UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since other - nodes can impersonate the control-plane. - type: boolean - required: - - token - - unsafeSkipCAVerification - type: object - file: - description: - File is used to specify a file or URL to a kubeconfig - file from which to load cluster information BootstrapToken - and File are mutually exclusive - properties: - kubeConfigPath: - description: - KubeConfigPath is used to specify the actual - file path or URL to the kubeconfig file from which to - load cluster information + name: + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - - kubeConfigPath + - key + - name type: object - timeout: - description: Timeout modifies the discovery timeout - type: string - tlsBootstrapToken: - description: - "TLSBootstrapToken is a token used for TLS bootstrapping. - If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, - but can be overridden. If .File is set, this field **must - be set** in case the KubeConfigFile does not contain any - other authentication information TODO: revisit when there - is defaulting from k/k" - type: string + required: + - secret type: object - 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" + encoding: + description: Encoding specifies the encoding of the file contents. + enum: + - base64 + - gzip + - gzip+base64 + type: string + owner: + description: Owner specifies the ownership of the file, e.g. "root:root". + type: string + path: + description: Path specifies the full path on disk where to store the file. + type: string + permissions: + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string - nodeRegistration: - description: - NodeRegistration holds fields that relate to registering - the new control-plane node to the cluster. When used in the - context of control plane nodes, NodeRegistration should remain - consistent across both InitConfiguration and JoinConfiguration + required: + - path + type: object + type: array + format: + description: Format specifies the output format of the bootstrap data + enum: + - cloud-config + type: string + initConfiguration: + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command + 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 + bootstrapTokens: + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature + items: + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: - criSocket: - description: - CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node API - object, for later re-use + description: + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string - kubeletExtraArgs: - additionalProperties: + expires: + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. + format: date-time + type: string + groups: + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication + items: type: string - description: - KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the kubelet - command line via the environment file kubeadm writes at - runtime for the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X ConfigMap - Flags have higher priority when parsing. These values are - local and specific to the node kubeadm is executing on. - type: object - name: - description: - Name is the `.Metadata.Name` field of the Node - API object that will be created in this `kubeadm init` or - `kubeadm join` operation. This field is also used in the - CommonName field of the kubelet's client certificate to - the API server. Defaults to the hostname of the node if - not provided. + type: array + token: + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string - taints: - description: - 'Taints specifies the taints the Node API object - should be registered with. If this field is unset, i.e. - nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. If - you don''t want to taint your control-plane node, set this - field to an empty slice, i.e. `taints: {}` in the YAML file. - This field is solely used for Node registration.' + ttl: + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. + type: string + usages: + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: - description: - The node this Taint is attached to has the - "effect" on any pod that does not tolerate the Taint. - properties: - effect: - description: - Required. The effect of the taint on pods - that do not tolerate the taint. Valid effects are - NoSchedule, PreferNoSchedule and NoExecute. - type: string - key: - description: - Required. The taint key to be applied to - a node. - type: string - timeAdded: - description: - TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. - format: date-time - type: string - value: - description: - The taint value corresponding to the taint - key. - type: string - required: - - effect - - key - type: object + type: string type: array + required: + - token type: object - type: object - mounts: - description: Mounts specifies a list of mount points to be setup. - items: - description: MountPoints defines input for generated mounts in cloud-init. - items: - type: string type: array - type: array - ntp: - description: NTP specifies NTP configuration - properties: - enabled: - description: Enabled specifies whether NTP should be enabled - type: boolean - servers: - description: Servers specifies which NTP servers to use - items: - type: string - type: array - type: object - postKubeadmCommands: - description: - PostKubeadmCommands specifies extra commands to run after - kubeadm runs - items: - type: string - type: array - preKubeadmCommands: - description: - PreKubeadmCommands specifies extra commands to run before - kubeadm runs - items: + 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 - type: array - useExperimentalRetryJoin: - description: - "UseExperimentalRetryJoin replaces a basic kubeadm command - with a shell script with retries for joins. \n This is meant to - be an experimental temporary workaround on some environments where - joins fail due to timing (and other issues). The long term goal - is to add retries to kubeadm proper and use that functionality. - \n This will add about 40KB to userdata \n For more information, - refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." - type: boolean - users: - description: Users specifies extra users to add - items: - description: User defines the input for a generated user in cloud-init. + localAPIEndpoint: + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: - gecos: - description: Gecos specifies the gecos to use for the user - type: string - groups: - description: - Groups specifies the additional groups for the - user + advertiseAddress: + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string - homeDir: - description: - HomeDir specifies the home directory to use for - the user + bindPort: + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. + format: int32 + type: integer + required: + - advertiseAddress + - bindPort + type: object + nodeRegistration: + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration + properties: + criSocket: + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string - inactive: - description: - Inactive specifies whether to mark the user as - inactive - type: boolean - lockPassword: - description: - LockPassword specifies if password login should - be disabled - type: boolean + kubeletExtraArgs: + additionalProperties: + type: string + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. + type: object name: - description: Name specifies the user name - type: string - passwd: - description: Passwd specifies a hashed password for the user - type: string - primaryGroup: - description: - PrimaryGroup specifies the primary group for the - user + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string - shell: - description: Shell specifies the user's shell - type: string - sshAuthorizedKeys: - description: - SSHAuthorizedKeys specifies a list of ssh authorized - keys for the user + taints: + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - type: string + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. + properties: + effect: + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. + type: string + key: + description: Required. The taint key to be applied to a node. + type: string + timeAdded: + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. + format: date-time + type: string + value: + description: The taint value corresponding to the taint key. + type: string + required: + - effect + - key + type: object type: array - sudo: - description: Sudo specifies a sudo role for the user - type: string - required: - - name type: object - type: array - verbosity: - description: - Verbosity is the number for the kubeadm log level verbosity. - It overrides the `--v` flag in kubeadm commands. - format: int32 - type: integer - type: object - status: - description: KubeadmConfigStatus defines the observed state of KubeadmConfig. - properties: - bootstrapData: - description: - "BootstrapData will be a cloud-init script for now. \n - Deprecated: Switch to DataSecretName." - format: byte - type: string - conditions: - description: Conditions defines current service state of the KubeadmConfig. - items: - description: - Condition defines an observation of a Cluster API resource - operational state. + type: object + joinConfiguration: + description: JoinConfiguration is the kubeadm configuration for the join command + 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 + caCertPath: + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' + type: string + controlPlane: + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. 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. + localAPIEndpoint: + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. + properties: + advertiseAddress: + description: AdvertiseAddress sets the IP address for the API server to advertise. + type: string + bindPort: + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. + format: int32 + type: integer + required: + - advertiseAddress + - bindPort + type: object + type: object + discovery: + description: "Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k" + properties: + bootstrapToken: + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive + properties: + apiServerEndpoint: + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. + type: string + caCertHashes: + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' + items: + type: string + type: array + token: + description: Token is a token used to validate cluster information fetched from the control-plane. + type: string + unsafeSkipCAVerification: + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. + type: boolean + required: + - token + - unsafeSkipCAVerification + type: object + file: + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive + properties: + kubeConfigPath: + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information + type: string + required: + - kubeConfigPath + type: object + timeout: + description: Timeout modifies the discovery timeout 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. + tlsBootstrapToken: + description: "TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information TODO: revisit when there is defaulting from k/k" type: string - status: - description: Status of the condition, one of True, False, Unknown. + type: object + 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 + nodeRegistration: + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration + properties: + criSocket: + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use 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. + kubeletExtraArgs: + additionalProperties: + type: string + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. + type: object + name: + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string - required: - - status - - type + taints: + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' + items: + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. + properties: + effect: + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. + type: string + key: + description: Required. The taint key to be applied to a node. + type: string + timeAdded: + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. + format: date-time + type: string + value: + description: The taint value corresponding to the taint key. + type: string + required: + - effect + - key + type: object + type: array type: object + type: object + mounts: + description: Mounts specifies a list of mount points to be setup. + items: + description: MountPoints defines input for generated mounts in cloud-init. + items: + type: string type: array - dataSecretName: - description: - DataSecretName is the name of the secret that stores - the bootstrap data script. - type: string - failureMessage: - description: FailureMessage will be set on non-retryable errors + type: array + ntp: + description: NTP specifies NTP configuration + properties: + enabled: + description: Enabled specifies whether NTP should be enabled + type: boolean + servers: + description: Servers specifies which NTP servers to use + items: + type: string + type: array + type: object + postKubeadmCommands: + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs + items: type: string - failureReason: - description: FailureReason will be set on non-retryable errors + type: array + preKubeadmCommands: + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs + items: type: string - observedGeneration: - description: - ObservedGeneration is the latest generation observed - by the controller. - format: int64 - type: integer - ready: - description: - Ready indicates the BootstrapData field is ready to be - consumed - type: boolean - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - description: Time duration since creation of KubeadmConfig - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha4 - schema: - openAPIV3Schema: - description: KubeadmConfig is the Schema for the kubeadmconfigs 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: - KubeadmConfigSpec defines the desired state of KubeadmConfig. - Either ClusterConfiguration and InitConfiguration should be defined - or the JoinConfiguration should be defined. - properties: - clusterConfiguration: - description: - ClusterConfiguration along with InitConfiguration are - the configurations necessary for the init command + type: array + useExperimentalRetryJoin: + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." + type: boolean + users: + description: Users specifies extra users to add + items: + description: User defines the input for a generated user in cloud-init. properties: - apiServer: - description: - APIServer contains extra settings for the API server - control plane component - properties: - certSANs: - description: - CertSANs sets extra Subject Alternative Names - for the API Server signing cert. - items: - type: string - type: array - extraArgs: - additionalProperties: - type: string - description: - "ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and - ideally we would like to switch all components to use ComponentConfig - + ConfigMaps." - type: object - extraVolumes: - description: - ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. - items: - description: - HostPathMount contains elements describing - volumes that are mounted from the host. - properties: - hostPath: - description: - HostPath is the path in the host that will - be mounted inside the pod. - type: string - mountPath: - description: - MountPath is the path inside the pod where - hostPath will be mounted. - type: string - name: - description: Name of the volume inside the pod template. - type: string - pathType: - description: PathType is the type of the HostPath. - type: string - readOnly: - description: ReadOnly controls write access to the volume - type: boolean - required: - - hostPath - - mountPath - - name - type: object - type: array - timeoutForControlPlane: - description: - TimeoutForControlPlane controls the timeout that - we use for API server to appear - type: string - type: object - 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" + gecos: + description: Gecos specifies the gecos to use for the user type: string - certificatesDir: - description: - "CertificatesDir specifies where to store or look - for all required certificates. NB: if not provided, this will - default to `/etc/kubernetes/pki`" + groups: + description: Groups specifies the additional groups for the user type: string - clusterName: - description: The cluster name + homeDir: + description: HomeDir specifies the home directory to use for the user type: string - controlPlaneEndpoint: - description: - "ControlPlaneEndpoint sets a stable IP address or - DNS name for the control plane; it can be a valid IP address - or a RFC-1123 DNS subdomain, both with optional TCP port. In - case the ControlPlaneEndpoint is not specified, the AdvertiseAddress - + BindPort are used; in case the ControlPlaneEndpoint is specified - but without a TCP port, the BindPort is used. Possible usages - are: e.g. In a cluster with more than one control plane instances, - this field should be assigned the address of the external load - balancer in front of the control plane instances. e.g. in environments - with enforced node recycling, the ControlPlaneEndpoint could - be used for assigning a stable DNS to the control plane. NB: - This value defaults to the first value in the Cluster object - status.apiEndpoints array." + inactive: + description: Inactive specifies whether to mark the user as inactive + type: boolean + lockPassword: + description: LockPassword specifies if password login should be disabled + type: boolean + name: + description: Name specifies the user name type: string - controllerManager: - description: - ControllerManager contains extra settings for the - controller manager control plane component - properties: - extraArgs: - additionalProperties: - type: string - description: - "ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and - ideally we would like to switch all components to use ComponentConfig - + ConfigMaps." - type: object - extraVolumes: - description: - ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. - items: - description: - HostPathMount contains elements describing - volumes that are mounted from the host. - properties: - hostPath: - description: - HostPath is the path in the host that will - be mounted inside the pod. - type: string - mountPath: - description: - MountPath is the path inside the pod where - hostPath will be mounted. - type: string - name: - description: Name of the volume inside the pod template. - type: string - pathType: - description: PathType is the type of the HostPath. - type: string - readOnly: - description: ReadOnly controls write access to the volume - type: boolean - required: - - hostPath - - mountPath - - name - type: object - type: array - type: object - dns: - description: - DNS defines the options for the DNS add-on installed - in the cluster. - properties: - imageRepository: - description: - ImageRepository sets the container registry to - pull images from. if not set, the ImageRepository defined - in ClusterConfiguration will be used instead. + passwd: + description: Passwd specifies a hashed password for the user + type: string + primaryGroup: + description: PrimaryGroup specifies the primary group for the user + type: string + shell: + description: Shell specifies the user's shell + type: string + sshAuthorizedKeys: + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user + items: + type: string + type: array + sudo: + description: Sudo specifies a sudo role for the user + type: string + required: + - name + type: object + type: array + verbosity: + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. + format: int32 + type: integer + type: object + status: + description: KubeadmConfigStatus defines the observed state of KubeadmConfig. + properties: + bootstrapData: + description: "BootstrapData will be a cloud-init script for now. \n Deprecated: Switch to DataSecretName." + format: byte + type: string + conditions: + description: Conditions defines current service state of the KubeadmConfig. + 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 + dataSecretName: + description: DataSecretName is the name of the secret that stores the bootstrap data script. + type: string + failureMessage: + description: FailureMessage will be set on non-retryable errors + type: string + failureReason: + description: FailureReason will be set on non-retryable errors + type: string + observedGeneration: + description: ObservedGeneration is the latest generation observed by the controller. + format: int64 + type: integer + ready: + description: Ready indicates the BootstrapData field is ready to be consumed + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - description: Time duration since creation of KubeadmConfig + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha4 + schema: + openAPIV3Schema: + description: KubeadmConfig is the Schema for the kubeadmconfigs 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: KubeadmConfigSpec defines the desired state of KubeadmConfig. Either ClusterConfiguration and InitConfiguration should be defined or the JoinConfiguration should be defined. + properties: + clusterConfiguration: + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command + properties: + apiServer: + description: APIServer contains extra settings for the API server control plane component + properties: + certSANs: + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. + items: type: string - imageTag: - description: - ImageTag allows to specify a tag for the image. - In case this value is set, kubeadm does not change automatically - the version of the above components during upgrades. + type: array + extraArgs: + additionalProperties: type: string - type: object - etcd: - description: - "Etcd holds configuration for etcd. NB: This value - defaults to a Local (stacked) etcd" - properties: - external: - description: - External describes how to connect to an external - etcd cluster Local and External are mutually exclusive + description: "ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps." + type: object + extraVolumes: + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. + items: + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: - caFile: - description: - CAFile is an SSL Certificate Authority file - used to secure etcd communication. Required if using - a TLS connection. + hostPath: + description: HostPath is the path in the host that will be mounted inside the pod. type: string - certFile: - description: - CertFile is an SSL certification file used - to secure etcd communication. Required if using a TLS - connection. + mountPath: + description: MountPath is the path inside the pod where hostPath will be mounted. type: string - endpoints: - description: Endpoints of etcd members. Required for ExternalEtcd. - items: - type: string - type: array - keyFile: - description: - KeyFile is an SSL key file used to secure - etcd communication. Required if using a TLS connection. + name: + description: Name of the volume inside the pod template. type: string + pathType: + description: PathType is the type of the HostPath. + type: string + readOnly: + description: ReadOnly controls write access to the volume + type: boolean required: - - caFile - - certFile - - endpoints - - keyFile + - hostPath + - mountPath + - name type: object - local: - description: - Local provides configuration knobs for configuring - the local etcd instance Local and External are mutually - exclusive + type: array + timeoutForControlPlane: + description: TimeoutForControlPlane controls the timeout that we use for API server to appear + type: string + type: object + 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 + certificatesDir: + description: "CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`" + type: string + clusterName: + description: The cluster name + type: string + controlPlaneEndpoint: + description: "ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array." + type: string + controllerManager: + description: ControllerManager contains extra settings for the controller manager control plane component + properties: + extraArgs: + additionalProperties: + type: string + description: "ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps." + type: object + extraVolumes: + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. + items: + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: - dataDir: - description: - DataDir is the directory etcd will place - its data. Defaults to "/var/lib/etcd". + hostPath: + description: HostPath is the path in the host that will be mounted inside the pod. type: string - extraArgs: - additionalProperties: - type: string - description: - ExtraArgs are extra arguments provided to - the etcd binary when run inside a static pod. - type: object - imageRepository: - description: - ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + mountPath: + description: MountPath is the path inside the pod where hostPath will be mounted. type: string - imageTag: - description: - ImageTag allows to specify a tag for the - image. In case this value is set, kubeadm does not change - automatically the version of the above components during - upgrades. + name: + description: Name of the volume inside the pod template. type: string - peerCertSANs: - description: - PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. - items: - type: string - type: array - serverCertSANs: - description: - ServerCertSANs sets extra Subject Alternative - Names for the etcd server signing cert. - items: - type: string - type: array - type: object - type: object - featureGates: - additionalProperties: - type: boolean - description: FeatureGates enabled by the user. - type: object - imageRepository: - description: - ImageRepository sets the container registry to pull - images from. If empty, `k8s.gcr.io` will be used by default; - in case of kubernetes version is a CI build (kubernetes version - starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` - will be used as a default for control plane components and for - kube-proxy, while `k8s.gcr.io` will be used for all the other - images. - 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 - kubernetesVersion: - description: - "KubernetesVersion is the target version of the control - plane. NB: This value defaults to the Machine object spec.version" - type: string - networking: - description: - "Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to the Cluster - object spec.clusterNetwork." - properties: - dnsDomain: - description: - DNSDomain is the dns domain used by k8s services. - Defaults to "cluster.local". - type: string - podSubnet: - description: - PodSubnet is the subnet used by pods. If unset, - the API server will not allocate CIDR ranges for every node. - Defaults to a comma-delimited string of the Cluster object's - spec.clusterNetwork.services.cidrBlocks if that is set - type: string - serviceSubnet: - description: - ServiceSubnet is the subnet used by k8s services. - Defaults to a comma-delimited string of the Cluster object's - spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" - if that's unset. - type: string - type: object - scheduler: - description: - Scheduler contains extra settings for the scheduler - control plane component - properties: - extraArgs: - additionalProperties: - type: string - description: - "ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and - ideally we would like to switch all components to use ComponentConfig - + ConfigMaps." + pathType: + description: PathType is the type of the HostPath. + type: string + readOnly: + description: ReadOnly controls write access to the volume + type: boolean + required: + - hostPath + - mountPath + - name type: object - extraVolumes: - description: - ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. - items: - description: - HostPathMount contains elements describing - volumes that are mounted from the host. - properties: - hostPath: - description: - HostPath is the path in the host that will - be mounted inside the pod. - type: string - mountPath: - description: - MountPath is the path inside the pod where - hostPath will be mounted. - type: string - name: - description: Name of the volume inside the pod template. - type: string - pathType: - description: PathType is the type of the HostPath. - type: string - readOnly: - description: ReadOnly controls write access to the volume - type: boolean - required: - - hostPath - - mountPath - - name - type: object - type: array - type: object - type: object - diskSetup: - description: - DiskSetup specifies options for the creation of partition - tables and file systems on devices. - properties: - filesystems: - description: - Filesystems specifies the list of file systems to - setup. - items: - description: Filesystem defines the file systems to be created. + type: array + type: object + dns: + description: DNS defines the options for the DNS add-on installed in the cluster. + properties: + imageRepository: + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. + type: string + imageTag: + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. + type: string + type: object + etcd: + description: "Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd" + properties: + external: + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: - device: - description: Device specifies the device name + caFile: + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string - extraOpts: - description: - ExtraOpts defined extra options to add to the - command for creating the file system. + certFile: + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. + type: string + endpoints: + description: Endpoints of etcd members. Required for ExternalEtcd. items: type: string type: array - filesystem: - description: Filesystem specifies the file system type. - type: string - label: - description: - Label specifies the file system label to be - used. If set to None, no label is used. - type: string - overwrite: - description: - Overwrite defines whether or not to overwrite - any existing filesystem. If true, any pre-existing file - system will be destroyed. Use with Caution. - type: boolean - partition: - description: - 'Partition specifies the partition to use. - The valid options are: "auto|any", "auto", "any", "none", - and , where NUM is the actual partition number.' - type: string - replaceFS: - description: - "ReplaceFS is a special directive, used for - Microsoft Azure that instructs cloud-init to replace a - file system of . NOTE: unless you define a label, - this requires the use of the 'any' partition directive." + keyFile: + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - - device - - filesystem - - label + - caFile + - certFile + - endpoints + - keyFile type: object - type: array - partitions: - description: - Partitions specifies the list of the partitions to - setup. - items: - description: Partition defines how to create and layout a partition. + local: + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: - device: - description: Device is the name of the device. - type: string - layout: - description: - Layout specifies the device layout. If it is - true, a single partition will be created for the entire - device. When layout is false, it means don't partition - or ignore existing partitioning. - type: boolean - overwrite: - description: - Overwrite describes whether to skip checks - and create the partition if a partition or filesystem - is found on the device. Use with caution. Default is 'false'. - type: boolean - tableType: - description: - "TableType specifies the tupe of partition - table. The following are supported: 'mbr': default and - setups a MS-DOS partition table 'gpt': setups a GPT - partition table" + dataDir: + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string - required: - - device - - layout - type: object - type: array - type: object - files: - description: - Files specifies extra files to be passed to user_data - upon creation. - items: - description: - File defines the input for generating write_files in - cloud-init. - properties: - content: - description: Content is the actual content of the file. - type: string - contentFrom: - description: - ContentFrom is a referenced source of content to - populate the file. - properties: - secret: - description: - Secret represents a secret that should populate - this file. - properties: - key: - description: - Key is the key in the secret's data map - for this value. - type: string - name: - description: - Name of the secret in the KubeadmBootstrapConfig's - namespace to use. - type: string - required: - - key - - name + extraArgs: + additionalProperties: + type: string + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object - required: - - secret - type: object - encoding: - description: Encoding specifies the encoding of the file contents. - enum: - - base64 - - gzip - - gzip+base64 - type: string - owner: - description: - Owner specifies the ownership of the file, e.g. - "root:root". - type: string - path: - description: - Path specifies the full path on disk where to store - the file. - type: string - permissions: - description: - Permissions specifies the permissions to assign - to the file, e.g. "0640". - type: string - required: - - path - type: object - type: array - format: - description: Format specifies the output format of the bootstrap data - enum: - - cloud-config - type: string - initConfiguration: - description: - InitConfiguration along with ClusterConfiguration are - the configurations necessary for the init command - 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 - bootstrapTokens: - description: - BootstrapTokens is respected at `kubeadm init` time - and describes a set of Bootstrap Tokens to create. This information - IS NOT uploaded to the kubeadm cluster configmap, partly because - of its sensitive nature - items: - description: - BootstrapToken describes one bootstrap token, stored - as a Secret in the cluster. - properties: - description: - description: - Description sets a human-friendly message why - this token exists and what it's used for, so other administrators - can know its purpose. + imageRepository: + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string - expires: - description: - Expires specifies the timestamp when this token - expires. Defaults to being set dynamically at runtime - based on the TTL. Expires and TTL are mutually exclusive. - format: date-time + imageTag: + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string - groups: - description: - Groups specifies the extra groups that this - token will authenticate as when/if used for authentication + peerCertSANs: + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array - token: - description: - Token is used for establishing bidirectional - trust between nodes and control-planes. Used for joining - nodes in the cluster. - type: string - ttl: - description: - TTL defines the time to live for this token. - Defaults to 24h. Expires and TTL are mutually exclusive. - type: string - usages: - description: - Usages describes the ways in which this token - can be used. Can by default be used for establishing bidirectional - trust, but that can be changed here. + serverCertSANs: + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array - required: - - token type: object - type: array - 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 - localAPIEndpoint: - description: - LocalAPIEndpoint represents the endpoint of the API - server instance that's deployed on this control plane node In - HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global endpoint - for the cluster, which then loadbalances the requests to each - individual API server. This configuration object lets you customize - what IP/DNS name and port the local API server advertises it's - accessible on. By default, kubeadm tries to auto-detect the - IP of the default interface and use that, but in case that process - fails you may set the desired value here. - properties: - advertiseAddress: - description: - AdvertiseAddress sets the IP address for the - API server to advertise. + type: object + featureGates: + additionalProperties: + type: boolean + description: FeatureGates enabled by the user. + type: object + imageRepository: + description: ImageRepository sets the container registry to pull images from. If empty, `k8s.gcr.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `k8s.gcr.io` will be used for all the other images. + 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 + kubernetesVersion: + description: "KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version" + type: string + networking: + description: "Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork." + properties: + dnsDomain: + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". + type: string + podSubnet: + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set + type: string + serviceSubnet: + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. + type: string + type: object + scheduler: + description: Scheduler contains extra settings for the scheduler control plane component + properties: + extraArgs: + additionalProperties: type: string - bindPort: - description: - BindPort sets the secure port for the API Server - to bind to. Defaults to 6443. - format: int32 - type: integer - type: object - nodeRegistration: - description: - NodeRegistration holds fields that relate to registering - the new control-plane node to the cluster. When used in the - context of control plane nodes, NodeRegistration should remain - consistent across both InitConfiguration and JoinConfiguration + description: "ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps." + type: object + extraVolumes: + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. + items: + description: HostPathMount contains elements describing volumes that are mounted from the host. + properties: + hostPath: + description: HostPath is the path in the host that will be mounted inside the pod. + type: string + mountPath: + description: MountPath is the path inside the pod where hostPath will be mounted. + type: string + name: + description: Name of the volume inside the pod template. + type: string + pathType: + description: PathType is the type of the HostPath. + type: string + readOnly: + description: ReadOnly controls write access to the volume + type: boolean + required: + - hostPath + - mountPath + - name + type: object + type: array + type: object + type: object + diskSetup: + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. + properties: + filesystems: + description: Filesystems specifies the list of file systems to setup. + items: + description: Filesystem defines the file systems to be created. properties: - criSocket: - description: - CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node API - object, for later re-use + device: + description: Device specifies the device name type: string - ignorePreflightErrors: - description: - IgnorePreflightErrors provides a slice of pre-flight - errors to be ignored when the current node is registered. + extraOpts: + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array - kubeletExtraArgs: - additionalProperties: - type: string - description: - KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the kubelet - command line via the environment file kubeadm writes at - runtime for the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X ConfigMap - Flags have higher priority when parsing. These values are - local and specific to the node kubeadm is executing on. - type: object - name: - description: - Name is the `.Metadata.Name` field of the Node - API object that will be created in this `kubeadm init` or - `kubeadm join` operation. This field is also used in the - CommonName field of the kubelet's client certificate to - the API server. Defaults to the hostname of the node if - not provided. + filesystem: + description: Filesystem specifies the file system type. type: string - taints: - description: - 'Taints specifies the taints the Node API object - should be registered with. If this field is unset, i.e. - nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. If - you don''t want to taint your control-plane node, set this - field to an empty slice, i.e. `taints: {}` in the YAML file. - This field is solely used for Node registration.' - items: - description: - The node this Taint is attached to has the - "effect" on any pod that does not tolerate the Taint. - properties: - effect: - description: - Required. The effect of the taint on pods - that do not tolerate the taint. Valid effects are - NoSchedule, PreferNoSchedule and NoExecute. - type: string - key: - description: - Required. The taint key to be applied to - a node. - type: string - timeAdded: - description: - TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. - format: date-time - type: string - value: - description: - The taint value corresponding to the taint - key. - type: string - required: - - effect - - key - type: object - type: array + label: + description: Label specifies the file system label to be used. If set to None, no label is used. + type: string + overwrite: + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. + type: boolean + partition: + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' + type: string + replaceFS: + description: "ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the 'any' partition directive." + type: string + required: + - device + - filesystem + - label type: object - type: object - joinConfiguration: - description: - JoinConfiguration is the kubeadm configuration for the - join command - 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 - caCertPath: - description: - 'CACertPath is the path to the SSL certificate authority - used to secure comunications between node and control-plane. - Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when - there is defaulting from k/k' - type: string - controlPlane: - description: - ControlPlane defines the additional control plane - instance to be deployed on the joining node. If nil, no additional - control plane instance will be deployed. + type: array + partitions: + description: Partitions specifies the list of the partitions to setup. + items: + description: Partition defines how to create and layout a partition. properties: - localAPIEndpoint: - description: - LocalAPIEndpoint represents the endpoint of the - API server instance to be deployed on this node. - properties: - advertiseAddress: - description: - AdvertiseAddress sets the IP address for - the API server to advertise. - type: string - bindPort: - description: - BindPort sets the secure port for the API - Server to bind to. Defaults to 6443. - format: int32 - type: integer - type: object + device: + description: Device is the name of the device. + type: string + layout: + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. + type: boolean + overwrite: + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. + type: boolean + tableType: + description: "TableType specifies the tupe of partition table. The following are supported: 'mbr': default and setups a MS-DOS partition table 'gpt': setups a GPT partition table" + type: string + required: + - device + - layout type: object - discovery: - description: - "Discovery specifies the options for the kubelet - to use during the TLS Bootstrap process TODO: revisit when there - is defaulting from k/k" + type: array + type: object + files: + description: Files specifies extra files to be passed to user_data upon creation. + items: + description: File defines the input for generating write_files in cloud-init. + properties: + content: + description: Content is the actual content of the file. + type: string + contentFrom: + description: ContentFrom is a referenced source of content to populate the file. properties: - bootstrapToken: - description: - BootstrapToken is used to set the options for - bootstrap token based discovery BootstrapToken and File - are mutually exclusive + secret: + description: Secret represents a secret that should populate this file. properties: - apiServerEndpoint: - description: - APIServerEndpoint is an IP or domain name - to the API server from which info will be fetched. + key: + description: Key is the key in the secret's data map for this value. type: string - caCertHashes: - description: - 'CACertHashes specifies a set of public key - pins to verify when token-based discovery is used. The - root CA found during discovery must match one of these - values. Specifying an empty set disables root CA pinning, - which can be unsafe. Each hash is specified as ":", - where the only currently supported type is "sha256". - This is a hex-encoded SHA-256 hash of the Subject Public - Key Info (SPKI) object in DER-encoded ASN.1. These hashes - can be calculated using, for example, OpenSSL: openssl - x509 -pubkey -in ca.crt openssl rsa -pubin -outform - der 2>&/dev/null | openssl dgst -sha256 -hex' - items: - type: string - type: array - token: - description: - Token is a token used to validate cluster - information fetched from the control-plane. - type: string - unsafeSkipCAVerification: - description: - UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since other - nodes can impersonate the control-plane. - type: boolean - required: - - token - type: object - file: - description: - File is used to specify a file or URL to a kubeconfig - file from which to load cluster information BootstrapToken - and File are mutually exclusive - properties: - kubeConfigPath: - description: - KubeConfigPath is used to specify the actual - file path or URL to the kubeconfig file from which to - load cluster information + name: + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - - kubeConfigPath + - key + - name type: object - timeout: - description: Timeout modifies the discovery timeout - type: string - tlsBootstrapToken: - description: - TLSBootstrapToken is a token used for TLS bootstrapping. - If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, - but can be overridden. If .File is set, this field **must - be set** in case the KubeConfigFile does not contain any - other authentication information - type: string + required: + - secret type: object - 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" + encoding: + description: Encoding specifies the encoding of the file contents. + enum: + - base64 + - gzip + - gzip+base64 + type: string + owner: + description: Owner specifies the ownership of the file, e.g. "root:root". + type: string + path: + description: Path specifies the full path on disk where to store the file. type: string - nodeRegistration: - description: - NodeRegistration holds fields that relate to registering - the new control-plane node to the cluster. When used in the - context of control plane nodes, NodeRegistration should remain - consistent across both InitConfiguration and JoinConfiguration + permissions: + description: Permissions specifies the permissions to assign to the file, e.g. "0640". + type: string + required: + - path + type: object + type: array + format: + description: Format specifies the output format of the bootstrap data + enum: + - cloud-config + type: string + initConfiguration: + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command + 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 + bootstrapTokens: + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature + items: + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: - criSocket: - description: - CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node API - object, for later re-use + description: + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. + type: string + expires: + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. + format: date-time type: string - ignorePreflightErrors: - description: - IgnorePreflightErrors provides a slice of pre-flight - errors to be ignored when the current node is registered. + groups: + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array - kubeletExtraArgs: - additionalProperties: - type: string - description: - KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the kubelet - command line via the environment file kubeadm writes at - runtime for the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X ConfigMap - Flags have higher priority when parsing. These values are - local and specific to the node kubeadm is executing on. - type: object - name: - description: - Name is the `.Metadata.Name` field of the Node - API object that will be created in this `kubeadm init` or - `kubeadm join` operation. This field is also used in the - CommonName field of the kubelet's client certificate to - the API server. Defaults to the hostname of the node if - not provided. + token: + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. + type: string + ttl: + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string - taints: - description: - 'Taints specifies the taints the Node API object - should be registered with. If this field is unset, i.e. - nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. If - you don''t want to taint your control-plane node, set this - field to an empty slice, i.e. `taints: {}` in the YAML file. - This field is solely used for Node registration.' + usages: + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: - description: - The node this Taint is attached to has the - "effect" on any pod that does not tolerate the Taint. - properties: - effect: - description: - Required. The effect of the taint on pods - that do not tolerate the taint. Valid effects are - NoSchedule, PreferNoSchedule and NoExecute. - type: string - key: - description: - Required. The taint key to be applied to - a node. - type: string - timeAdded: - description: - TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. - format: date-time - type: string - value: - description: - The taint value corresponding to the taint - key. - type: string - required: - - effect - - key - type: object + type: string type: array + required: + - token type: object - type: object - mounts: - description: Mounts specifies a list of mount points to be setup. - items: - description: MountPoints defines input for generated mounts in cloud-init. - items: - type: string type: array - type: array - ntp: - description: NTP specifies NTP configuration - properties: - enabled: - description: Enabled specifies whether NTP should be enabled - type: boolean - servers: - description: Servers specifies which NTP servers to use - items: - type: string - type: array - type: object - postKubeadmCommands: - description: - PostKubeadmCommands specifies extra commands to run after - kubeadm runs - items: - type: string - type: array - preKubeadmCommands: - description: - PreKubeadmCommands specifies extra commands to run before - kubeadm runs - items: + 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 - type: array - useExperimentalRetryJoin: - description: - "UseExperimentalRetryJoin replaces a basic kubeadm command - with a shell script with retries for joins. \n This is meant to - be an experimental temporary workaround on some environments where - joins fail due to timing (and other issues). The long term goal - is to add retries to kubeadm proper and use that functionality. - \n This will add about 40KB to userdata \n For more information, - refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." - type: boolean - users: - description: Users specifies extra users to add - items: - description: User defines the input for a generated user in cloud-init. + localAPIEndpoint: + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: - gecos: - description: Gecos specifies the gecos to use for the user + advertiseAddress: + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string - groups: - description: - Groups specifies the additional groups for the - user - type: string - homeDir: - description: - HomeDir specifies the home directory to use for - the user + bindPort: + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. + format: int32 + type: integer + type: object + nodeRegistration: + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration + properties: + criSocket: + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string - inactive: - description: - Inactive specifies whether to mark the user as - inactive - type: boolean - lockPassword: - description: - LockPassword specifies if password login should - be disabled - type: boolean + ignorePreflightErrors: + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. + items: + type: string + type: array + kubeletExtraArgs: + additionalProperties: + type: string + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. + type: object name: - description: Name specifies the user name + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string - passwd: - description: Passwd specifies a hashed password for the user + taints: + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' + items: + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. + properties: + effect: + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. + type: string + key: + description: Required. The taint key to be applied to a node. + type: string + timeAdded: + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. + format: date-time + type: string + value: + description: The taint value corresponding to the taint key. + type: string + required: + - effect + - key + type: object + type: array + type: object + type: object + joinConfiguration: + description: JoinConfiguration is the kubeadm configuration for the join command + 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 + caCertPath: + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' + type: string + controlPlane: + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. + properties: + localAPIEndpoint: + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. + properties: + advertiseAddress: + description: AdvertiseAddress sets the IP address for the API server to advertise. + type: string + bindPort: + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. + format: int32 + type: integer + type: object + type: object + discovery: + description: "Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k" + properties: + bootstrapToken: + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive + properties: + apiServerEndpoint: + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. + type: string + caCertHashes: + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' + items: + type: string + type: array + token: + description: Token is a token used to validate cluster information fetched from the control-plane. + type: string + unsafeSkipCAVerification: + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. + type: boolean + required: + - token + type: object + file: + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive + properties: + kubeConfigPath: + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information + type: string + required: + - kubeConfigPath + type: object + timeout: + description: Timeout modifies the discovery timeout type: string - primaryGroup: - description: - PrimaryGroup specifies the primary group for the - user + tlsBootstrapToken: + description: TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information type: string - shell: - description: Shell specifies the user's shell + type: object + 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 + nodeRegistration: + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration + properties: + criSocket: + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string - sshAuthorizedKeys: - description: - SSHAuthorizedKeys specifies a list of ssh authorized - keys for the user + ignorePreflightErrors: + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array - sudo: - description: Sudo specifies a sudo role for the user + kubeletExtraArgs: + additionalProperties: + type: string + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. + type: object + name: + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string - required: - - name + taints: + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' + items: + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. + properties: + effect: + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. + type: string + key: + description: Required. The taint key to be applied to a node. + type: string + timeAdded: + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. + format: date-time + type: string + value: + description: The taint value corresponding to the taint key. + type: string + required: + - effect + - key + type: object + type: array type: object - type: array - verbosity: - description: - Verbosity is the number for the kubeadm log level verbosity. - It overrides the `--v` flag in kubeadm commands. - format: int32 - type: integer - type: object - status: - description: KubeadmConfigStatus defines the observed state of KubeadmConfig. - properties: - conditions: - description: Conditions defines current service state of the KubeadmConfig. + type: object + mounts: + description: Mounts specifies a list of mount points to be setup. + items: + description: MountPoints defines input for generated mounts in cloud-init. 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: string type: array - dataSecretName: - description: - DataSecretName is the name of the secret that stores - the bootstrap data script. - type: string - failureMessage: - description: FailureMessage will be set on non-retryable errors + type: array + ntp: + description: NTP specifies NTP configuration + properties: + enabled: + description: Enabled specifies whether NTP should be enabled + type: boolean + servers: + description: Servers specifies which NTP servers to use + items: + type: string + type: array + type: object + postKubeadmCommands: + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs + items: type: string - failureReason: - description: FailureReason will be set on non-retryable errors + type: array + preKubeadmCommands: + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs + items: type: string - observedGeneration: - description: - ObservedGeneration is the latest generation observed - by the controller. - format: int64 - type: integer - ready: - description: - Ready indicates the BootstrapData field is ready to be - consumed - type: boolean - type: object - type: object - served: true - storage: true - subresources: - status: {} + type: array + useExperimentalRetryJoin: + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." + type: boolean + users: + description: Users specifies extra users to add + items: + description: User defines the input for a generated user in cloud-init. + properties: + gecos: + description: Gecos specifies the gecos to use for the user + type: string + groups: + description: Groups specifies the additional groups for the user + type: string + homeDir: + description: HomeDir specifies the home directory to use for the user + type: string + inactive: + description: Inactive specifies whether to mark the user as inactive + type: boolean + lockPassword: + description: LockPassword specifies if password login should be disabled + type: boolean + name: + description: Name specifies the user name + type: string + passwd: + description: Passwd specifies a hashed password for the user + type: string + primaryGroup: + description: PrimaryGroup specifies the primary group for the user + type: string + shell: + description: Shell specifies the user's shell + type: string + sshAuthorizedKeys: + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user + items: + type: string + type: array + sudo: + description: Sudo specifies a sudo role for the user + type: string + required: + - name + type: object + type: array + verbosity: + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. + format: int32 + type: integer + type: object + status: + description: KubeadmConfigStatus defines the observed state of KubeadmConfig. + properties: + conditions: + description: Conditions defines current service state of the KubeadmConfig. + 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 + dataSecretName: + description: DataSecretName is the name of the secret that stores the bootstrap data script. + type: string + failureMessage: + description: FailureMessage will be set on non-retryable errors + type: string + failureReason: + description: FailureReason will be set on non-retryable errors + type: string + observedGeneration: + description: ObservedGeneration is the latest generation observed by the controller. + format: int64 + type: integer + ready: + description: Ready indicates the BootstrapData field is ready to be consumed + type: boolean + type: object + type: object + served: true + storage: true + subresources: + status: {} status: acceptedNames: kind: "" @@ -2323,2275 +1463,1327 @@ spec: namespace: capi-kubeadm-bootstrap-system-test2 path: /convert conversionReviewVersions: - - v1 - - v1beta1 + - v1 + - v1beta1 group: bootstrap.cluster.x-k8s.io names: categories: - - cluster-api + - cluster-api kind: KubeadmConfigTemplate listKind: KubeadmConfigTemplateList plural: kubeadmconfigtemplates singular: kubeadmconfigtemplate scope: Namespaced versions: - - name: v1alpha3 - schema: - openAPIV3Schema: - description: - KubeadmConfigTemplate is the Schema for the kubeadmconfigtemplates - 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: KubeadmConfigTemplateSpec defines the desired state of KubeadmConfigTemplate. - properties: - template: - description: KubeadmConfigTemplateResource defines the Template structure. - properties: - spec: - description: - KubeadmConfigSpec defines the desired state of KubeadmConfig. - Either ClusterConfiguration and InitConfiguration should be - defined or the JoinConfiguration should be defined. - properties: - clusterConfiguration: - description: - ClusterConfiguration along with InitConfiguration - are the configurations necessary for the init command - properties: - apiServer: - description: - APIServer contains extra settings for the - API server control plane component - properties: - certSANs: - description: - CertSANs sets extra Subject Alternative - Names for the API Server signing cert. - items: - type: string - type: array - extraArgs: - additionalProperties: - type: string - description: - "ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This - is temporary and ideally we would like to switch - all components to use ComponentConfig + ConfigMaps." - type: object - extraVolumes: - description: - ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. - items: - description: - HostPathMount contains elements describing - volumes that are mounted from the host. - properties: - hostPath: - description: - HostPath is the path in the host - that will be mounted inside the pod. - type: string - mountPath: - description: - MountPath is the path inside the - pod where hostPath will be mounted. - type: string - name: - description: - Name of the volume inside the pod - template. - type: string - pathType: - description: PathType is the type of the HostPath. - type: string - readOnly: - description: - ReadOnly controls write access - to the volume - type: boolean - required: - - hostPath - - mountPath - - name - type: object - type: array - timeoutForControlPlane: - description: - TimeoutForControlPlane controls the timeout - that we use for API server to appear - type: string - type: object - 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 - certificatesDir: - description: - "CertificatesDir specifies where to store - or look for all required certificates. NB: if not provided, - this will default to `/etc/kubernetes/pki`" - type: string - clusterName: - description: The cluster name - type: string - controlPlaneEndpoint: - description: - "ControlPlaneEndpoint sets a stable IP address - or DNS name for the control plane; it can be a valid - IP address or a RFC-1123 DNS subdomain, both with optional - TCP port. In case the ControlPlaneEndpoint is not specified, - the AdvertiseAddress + BindPort are used; in case the - ControlPlaneEndpoint is specified but without a TCP - port, the BindPort is used. Possible usages are: e.g. - In a cluster with more than one control plane instances, - this field should be assigned the address of the external - load balancer in front of the control plane instances. - e.g. in environments with enforced node recycling, - the ControlPlaneEndpoint could be used for assigning - a stable DNS to the control plane. NB: This value defaults - to the first value in the Cluster object status.apiEndpoints - array." - type: string - controllerManager: - description: - ControllerManager contains extra settings - for the controller manager control plane component - properties: - extraArgs: - additionalProperties: - type: string - description: - "ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This - is temporary and ideally we would like to switch - all components to use ComponentConfig + ConfigMaps." - type: object - extraVolumes: - description: - ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. - items: - description: - HostPathMount contains elements describing - volumes that are mounted from the host. - properties: - hostPath: - description: - HostPath is the path in the host - that will be mounted inside the pod. - type: string - mountPath: - description: - MountPath is the path inside the - pod where hostPath will be mounted. - type: string - name: - description: - Name of the volume inside the pod - template. - type: string - pathType: - description: PathType is the type of the HostPath. - type: string - readOnly: - description: - ReadOnly controls write access - to the volume - type: boolean - required: - - hostPath - - mountPath - - name - type: object - type: array - type: object - dns: - description: - DNS defines the options for the DNS add-on - installed in the cluster. - properties: - imageRepository: - description: - ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. - type: string - imageTag: - description: - ImageTag allows to specify a tag for - the image. In case this value is set, kubeadm does - not change automatically the version of the above - components during upgrades. + - name: v1alpha3 + schema: + openAPIV3Schema: + description: KubeadmConfigTemplate is the Schema for the kubeadmconfigtemplates 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: KubeadmConfigTemplateSpec defines the desired state of KubeadmConfigTemplate. + properties: + template: + description: KubeadmConfigTemplateResource defines the Template structure. + properties: + spec: + description: KubeadmConfigSpec defines the desired state of KubeadmConfig. Either ClusterConfiguration and InitConfiguration should be defined or the JoinConfiguration should be defined. + properties: + clusterConfiguration: + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command + properties: + apiServer: + description: APIServer contains extra settings for the API server control plane component + properties: + certSANs: + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. + items: type: string - type: - description: Type defines the DNS add-on to be used + type: array + extraArgs: + additionalProperties: type: string - type: object - etcd: - description: - "Etcd holds configuration for etcd. NB: This - value defaults to a Local (stacked) etcd" - properties: - external: - description: - External describes how to connect to - an external etcd cluster Local and External are - mutually exclusive + description: "ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps." + type: object + extraVolumes: + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. + items: + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: - caFile: - description: - CAFile is an SSL Certificate Authority - file used to secure etcd communication. Required - if using a TLS connection. + hostPath: + description: HostPath is the path in the host that will be mounted inside the pod. type: string - certFile: - description: - CertFile is an SSL certification - file used to secure etcd communication. Required - if using a TLS connection. + mountPath: + description: MountPath is the path inside the pod where hostPath will be mounted. type: string - endpoints: - description: - Endpoints of etcd members. Required - for ExternalEtcd. - items: - type: string - type: array - keyFile: - description: - KeyFile is an SSL key file used to - secure etcd communication. Required if using - a TLS connection. + name: + description: Name of the volume inside the pod template. type: string + pathType: + description: PathType is the type of the HostPath. + type: string + readOnly: + description: ReadOnly controls write access to the volume + type: boolean required: - - caFile - - certFile - - endpoints - - keyFile + - hostPath + - mountPath + - name type: object - local: - description: - Local provides configuration knobs for - configuring the local etcd instance Local and External - are mutually exclusive + type: array + timeoutForControlPlane: + description: TimeoutForControlPlane controls the timeout that we use for API server to appear + type: string + type: object + 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 + certificatesDir: + description: "CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`" + type: string + clusterName: + description: The cluster name + type: string + controlPlaneEndpoint: + description: "ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array." + type: string + controllerManager: + description: ControllerManager contains extra settings for the controller manager control plane component + properties: + extraArgs: + additionalProperties: + type: string + description: "ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps." + type: object + extraVolumes: + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. + items: + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: - dataDir: - description: - DataDir is the directory etcd will - place its data. Defaults to "/var/lib/etcd". + hostPath: + description: HostPath is the path in the host that will be mounted inside the pod. type: string - extraArgs: - additionalProperties: - type: string - description: - ExtraArgs are extra arguments provided - to the etcd binary when run inside a static - pod. - type: object - imageRepository: - description: - ImageRepository sets the container - registry to pull images from. if not set, the - ImageRepository defined in ClusterConfiguration - will be used instead. + mountPath: + description: MountPath is the path inside the pod where hostPath will be mounted. type: string - imageTag: - description: - ImageTag allows to specify a tag - for the image. In case this value is set, kubeadm - does not change automatically the version of - the above components during upgrades. + name: + description: Name of the volume inside the pod template. type: string - peerCertSANs: - description: - PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. - items: - type: string - type: array - serverCertSANs: - description: - ServerCertSANs sets extra Subject - Alternative Names for the etcd server signing - cert. - items: - type: string - type: array - type: object - type: object - featureGates: - additionalProperties: - type: boolean - description: FeatureGates enabled by the user. - type: object - imageRepository: - description: - ImageRepository sets the container registry - to pull images from. If empty, `k8s.gcr.io` will be - used by default; in case of kubernetes version is a - CI build (kubernetes version starts with `ci/` or `ci-cross/`) - `gcr.io/k8s-staging-ci-images` will be used as a default - for control plane components and for kube-proxy, while - `k8s.gcr.io` will be used for all the other images. - 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 - kubernetesVersion: - description: - "KubernetesVersion is the target version - of the control plane. NB: This value defaults to the - Machine object spec.version" - type: string - networking: - description: - "Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to - the Cluster object spec.clusterNetwork." - properties: - dnsDomain: - description: - DNSDomain is the dns domain used by k8s - services. Defaults to "cluster.local". - type: string - podSubnet: - description: - PodSubnet is the subnet used by pods. - If unset, the API server will not allocate CIDR - ranges for every node. Defaults to a comma-delimited - string of the Cluster object's spec.clusterNetwork.services.cidrBlocks - if that is set - type: string - serviceSubnet: - description: - ServiceSubnet is the subnet used by k8s - services. Defaults to a comma-delimited string of - the Cluster object's spec.clusterNetwork.pods.cidrBlocks, - or to "10.96.0.0/12" if that's unset. - type: string - type: object - scheduler: - description: - Scheduler contains extra settings for the - scheduler control plane component - properties: - extraArgs: - additionalProperties: - type: string - description: - "ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This - is temporary and ideally we would like to switch - all components to use ComponentConfig + ConfigMaps." + pathType: + description: PathType is the type of the HostPath. + type: string + readOnly: + description: ReadOnly controls write access to the volume + type: boolean + required: + - hostPath + - mountPath + - name type: object - extraVolumes: - description: - ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. - items: - description: - HostPathMount contains elements describing - volumes that are mounted from the host. - properties: - hostPath: - description: - HostPath is the path in the host - that will be mounted inside the pod. - type: string - mountPath: - description: - MountPath is the path inside the - pod where hostPath will be mounted. - type: string - name: - description: - Name of the volume inside the pod - template. - type: string - pathType: - description: PathType is the type of the HostPath. - type: string - readOnly: - description: - ReadOnly controls write access - to the volume - type: boolean - required: - - hostPath - - mountPath - - name - type: object - type: array - type: object - useHyperKubeImage: - description: - UseHyperKubeImage controls if hyperkube should - be used for Kubernetes components instead of their respective - separate images - type: boolean - type: object - diskSetup: - description: - DiskSetup specifies options for the creation - of partition tables and file systems on devices. - properties: - filesystems: - description: - Filesystems specifies the list of file systems - to setup. - items: - description: - Filesystem defines the file systems to - be created. + type: array + type: object + dns: + description: DNS defines the options for the DNS add-on installed in the cluster. + properties: + imageRepository: + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. + type: string + imageTag: + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. + type: string + type: + description: Type defines the DNS add-on to be used + type: string + type: object + etcd: + description: "Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd" + properties: + external: + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: - device: - description: Device specifies the device name + caFile: + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string - extraOpts: - description: - ExtraOpts defined extra options to - add to the command for creating the file system. + certFile: + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. + type: string + endpoints: + description: Endpoints of etcd members. Required for ExternalEtcd. items: type: string type: array - filesystem: - description: - Filesystem specifies the file system - type. - type: string - label: - description: - Label specifies the file system label - to be used. If set to None, no label is used. - type: string - overwrite: - description: - Overwrite defines whether or not to - overwrite any existing filesystem. If true, any - pre-existing file system will be destroyed. Use - with Caution. - type: boolean - partition: - description: - 'Partition specifies the partition - to use. The valid options are: "auto|any", "auto", - "any", "none", and , where NUM is the actual - partition number.' - type: string - replaceFS: - description: - "ReplaceFS is a special directive, - used for Microsoft Azure that instructs cloud-init - to replace a file system of . NOTE: unless - you define a label, this requires the use of the - 'any' partition directive." + keyFile: + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - - device - - filesystem - - label + - caFile + - certFile + - endpoints + - keyFile type: object - type: array - partitions: - description: - Partitions specifies the list of the partitions - to setup. - items: - description: - Partition defines how to create and layout - a partition. + local: + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: - device: - description: Device is the name of the device. - type: string - layout: - description: - Layout specifies the device layout. - If it is true, a single partition will be created - for the entire device. When layout is false, it - means don't partition or ignore existing partitioning. - type: boolean - overwrite: - description: - Overwrite describes whether to skip - checks and create the partition if a partition - or filesystem is found on the device. Use with - caution. Default is 'false'. - type: boolean - tableType: - description: - "TableType specifies the tupe of partition - table. The following are supported: 'mbr': default - and setups a MS-DOS partition table 'gpt': setups - a GPT partition table" + dataDir: + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string - required: - - device - - layout - type: object - type: array - type: object - files: - description: - Files specifies extra files to be passed to user_data - upon creation. - items: - description: - File defines the input for generating write_files - in cloud-init. - properties: - content: - description: Content is the actual content of the file. - type: string - contentFrom: - description: - ContentFrom is a referenced source of content - to populate the file. - properties: - secret: - description: - Secret represents a secret that should - populate this file. - properties: - key: - description: - Key is the key in the secret's - data map for this value. - type: string - name: - description: - Name of the secret in the KubeadmBootstrapConfig's - namespace to use. - type: string - required: - - key - - name + extraArgs: + additionalProperties: + type: string + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object - required: - - secret - type: object - encoding: - description: - Encoding specifies the encoding of the - file contents. - enum: - - base64 - - gzip - - gzip+base64 - type: string - owner: - description: - Owner specifies the ownership of the file, - e.g. "root:root". - type: string - path: - description: - Path specifies the full path on disk where - to store the file. - type: string - permissions: - description: - Permissions specifies the permissions to - assign to the file, e.g. "0640". - type: string - required: - - path - type: object - type: array - format: - description: - Format specifies the output format of the bootstrap - data - enum: - - cloud-config - type: string - initConfiguration: - description: - InitConfiguration along with ClusterConfiguration - are the configurations necessary for the init command - 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 - bootstrapTokens: - description: - BootstrapTokens is respected at `kubeadm - init` time and describes a set of Bootstrap Tokens to - create. This information IS NOT uploaded to the kubeadm - cluster configmap, partly because of its sensitive nature - items: - description: - BootstrapToken describes one bootstrap - token, stored as a Secret in the cluster. - properties: - description: - description: - Description sets a human-friendly message - why this token exists and what it's used for, - so other administrators can know its purpose. + imageRepository: + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string - expires: - description: - Expires specifies the timestamp when - this token expires. Defaults to being set dynamically - at runtime based on the TTL. Expires and TTL are - mutually exclusive. - format: date-time + imageTag: + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string - groups: - description: - Groups specifies the extra groups that - this token will authenticate as when/if used for - authentication + peerCertSANs: + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array - token: - description: - Token is used for establishing bidirectional - trust between nodes and control-planes. Used for - joining nodes in the cluster. - type: string - ttl: - description: - TTL defines the time to live for this - token. Defaults to 24h. Expires and TTL are mutually - exclusive. - type: string - usages: - description: - Usages describes the ways in which - this token can be used. Can by default be used - for establishing bidirectional trust, but that - can be changed here. + serverCertSANs: + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array - required: - - token type: object - type: array - 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 - localAPIEndpoint: - description: - LocalAPIEndpoint represents the endpoint - of the API server instance that's deployed on this control - plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global - endpoint for the cluster, which then loadbalances the - requests to each individual API server. This configuration - object lets you customize what IP/DNS name and port - the local API server advertises it's accessible on. - By default, kubeadm tries to auto-detect the IP of the - default interface and use that, but in case that process - fails you may set the desired value here. - properties: - advertiseAddress: - description: - AdvertiseAddress sets the IP address - for the API server to advertise. - type: string - bindPort: - description: - BindPort sets the secure port for the - API Server to bind to. Defaults to 6443. - format: int32 - type: integer - required: - - advertiseAddress - - bindPort - type: object - nodeRegistration: - description: - NodeRegistration holds fields that relate - to registering the new control-plane node to the cluster. - When used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration - and JoinConfiguration - properties: - criSocket: - description: - CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use - type: string - kubeletExtraArgs: - additionalProperties: - type: string - description: - KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here are - passed to the kubelet command line via the environment - file kubeadm writes at runtime for the kubelet to - source. This overrides the generic base-level configuration - in the kubelet-config-1.X ConfigMap Flags have higher - priority when parsing. These values are local and - specific to the node kubeadm is executing on. - type: object - name: - description: - Name is the `.Metadata.Name` field of - the Node API object that will be created in this - `kubeadm init` or `kubeadm join` operation. This - field is also used in the CommonName field of the - kubelet's client certificate to the API server. - Defaults to the hostname of the node if not provided. - type: string - taints: - description: - 'Taints specifies the taints the Node - API object should be registered with. If this field - is unset, i.e. nil, in the `kubeadm init` process - it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: - {}` in the YAML file. This field is solely used - for Node registration.' - items: - description: - The node this Taint is attached to - has the "effect" on any pod that does not tolerate - the Taint. - properties: - effect: - description: - Required. The effect of the taint - on pods that do not tolerate the taint. Valid - effects are NoSchedule, PreferNoSchedule and - NoExecute. - type: string - key: - description: - Required. The taint key to be applied - to a node. - type: string - timeAdded: - description: - TimeAdded represents the time at - which the taint was added. It is only written - for NoExecute taints. - format: date-time - type: string - value: - description: - The taint value corresponding to - the taint key. - type: string - required: - - effect - - key - type: object - type: array - type: object - type: object - joinConfiguration: - description: - JoinConfiguration is the kubeadm configuration - for the join command - 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 - caCertPath: - description: - 'CACertPath is the path to the SSL certificate - authority used to secure comunications between node - and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". - TODO: revisit when there is defaulting from k/k' - type: string - controlPlane: - description: - ControlPlane defines the additional control - plane instance to be deployed on the joining node. If - nil, no additional control plane instance will be deployed. - properties: - localAPIEndpoint: - description: - LocalAPIEndpoint represents the endpoint - of the API server instance to be deployed on this - node. - properties: - advertiseAddress: - description: - AdvertiseAddress sets the IP address - for the API server to advertise. - type: string - bindPort: - description: - BindPort sets the secure port for - the API Server to bind to. Defaults to 6443. - format: int32 - type: integer - required: - - advertiseAddress - - bindPort - type: object - type: object - discovery: - description: - "Discovery specifies the options for the - kubelet to use during the TLS Bootstrap process TODO: - revisit when there is defaulting from k/k" - properties: - bootstrapToken: - description: - BootstrapToken is used to set the options - for bootstrap token based discovery BootstrapToken - and File are mutually exclusive - properties: - apiServerEndpoint: - description: - APIServerEndpoint is an IP or domain - name to the API server from which info will - be fetched. - type: string - caCertHashes: - description: - 'CACertHashes specifies a set of - public key pins to verify when token-based discovery - is used. The root CA found during discovery - must match one of these values. Specifying an - empty set disables root CA pinning, which can - be unsafe. Each hash is specified as ":", - where the only currently supported type is "sha256". - This is a hex-encoded SHA-256 hash of the Subject - Public Key Info (SPKI) object in DER-encoded - ASN.1. These hashes can be calculated using, - for example, OpenSSL: openssl x509 -pubkey -in - ca.crt openssl rsa -pubin -outform der 2>&/dev/null - | openssl dgst -sha256 -hex' - items: - type: string - type: array - token: - description: - Token is a token used to validate - cluster information fetched from the control-plane. - type: string - unsafeSkipCAVerification: - description: - UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since - other nodes can impersonate the control-plane. - type: boolean - required: - - token - - unsafeSkipCAVerification - type: object - file: - description: - File is used to specify a file or URL - to a kubeconfig file from which to load cluster - information BootstrapToken and File are mutually - exclusive - properties: - kubeConfigPath: - description: - KubeConfigPath is used to specify - the actual file path or URL to the kubeconfig - file from which to load cluster information - type: string - required: - - kubeConfigPath - type: object - timeout: - description: Timeout modifies the discovery timeout - type: string - tlsBootstrapToken: - description: - "TLSBootstrapToken is a token used for - TLS bootstrapping. If .BootstrapToken is set, this - field is defaulted to .BootstrapToken.Token, but - can be overridden. If .File is set, this field **must - be set** in case the KubeConfigFile does not contain - any other authentication information TODO: revisit - when there is defaulting from k/k" - type: string - type: object - 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 - nodeRegistration: - description: - NodeRegistration holds fields that relate - to registering the new control-plane node to the cluster. - When used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration - and JoinConfiguration - properties: - criSocket: - description: - CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use - type: string - kubeletExtraArgs: - additionalProperties: - type: string - description: - KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here are - passed to the kubelet command line via the environment - file kubeadm writes at runtime for the kubelet to - source. This overrides the generic base-level configuration - in the kubelet-config-1.X ConfigMap Flags have higher - priority when parsing. These values are local and - specific to the node kubeadm is executing on. - type: object - name: - description: - Name is the `.Metadata.Name` field of - the Node API object that will be created in this - `kubeadm init` or `kubeadm join` operation. This - field is also used in the CommonName field of the - kubelet's client certificate to the API server. - Defaults to the hostname of the node if not provided. - type: string - taints: - description: - 'Taints specifies the taints the Node - API object should be registered with. If this field - is unset, i.e. nil, in the `kubeadm init` process - it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: - {}` in the YAML file. This field is solely used - for Node registration.' - items: - description: - The node this Taint is attached to - has the "effect" on any pod that does not tolerate - the Taint. - properties: - effect: - description: - Required. The effect of the taint - on pods that do not tolerate the taint. Valid - effects are NoSchedule, PreferNoSchedule and - NoExecute. - type: string - key: - description: - Required. The taint key to be applied - to a node. - type: string - timeAdded: - description: - TimeAdded represents the time at - which the taint was added. It is only written - for NoExecute taints. - format: date-time - type: string - value: - description: - The taint value corresponding to - the taint key. - type: string - required: - - effect - - key - type: object - type: array - type: object - type: object - mounts: - description: - Mounts specifies a list of mount points to be - setup. - items: - description: - MountPoints defines input for generated mounts - in cloud-init. - items: - type: string - type: array - type: array - ntp: - description: NTP specifies NTP configuration - properties: - enabled: - description: Enabled specifies whether NTP should be enabled + type: object + featureGates: + additionalProperties: type: boolean - servers: - description: Servers specifies which NTP servers to use - items: - type: string - type: array - type: object - postKubeadmCommands: - description: - PostKubeadmCommands specifies extra commands - to run after kubeadm runs - items: + description: FeatureGates enabled by the user. + type: object + imageRepository: + description: ImageRepository sets the container registry to pull images from. If empty, `k8s.gcr.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `k8s.gcr.io` will be used for all the other images. type: string - type: array - preKubeadmCommands: - description: - PreKubeadmCommands specifies extra commands to - run before kubeadm runs - items: + 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 - type: array - useExperimentalRetryJoin: - description: - "UseExperimentalRetryJoin replaces a basic kubeadm - command with a shell script with retries for joins. \n This - is meant to be an experimental temporary workaround on some - environments where joins fail due to timing (and other issues). - The long term goal is to add retries to kubeadm proper and - use that functionality. \n This will add about 40KB to userdata - \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." - type: boolean - users: - description: Users specifies extra users to add - items: - description: - User defines the input for a generated user - in cloud-init. + kubernetesVersion: + description: "KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version" + type: string + networking: + description: "Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork." properties: - gecos: - description: - Gecos specifies the gecos to use for the - user - type: string - groups: - description: - Groups specifies the additional groups - for the user + dnsDomain: + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string - homeDir: - description: - HomeDir specifies the home directory to - use for the user - type: string - inactive: - description: - Inactive specifies whether to mark the - user as inactive - type: boolean - lockPassword: - description: - LockPassword specifies if password login - should be disabled - type: boolean - name: - description: Name specifies the user name - type: string - passwd: - description: - Passwd specifies a hashed password for - the user - type: string - primaryGroup: - description: - PrimaryGroup specifies the primary group - for the user + podSubnet: + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string - shell: - description: Shell specifies the user's shell + serviceSubnet: + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string - sshAuthorizedKeys: - description: - SSHAuthorizedKeys specifies a list of ssh - authorized keys for the user - items: + type: object + scheduler: + description: Scheduler contains extra settings for the scheduler control plane component + properties: + extraArgs: + additionalProperties: type: string + description: "ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps." + type: object + extraVolumes: + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. + items: + description: HostPathMount contains elements describing volumes that are mounted from the host. + properties: + hostPath: + description: HostPath is the path in the host that will be mounted inside the pod. + type: string + mountPath: + description: MountPath is the path inside the pod where hostPath will be mounted. + type: string + name: + description: Name of the volume inside the pod template. + type: string + pathType: + description: PathType is the type of the HostPath. + type: string + readOnly: + description: ReadOnly controls write access to the volume + type: boolean + required: + - hostPath + - mountPath + - name + type: object type: array - sudo: - description: Sudo specifies a sudo role for the user - type: string - required: - - name type: object - type: array - verbosity: - description: - Verbosity is the number for the kubeadm log level - verbosity. It overrides the `--v` flag in kubeadm commands. - format: int32 - type: integer - type: object - type: object - required: - - template - type: object - type: object - served: true - storage: false - - additionalPrinterColumns: - - description: Time duration since creation of KubeadmConfigTemplate - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha4 - schema: - openAPIV3Schema: - description: - KubeadmConfigTemplate is the Schema for the kubeadmconfigtemplates - 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: KubeadmConfigTemplateSpec defines the desired state of KubeadmConfigTemplate. - properties: - template: - description: KubeadmConfigTemplateResource defines the Template structure. - properties: - spec: - description: - KubeadmConfigSpec defines the desired state of KubeadmConfig. - Either ClusterConfiguration and InitConfiguration should be - defined or the JoinConfiguration should be defined. - properties: - clusterConfiguration: - description: - ClusterConfiguration along with InitConfiguration - are the configurations necessary for the init command - properties: - apiServer: - description: - APIServer contains extra settings for the - API server control plane component + useHyperKubeImage: + description: UseHyperKubeImage controls if hyperkube should be used for Kubernetes components instead of their respective separate images + type: boolean + type: object + diskSetup: + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. + properties: + filesystems: + description: Filesystems specifies the list of file systems to setup. + items: + description: Filesystem defines the file systems to be created. properties: - certSANs: - description: - CertSANs sets extra Subject Alternative - Names for the API Server signing cert. + device: + description: Device specifies the device name + type: string + extraOpts: + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array - extraArgs: - additionalProperties: - type: string - description: - "ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This - is temporary and ideally we would like to switch - all components to use ComponentConfig + ConfigMaps." - type: object - extraVolumes: - description: - ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. - items: - description: - HostPathMount contains elements describing - volumes that are mounted from the host. - properties: - hostPath: - description: - HostPath is the path in the host - that will be mounted inside the pod. - type: string - mountPath: - description: - MountPath is the path inside the - pod where hostPath will be mounted. - type: string - name: - description: - Name of the volume inside the pod - template. - type: string - pathType: - description: PathType is the type of the HostPath. - type: string - readOnly: - description: - ReadOnly controls write access - to the volume - type: boolean - required: - - hostPath - - mountPath - - name - type: object - type: array - timeoutForControlPlane: - description: - TimeoutForControlPlane controls the timeout - that we use for API server to appear + filesystem: + description: Filesystem specifies the file system type. type: string + label: + description: Label specifies the file system label to be used. If set to None, no label is used. + type: string + overwrite: + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. + type: boolean + partition: + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' + type: string + replaceFS: + description: "ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the 'any' partition directive." + type: string + required: + - device + - filesystem + - label type: object - 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 - certificatesDir: - description: - "CertificatesDir specifies where to store - or look for all required certificates. NB: if not provided, - this will default to `/etc/kubernetes/pki`" - type: string - clusterName: - description: The cluster name - type: string - controlPlaneEndpoint: - description: - "ControlPlaneEndpoint sets a stable IP address - or DNS name for the control plane; it can be a valid - IP address or a RFC-1123 DNS subdomain, both with optional - TCP port. In case the ControlPlaneEndpoint is not specified, - the AdvertiseAddress + BindPort are used; in case the - ControlPlaneEndpoint is specified but without a TCP - port, the BindPort is used. Possible usages are: e.g. - In a cluster with more than one control plane instances, - this field should be assigned the address of the external - load balancer in front of the control plane instances. - e.g. in environments with enforced node recycling, - the ControlPlaneEndpoint could be used for assigning - a stable DNS to the control plane. NB: This value defaults - to the first value in the Cluster object status.apiEndpoints - array." - type: string - controllerManager: - description: - ControllerManager contains extra settings - for the controller manager control plane component - properties: - extraArgs: - additionalProperties: - type: string - description: - "ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This - is temporary and ideally we would like to switch - all components to use ComponentConfig + ConfigMaps." - type: object - extraVolumes: - description: - ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. - items: - description: - HostPathMount contains elements describing - volumes that are mounted from the host. - properties: - hostPath: - description: - HostPath is the path in the host - that will be mounted inside the pod. - type: string - mountPath: - description: - MountPath is the path inside the - pod where hostPath will be mounted. - type: string - name: - description: - Name of the volume inside the pod - template. - type: string - pathType: - description: PathType is the type of the HostPath. - type: string - readOnly: - description: - ReadOnly controls write access - to the volume - type: boolean - required: - - hostPath - - mountPath - - name - type: object - type: array - type: object - dns: - description: - DNS defines the options for the DNS add-on - installed in the cluster. + type: array + partitions: + description: Partitions specifies the list of the partitions to setup. + items: + description: Partition defines how to create and layout a partition. properties: - imageRepository: - description: - ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + device: + description: Device is the name of the device. type: string - imageTag: - description: - ImageTag allows to specify a tag for - the image. In case this value is set, kubeadm does - not change automatically the version of the above - components during upgrades. + layout: + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. + type: boolean + overwrite: + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. + type: boolean + tableType: + description: "TableType specifies the tupe of partition table. The following are supported: 'mbr': default and setups a MS-DOS partition table 'gpt': setups a GPT partition table" type: string + required: + - device + - layout type: object - etcd: - description: - "Etcd holds configuration for etcd. NB: This - value defaults to a Local (stacked) etcd" + type: array + type: object + files: + description: Files specifies extra files to be passed to user_data upon creation. + items: + description: File defines the input for generating write_files in cloud-init. + properties: + content: + description: Content is the actual content of the file. + type: string + contentFrom: + description: ContentFrom is a referenced source of content to populate the file. properties: - external: - description: - External describes how to connect to - an external etcd cluster Local and External are - mutually exclusive + secret: + description: Secret represents a secret that should populate this file. properties: - caFile: - description: - CAFile is an SSL Certificate Authority - file used to secure etcd communication. Required - if using a TLS connection. + key: + description: Key is the key in the secret's data map for this value. type: string - certFile: - description: - CertFile is an SSL certification - file used to secure etcd communication. Required - if using a TLS connection. - type: string - endpoints: - description: - Endpoints of etcd members. Required - for ExternalEtcd. - items: - type: string - type: array - keyFile: - description: - KeyFile is an SSL key file used to - secure etcd communication. Required if using - a TLS connection. + name: + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - - caFile - - certFile - - endpoints - - keyFile - type: object - local: - description: - Local provides configuration knobs for - configuring the local etcd instance Local and External - are mutually exclusive - properties: - dataDir: - description: - DataDir is the directory etcd will - place its data. Defaults to "/var/lib/etcd". - type: string - extraArgs: - additionalProperties: - type: string - description: - ExtraArgs are extra arguments provided - to the etcd binary when run inside a static - pod. - type: object - imageRepository: - description: - ImageRepository sets the container - registry to pull images from. if not set, the - ImageRepository defined in ClusterConfiguration - will be used instead. - type: string - imageTag: - description: - ImageTag allows to specify a tag - for the image. In case this value is set, kubeadm - does not change automatically the version of - the above components during upgrades. - type: string - peerCertSANs: - description: - PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. - items: - type: string - type: array - serverCertSANs: - description: - ServerCertSANs sets extra Subject - Alternative Names for the etcd server signing - cert. - items: - type: string - type: array + - key + - name type: object + required: + - secret type: object - featureGates: - additionalProperties: - type: boolean - description: FeatureGates enabled by the user. - type: object - imageRepository: - description: - ImageRepository sets the container registry - to pull images from. If empty, `k8s.gcr.io` will be - used by default; in case of kubernetes version is a - CI build (kubernetes version starts with `ci/` or `ci-cross/`) - `gcr.io/k8s-staging-ci-images` will be used as a default - for control plane components and for kube-proxy, while - `k8s.gcr.io` will be used for all the other images. + encoding: + description: Encoding specifies the encoding of the file contents. + enum: + - base64 + - gzip + - gzip+base64 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" + owner: + description: Owner specifies the ownership of the file, e.g. "root:root". type: string - kubernetesVersion: - description: - "KubernetesVersion is the target version - of the control plane. NB: This value defaults to the - Machine object spec.version" + path: + description: Path specifies the full path on disk where to store the file. type: string - networking: - description: - "Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to - the Cluster object spec.clusterNetwork." + permissions: + description: Permissions specifies the permissions to assign to the file, e.g. "0640". + type: string + required: + - path + type: object + type: array + format: + description: Format specifies the output format of the bootstrap data + enum: + - cloud-config + type: string + initConfiguration: + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command + 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 + bootstrapTokens: + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature + items: + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: - dnsDomain: - description: - DNSDomain is the dns domain used by k8s - services. Defaults to "cluster.local". - type: string - podSubnet: - description: - PodSubnet is the subnet used by pods. - If unset, the API server will not allocate CIDR - ranges for every node. Defaults to a comma-delimited - string of the Cluster object's spec.clusterNetwork.services.cidrBlocks - if that is set + description: + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string - serviceSubnet: - description: - ServiceSubnet is the subnet used by k8s - services. Defaults to a comma-delimited string of - the Cluster object's spec.clusterNetwork.pods.cidrBlocks, - or to "10.96.0.0/12" if that's unset. + expires: + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. + format: date-time type: string - type: object - scheduler: - description: - Scheduler contains extra settings for the - scheduler control plane component - properties: - extraArgs: - additionalProperties: + groups: + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication + items: type: string - description: - "ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This - is temporary and ideally we would like to switch - all components to use ComponentConfig + ConfigMaps." - type: object - extraVolumes: - description: - ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + type: array + token: + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. + type: string + ttl: + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. + type: string + usages: + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: - description: - HostPathMount contains elements describing - volumes that are mounted from the host. - properties: - hostPath: - description: - HostPath is the path in the host - that will be mounted inside the pod. - type: string - mountPath: - description: - MountPath is the path inside the - pod where hostPath will be mounted. - type: string - name: - description: - Name of the volume inside the pod - template. - type: string - pathType: - description: PathType is the type of the HostPath. - type: string - readOnly: - description: - ReadOnly controls write access - to the volume - type: boolean - required: - - hostPath - - mountPath - - name - type: object + type: string type: array + required: + - token type: object - type: object - diskSetup: - description: - DiskSetup specifies options for the creation - of partition tables and file systems on devices. - properties: - filesystems: - description: - Filesystems specifies the list of file systems - to setup. - items: - description: - Filesystem defines the file systems to - be created. + type: array + 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 + localAPIEndpoint: + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. + properties: + advertiseAddress: + description: AdvertiseAddress sets the IP address for the API server to advertise. + type: string + bindPort: + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. + format: int32 + type: integer + required: + - advertiseAddress + - bindPort + type: object + nodeRegistration: + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration + properties: + criSocket: + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use + type: string + kubeletExtraArgs: + additionalProperties: + type: string + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. + type: object + name: + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. + type: string + taints: + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' + items: + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. + properties: + effect: + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. + type: string + key: + description: Required. The taint key to be applied to a node. + type: string + timeAdded: + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. + format: date-time + type: string + value: + description: The taint value corresponding to the taint key. + type: string + required: + - effect + - key + type: object + type: array + type: object + type: object + joinConfiguration: + description: JoinConfiguration is the kubeadm configuration for the join command + 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 + caCertPath: + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' + type: string + controlPlane: + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. + properties: + localAPIEndpoint: + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. + properties: + advertiseAddress: + description: AdvertiseAddress sets the IP address for the API server to advertise. + type: string + bindPort: + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. + format: int32 + type: integer + required: + - advertiseAddress + - bindPort + type: object + type: object + discovery: + description: "Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k" + properties: + bootstrapToken: + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: - device: - description: Device specifies the device name + apiServerEndpoint: + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string - extraOpts: - description: - ExtraOpts defined extra options to - add to the command for creating the file system. + caCertHashes: + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array - filesystem: - description: - Filesystem specifies the file system - type. - type: string - label: - description: - Label specifies the file system label - to be used. If set to None, no label is used. + token: + description: Token is a token used to validate cluster information fetched from the control-plane. type: string - overwrite: - description: - Overwrite defines whether or not to - overwrite any existing filesystem. If true, any - pre-existing file system will be destroyed. Use - with Caution. + unsafeSkipCAVerification: + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean - partition: - description: - 'Partition specifies the partition - to use. The valid options are: "auto|any", "auto", - "any", "none", and , where NUM is the actual - partition number.' - type: string - replaceFS: - description: - "ReplaceFS is a special directive, - used for Microsoft Azure that instructs cloud-init - to replace a file system of . NOTE: unless - you define a label, this requires the use of the - 'any' partition directive." - type: string required: - - device - - filesystem - - label + - token + - unsafeSkipCAVerification type: object - type: array - partitions: - description: - Partitions specifies the list of the partitions - to setup. - items: - description: - Partition defines how to create and layout - a partition. + file: + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: - device: - description: Device is the name of the device. - type: string - layout: - description: - Layout specifies the device layout. - If it is true, a single partition will be created - for the entire device. When layout is false, it - means don't partition or ignore existing partitioning. - type: boolean - overwrite: - description: - Overwrite describes whether to skip - checks and create the partition if a partition - or filesystem is found on the device. Use with - caution. Default is 'false'. - type: boolean - tableType: - description: - "TableType specifies the tupe of partition - table. The following are supported: 'mbr': default - and setups a MS-DOS partition table 'gpt': setups - a GPT partition table" + kubeConfigPath: + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - - device - - layout + - kubeConfigPath type: object - type: array - type: object - files: - description: - Files specifies extra files to be passed to user_data - upon creation. - items: - description: - File defines the input for generating write_files - in cloud-init. + timeout: + description: Timeout modifies the discovery timeout + type: string + tlsBootstrapToken: + description: "TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information TODO: revisit when there is defaulting from k/k" + type: string + type: object + 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 + nodeRegistration: + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: - content: - description: Content is the actual content of the file. + criSocket: + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string - contentFrom: - description: - ContentFrom is a referenced source of content - to populate the file. - properties: - secret: - description: - Secret represents a secret that should - populate this file. - properties: - key: - description: - Key is the key in the secret's - data map for this value. - type: string - name: - description: - Name of the secret in the KubeadmBootstrapConfig's - namespace to use. - type: string - required: - - key - - name - type: object - required: - - secret + kubeletExtraArgs: + additionalProperties: + type: string + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object - encoding: - description: - Encoding specifies the encoding of the - file contents. - enum: - - base64 - - gzip - - gzip+base64 + name: + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string - owner: - description: - Owner specifies the ownership of the file, - e.g. "root:root". + taints: + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' + items: + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. + properties: + effect: + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. + type: string + key: + description: Required. The taint key to be applied to a node. + type: string + timeAdded: + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. + format: date-time + type: string + value: + description: The taint value corresponding to the taint key. + type: string + required: + - effect + - key + type: object + type: array + type: object + type: object + mounts: + description: Mounts specifies a list of mount points to be setup. + items: + description: MountPoints defines input for generated mounts in cloud-init. + items: + type: string + type: array + type: array + ntp: + description: NTP specifies NTP configuration + properties: + enabled: + description: Enabled specifies whether NTP should be enabled + type: boolean + servers: + description: Servers specifies which NTP servers to use + items: + type: string + type: array + type: object + postKubeadmCommands: + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs + items: + type: string + type: array + preKubeadmCommands: + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs + items: + type: string + type: array + useExperimentalRetryJoin: + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." + type: boolean + users: + description: Users specifies extra users to add + items: + description: User defines the input for a generated user in cloud-init. + properties: + gecos: + description: Gecos specifies the gecos to use for the user + type: string + groups: + description: Groups specifies the additional groups for the user + type: string + homeDir: + description: HomeDir specifies the home directory to use for the user + type: string + inactive: + description: Inactive specifies whether to mark the user as inactive + type: boolean + lockPassword: + description: LockPassword specifies if password login should be disabled + type: boolean + name: + description: Name specifies the user name + type: string + passwd: + description: Passwd specifies a hashed password for the user + type: string + primaryGroup: + description: PrimaryGroup specifies the primary group for the user + type: string + shell: + description: Shell specifies the user's shell + type: string + sshAuthorizedKeys: + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user + items: type: string - path: - description: - Path specifies the full path on disk where - to store the file. + type: array + sudo: + description: Sudo specifies a sudo role for the user + type: string + required: + - name + type: object + type: array + verbosity: + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. + format: int32 + type: integer + type: object + type: object + required: + - template + type: object + type: object + served: true + storage: false + - additionalPrinterColumns: + - description: Time duration since creation of KubeadmConfigTemplate + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha4 + schema: + openAPIV3Schema: + description: KubeadmConfigTemplate is the Schema for the kubeadmconfigtemplates 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: KubeadmConfigTemplateSpec defines the desired state of KubeadmConfigTemplate. + properties: + template: + description: KubeadmConfigTemplateResource defines the Template structure. + properties: + spec: + description: KubeadmConfigSpec defines the desired state of KubeadmConfig. Either ClusterConfiguration and InitConfiguration should be defined or the JoinConfiguration should be defined. + properties: + clusterConfiguration: + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command + properties: + apiServer: + description: APIServer contains extra settings for the API server control plane component + properties: + certSANs: + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. + items: + type: string + type: array + extraArgs: + additionalProperties: + type: string + description: "ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps." + type: object + extraVolumes: + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. + items: + description: HostPathMount contains elements describing volumes that are mounted from the host. + properties: + hostPath: + description: HostPath is the path in the host that will be mounted inside the pod. + type: string + mountPath: + description: MountPath is the path inside the pod where hostPath will be mounted. + type: string + name: + description: Name of the volume inside the pod template. + type: string + pathType: + description: PathType is the type of the HostPath. + type: string + readOnly: + description: ReadOnly controls write access to the volume + type: boolean + required: + - hostPath + - mountPath + - name + type: object + type: array + timeoutForControlPlane: + description: TimeoutForControlPlane controls the timeout that we use for API server to appear + type: string + type: object + 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 + certificatesDir: + description: "CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`" + type: string + clusterName: + description: The cluster name + type: string + controlPlaneEndpoint: + description: "ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array." + type: string + controllerManager: + description: ControllerManager contains extra settings for the controller manager control plane component + properties: + extraArgs: + additionalProperties: + type: string + description: "ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps." + type: object + extraVolumes: + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. + items: + description: HostPathMount contains elements describing volumes that are mounted from the host. + properties: + hostPath: + description: HostPath is the path in the host that will be mounted inside the pod. + type: string + mountPath: + description: MountPath is the path inside the pod where hostPath will be mounted. + type: string + name: + description: Name of the volume inside the pod template. + type: string + pathType: + description: PathType is the type of the HostPath. + type: string + readOnly: + description: ReadOnly controls write access to the volume + type: boolean + required: + - hostPath + - mountPath + - name + type: object + type: array + type: object + dns: + description: DNS defines the options for the DNS add-on installed in the cluster. + properties: + imageRepository: + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string - permissions: - description: - Permissions specifies the permissions to - assign to the file, e.g. "0640". + imageTag: + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string - required: - - path type: object - type: array - format: - description: - Format specifies the output format of the bootstrap - data - enum: - - cloud-config - type: string - initConfiguration: - description: - InitConfiguration along with ClusterConfiguration - are the configurations necessary for the init command - 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 - bootstrapTokens: - description: - BootstrapTokens is respected at `kubeadm - init` time and describes a set of Bootstrap Tokens to - create. This information IS NOT uploaded to the kubeadm - cluster configmap, partly because of its sensitive nature - items: - description: - BootstrapToken describes one bootstrap - token, stored as a Secret in the cluster. + etcd: + description: "Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd" + properties: + external: + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: - description: - description: - Description sets a human-friendly message - why this token exists and what it's used for, - so other administrators can know its purpose. + caFile: + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string - expires: - description: - Expires specifies the timestamp when - this token expires. Defaults to being set dynamically - at runtime based on the TTL. Expires and TTL are - mutually exclusive. - format: date-time + certFile: + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string - groups: - description: - Groups specifies the extra groups that - this token will authenticate as when/if used for - authentication + endpoints: + description: Endpoints of etcd members. Required for ExternalEtcd. items: type: string type: array - token: - description: - Token is used for establishing bidirectional - trust between nodes and control-planes. Used for - joining nodes in the cluster. + keyFile: + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string - ttl: - description: - TTL defines the time to live for this - token. Defaults to 24h. Expires and TTL are mutually - exclusive. + required: + - caFile + - certFile + - endpoints + - keyFile + type: object + local: + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive + properties: + dataDir: + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". + type: string + extraArgs: + additionalProperties: + type: string + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. + type: object + imageRepository: + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string - usages: - description: - Usages describes the ways in which - this token can be used. Can by default be used - for establishing bidirectional trust, but that - can be changed here. + imageTag: + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. + type: string + peerCertSANs: + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. + items: + type: string + type: array + serverCertSANs: + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array - required: - - token type: object - type: array - 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 - localAPIEndpoint: - description: - LocalAPIEndpoint represents the endpoint - of the API server instance that's deployed on this control - plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global - endpoint for the cluster, which then loadbalances the - requests to each individual API server. This configuration - object lets you customize what IP/DNS name and port - the local API server advertises it's accessible on. - By default, kubeadm tries to auto-detect the IP of the - default interface and use that, but in case that process - fails you may set the desired value here. - properties: - advertiseAddress: - description: - AdvertiseAddress sets the IP address - for the API server to advertise. + type: object + featureGates: + additionalProperties: + type: boolean + description: FeatureGates enabled by the user. + type: object + imageRepository: + description: ImageRepository sets the container registry to pull images from. If empty, `k8s.gcr.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `k8s.gcr.io` will be used for all the other images. + 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 + kubernetesVersion: + description: "KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version" + type: string + networking: + description: "Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork." + properties: + dnsDomain: + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". + type: string + podSubnet: + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set + type: string + serviceSubnet: + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. + type: string + type: object + scheduler: + description: Scheduler contains extra settings for the scheduler control plane component + properties: + extraArgs: + additionalProperties: type: string - bindPort: - description: - BindPort sets the secure port for the - API Server to bind to. Defaults to 6443. - format: int32 - type: integer - type: object - nodeRegistration: - description: - NodeRegistration holds fields that relate - to registering the new control-plane node to the cluster. - When used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration - and JoinConfiguration + description: "ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps." + type: object + extraVolumes: + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. + items: + description: HostPathMount contains elements describing volumes that are mounted from the host. + properties: + hostPath: + description: HostPath is the path in the host that will be mounted inside the pod. + type: string + mountPath: + description: MountPath is the path inside the pod where hostPath will be mounted. + type: string + name: + description: Name of the volume inside the pod template. + type: string + pathType: + description: PathType is the type of the HostPath. + type: string + readOnly: + description: ReadOnly controls write access to the volume + type: boolean + required: + - hostPath + - mountPath + - name + type: object + type: array + type: object + type: object + diskSetup: + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. + properties: + filesystems: + description: Filesystems specifies the list of file systems to setup. + items: + description: Filesystem defines the file systems to be created. properties: - criSocket: - description: - CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + device: + description: Device specifies the device name type: string - ignorePreflightErrors: - description: - IgnorePreflightErrors provides a slice - of pre-flight errors to be ignored when the current - node is registered. + extraOpts: + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array - kubeletExtraArgs: - additionalProperties: - type: string - description: - KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here are - passed to the kubelet command line via the environment - file kubeadm writes at runtime for the kubelet to - source. This overrides the generic base-level configuration - in the kubelet-config-1.X ConfigMap Flags have higher - priority when parsing. These values are local and - specific to the node kubeadm is executing on. - type: object - name: - description: - Name is the `.Metadata.Name` field of - the Node API object that will be created in this - `kubeadm init` or `kubeadm join` operation. This - field is also used in the CommonName field of the - kubelet's client certificate to the API server. - Defaults to the hostname of the node if not provided. + filesystem: + description: Filesystem specifies the file system type. type: string - taints: - description: - 'Taints specifies the taints the Node - API object should be registered with. If this field - is unset, i.e. nil, in the `kubeadm init` process - it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: - {}` in the YAML file. This field is solely used - for Node registration.' - items: - description: - The node this Taint is attached to - has the "effect" on any pod that does not tolerate - the Taint. - properties: - effect: - description: - Required. The effect of the taint - on pods that do not tolerate the taint. Valid - effects are NoSchedule, PreferNoSchedule and - NoExecute. - type: string - key: - description: - Required. The taint key to be applied - to a node. - type: string - timeAdded: - description: - TimeAdded represents the time at - which the taint was added. It is only written - for NoExecute taints. - format: date-time - type: string - value: - description: - The taint value corresponding to - the taint key. - type: string - required: - - effect - - key - type: object - type: array + label: + description: Label specifies the file system label to be used. If set to None, no label is used. + type: string + overwrite: + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. + type: boolean + partition: + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' + type: string + replaceFS: + description: "ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the 'any' partition directive." + type: string + required: + - device + - filesystem + - label type: object - type: object - joinConfiguration: - description: - JoinConfiguration is the kubeadm configuration - for the join command - 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 - caCertPath: - description: - 'CACertPath is the path to the SSL certificate - authority used to secure comunications between node - and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". - TODO: revisit when there is defaulting from k/k' - type: string - controlPlane: - description: - ControlPlane defines the additional control - plane instance to be deployed on the joining node. If - nil, no additional control plane instance will be deployed. + type: array + partitions: + description: Partitions specifies the list of the partitions to setup. + items: + description: Partition defines how to create and layout a partition. properties: - localAPIEndpoint: - description: - LocalAPIEndpoint represents the endpoint - of the API server instance to be deployed on this - node. - properties: - advertiseAddress: - description: - AdvertiseAddress sets the IP address - for the API server to advertise. - type: string - bindPort: - description: - BindPort sets the secure port for - the API Server to bind to. Defaults to 6443. - format: int32 - type: integer - type: object + device: + description: Device is the name of the device. + type: string + layout: + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. + type: boolean + overwrite: + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. + type: boolean + tableType: + description: "TableType specifies the tupe of partition table. The following are supported: 'mbr': default and setups a MS-DOS partition table 'gpt': setups a GPT partition table" + type: string + required: + - device + - layout type: object - discovery: - description: - "Discovery specifies the options for the - kubelet to use during the TLS Bootstrap process TODO: - revisit when there is defaulting from k/k" + type: array + type: object + files: + description: Files specifies extra files to be passed to user_data upon creation. + items: + description: File defines the input for generating write_files in cloud-init. + properties: + content: + description: Content is the actual content of the file. + type: string + contentFrom: + description: ContentFrom is a referenced source of content to populate the file. properties: - bootstrapToken: - description: - BootstrapToken is used to set the options - for bootstrap token based discovery BootstrapToken - and File are mutually exclusive + secret: + description: Secret represents a secret that should populate this file. properties: - apiServerEndpoint: - description: - APIServerEndpoint is an IP or domain - name to the API server from which info will - be fetched. + key: + description: Key is the key in the secret's data map for this value. type: string - caCertHashes: - description: - 'CACertHashes specifies a set of - public key pins to verify when token-based discovery - is used. The root CA found during discovery - must match one of these values. Specifying an - empty set disables root CA pinning, which can - be unsafe. Each hash is specified as ":", - where the only currently supported type is "sha256". - This is a hex-encoded SHA-256 hash of the Subject - Public Key Info (SPKI) object in DER-encoded - ASN.1. These hashes can be calculated using, - for example, OpenSSL: openssl x509 -pubkey -in - ca.crt openssl rsa -pubin -outform der 2>&/dev/null - | openssl dgst -sha256 -hex' - items: - type: string - type: array - token: - description: - Token is a token used to validate - cluster information fetched from the control-plane. - type: string - unsafeSkipCAVerification: - description: - UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since - other nodes can impersonate the control-plane. - type: boolean - required: - - token - type: object - file: - description: - File is used to specify a file or URL - to a kubeconfig file from which to load cluster - information BootstrapToken and File are mutually - exclusive - properties: - kubeConfigPath: - description: - KubeConfigPath is used to specify - the actual file path or URL to the kubeconfig - file from which to load cluster information + name: + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - - kubeConfigPath + - key + - name type: object - timeout: - description: Timeout modifies the discovery timeout - type: string - tlsBootstrapToken: - description: - TLSBootstrapToken is a token used for - TLS bootstrapping. If .BootstrapToken is set, this - field is defaulted to .BootstrapToken.Token, but - can be overridden. If .File is set, this field **must - be set** in case the KubeConfigFile does not contain - any other authentication information - type: string + required: + - secret type: object - 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" + encoding: + description: Encoding specifies the encoding of the file contents. + enum: + - base64 + - gzip + - gzip+base64 type: string - nodeRegistration: - description: - NodeRegistration holds fields that relate - to registering the new control-plane node to the cluster. - When used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration - and JoinConfiguration + owner: + description: Owner specifies the ownership of the file, e.g. "root:root". + type: string + path: + description: Path specifies the full path on disk where to store the file. + type: string + permissions: + description: Permissions specifies the permissions to assign to the file, e.g. "0640". + type: string + required: + - path + type: object + type: array + format: + description: Format specifies the output format of the bootstrap data + enum: + - cloud-config + type: string + initConfiguration: + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command + 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 + bootstrapTokens: + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature + items: + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: - criSocket: - description: - CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + description: + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string - ignorePreflightErrors: - description: - IgnorePreflightErrors provides a slice - of pre-flight errors to be ignored when the current - node is registered. + expires: + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. + format: date-time + type: string + groups: + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array - kubeletExtraArgs: - additionalProperties: - type: string - description: - KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here are - passed to the kubelet command line via the environment - file kubeadm writes at runtime for the kubelet to - source. This overrides the generic base-level configuration - in the kubelet-config-1.X ConfigMap Flags have higher - priority when parsing. These values are local and - specific to the node kubeadm is executing on. - type: object - name: - description: - Name is the `.Metadata.Name` field of - the Node API object that will be created in this - `kubeadm init` or `kubeadm join` operation. This - field is also used in the CommonName field of the - kubelet's client certificate to the API server. - Defaults to the hostname of the node if not provided. + token: + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. + type: string + ttl: + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string - taints: - description: - 'Taints specifies the taints the Node - API object should be registered with. If this field - is unset, i.e. nil, in the `kubeadm init` process - it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: - {}` in the YAML file. This field is solely used - for Node registration.' + usages: + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: - description: - The node this Taint is attached to - has the "effect" on any pod that does not tolerate - the Taint. - properties: - effect: - description: - Required. The effect of the taint - on pods that do not tolerate the taint. Valid - effects are NoSchedule, PreferNoSchedule and - NoExecute. - type: string - key: - description: - Required. The taint key to be applied - to a node. - type: string - timeAdded: - description: - TimeAdded represents the time at - which the taint was added. It is only written - for NoExecute taints. - format: date-time - type: string - value: - description: - The taint value corresponding to - the taint key. - type: string - required: - - effect - - key - type: object + type: string type: array + required: + - token type: object - type: object - mounts: - description: - Mounts specifies a list of mount points to be - setup. - items: - description: - MountPoints defines input for generated mounts - in cloud-init. - items: - type: string type: array - type: array - ntp: - description: NTP specifies NTP configuration - properties: - enabled: - description: Enabled specifies whether NTP should be enabled - type: boolean - servers: - description: Servers specifies which NTP servers to use - items: - type: string - type: array - type: object - postKubeadmCommands: - description: - PostKubeadmCommands specifies extra commands - to run after kubeadm runs - items: - type: string - type: array - preKubeadmCommands: - description: - PreKubeadmCommands specifies extra commands to - run before kubeadm runs - items: + 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 - type: array - useExperimentalRetryJoin: - description: - "UseExperimentalRetryJoin replaces a basic kubeadm - command with a shell script with retries for joins. \n This - is meant to be an experimental temporary workaround on some - environments where joins fail due to timing (and other issues). - The long term goal is to add retries to kubeadm proper and - use that functionality. \n This will add about 40KB to userdata - \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." - type: boolean - users: - description: Users specifies extra users to add - items: - description: - User defines the input for a generated user - in cloud-init. + localAPIEndpoint: + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: - gecos: - description: - Gecos specifies the gecos to use for the - user - type: string - groups: - description: - Groups specifies the additional groups - for the user + advertiseAddress: + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string - homeDir: - description: - HomeDir specifies the home directory to - use for the user + bindPort: + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. + format: int32 + type: integer + type: object + nodeRegistration: + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration + properties: + criSocket: + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string - inactive: - description: - Inactive specifies whether to mark the - user as inactive - type: boolean - lockPassword: - description: - LockPassword specifies if password login - should be disabled - type: boolean + ignorePreflightErrors: + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. + items: + type: string + type: array + kubeletExtraArgs: + additionalProperties: + type: string + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. + type: object name: - description: Name specifies the user name + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string - passwd: - description: - Passwd specifies a hashed password for - the user + taints: + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' + items: + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. + properties: + effect: + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. + type: string + key: + description: Required. The taint key to be applied to a node. + type: string + timeAdded: + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. + format: date-time + type: string + value: + description: The taint value corresponding to the taint key. + type: string + required: + - effect + - key + type: object + type: array + type: object + type: object + joinConfiguration: + description: JoinConfiguration is the kubeadm configuration for the join command + 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 + caCertPath: + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' + type: string + controlPlane: + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. + properties: + localAPIEndpoint: + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. + properties: + advertiseAddress: + description: AdvertiseAddress sets the IP address for the API server to advertise. + type: string + bindPort: + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. + format: int32 + type: integer + type: object + type: object + discovery: + description: "Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k" + properties: + bootstrapToken: + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive + properties: + apiServerEndpoint: + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. + type: string + caCertHashes: + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' + items: + type: string + type: array + token: + description: Token is a token used to validate cluster information fetched from the control-plane. + type: string + unsafeSkipCAVerification: + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. + type: boolean + required: + - token + type: object + file: + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive + properties: + kubeConfigPath: + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information + type: string + required: + - kubeConfigPath + type: object + timeout: + description: Timeout modifies the discovery timeout type: string - primaryGroup: - description: - PrimaryGroup specifies the primary group - for the user + tlsBootstrapToken: + description: TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information type: string - shell: - description: Shell specifies the user's shell + type: object + 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 + nodeRegistration: + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration + properties: + criSocket: + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string - sshAuthorizedKeys: - description: - SSHAuthorizedKeys specifies a list of ssh - authorized keys for the user + ignorePreflightErrors: + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array - sudo: - description: Sudo specifies a sudo role for the user + kubeletExtraArgs: + additionalProperties: + type: string + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. + type: object + name: + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string - required: - - name + taints: + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' + items: + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. + properties: + effect: + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. + type: string + key: + description: Required. The taint key to be applied to a node. + type: string + timeAdded: + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. + format: date-time + type: string + value: + description: The taint value corresponding to the taint key. + type: string + required: + - effect + - key + type: object + type: array type: object + type: object + mounts: + description: Mounts specifies a list of mount points to be setup. + items: + description: MountPoints defines input for generated mounts in cloud-init. + items: + type: string type: array - verbosity: - description: - Verbosity is the number for the kubeadm log level - verbosity. It overrides the `--v` flag in kubeadm commands. - format: int32 - type: integer - type: object - type: object - required: - - template - type: object - type: object - served: true - storage: true - subresources: {} + type: array + ntp: + description: NTP specifies NTP configuration + properties: + enabled: + description: Enabled specifies whether NTP should be enabled + type: boolean + servers: + description: Servers specifies which NTP servers to use + items: + type: string + type: array + type: object + postKubeadmCommands: + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs + items: + type: string + type: array + preKubeadmCommands: + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs + items: + type: string + type: array + useExperimentalRetryJoin: + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." + type: boolean + users: + description: Users specifies extra users to add + items: + description: User defines the input for a generated user in cloud-init. + properties: + gecos: + description: Gecos specifies the gecos to use for the user + type: string + groups: + description: Groups specifies the additional groups for the user + type: string + homeDir: + description: HomeDir specifies the home directory to use for the user + type: string + inactive: + description: Inactive specifies whether to mark the user as inactive + type: boolean + lockPassword: + description: LockPassword specifies if password login should be disabled + type: boolean + name: + description: Name specifies the user name + type: string + passwd: + description: Passwd specifies a hashed password for the user + type: string + primaryGroup: + description: PrimaryGroup specifies the primary group for the user + type: string + shell: + description: Shell specifies the user's shell + type: string + sshAuthorizedKeys: + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user + items: + type: string + type: array + sudo: + description: Sudo specifies a sudo role for the user + type: string + required: + - name + type: object + type: array + verbosity: + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. + format: int32 + type: integer + type: object + type: object + required: + - template + type: object + type: object + served: true + storage: true + subresources: {} status: acceptedNames: kind: "" @@ -4615,44 +2807,44 @@ metadata: name: capi-kubeadm-bootstrap-leader-election-role namespace: capi-kubeadm-bootstrap-system-test2 rules: - - apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - create - - update - - patch - - delete - - apiGroups: - - "" - resources: - - configmaps/status - verbs: - - get - - update - - patch - - apiGroups: - - "" - resources: - - events - verbs: - - create - - apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - get - - list - - watch - - create - - update - - patch - - delete +- apiGroups: + - "" + resources: + - configmaps + verbs: + - get + - list + - watch + - create + - update + - patch + - delete +- apiGroups: + - "" + resources: + - configmaps/status + verbs: + - get + - update + - patch +- apiGroups: + - "" + resources: + - events + verbs: + - create +- apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - get + - list + - watch + - create + - update + - patch + - delete --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role @@ -4663,47 +2855,47 @@ metadata: name: capi-kubeadm-bootstrap-manager-role2 namespace: test2 rules: - - apiGroups: - - "" - resources: - - configmaps - - events - - secrets - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - bootstrap.cluster.x-k8s.io - resources: - - kubeadmconfigs - - kubeadmconfigs/finalizers - - kubeadmconfigs/status - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - cluster.x-k8s.io - resources: - - clusters - - clusters/status - - machinepools - - machinepools/status - - machines - - machines/status - verbs: - - get - - list - - watch +- apiGroups: + - "" + resources: + - configmaps + - events + - secrets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - bootstrap.cluster.x-k8s.io + resources: + - kubeadmconfigs + - kubeadmconfigs/finalizers + - kubeadmconfigs/status + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - cluster.x-k8s.io + resources: + - clusters + - clusters/status + - machinepools + - machinepools/status + - machines + - machines/status + verbs: + - get + - list + - watch --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding @@ -4717,9 +2909,9 @@ roleRef: kind: Role name: capi-kubeadm-bootstrap-leader-election-role subjects: - - kind: ServiceAccount - name: capi-kubeadm-bootstrap-manager - namespace: capi-kubeadm-bootstrap-system-test2 +- kind: ServiceAccount + name: capi-kubeadm-bootstrap-manager + namespace: capi-kubeadm-bootstrap-system-test2 --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding @@ -4733,9 +2925,9 @@ roleRef: kind: Role name: capi-kubeadm-bootstrap-manager-role2 subjects: - - kind: ServiceAccount - name: capi-kubeadm-bootstrap-manager - namespace: capi-kubeadm-bootstrap-system-test2 +- kind: ServiceAccount + name: capi-kubeadm-bootstrap-manager + namespace: capi-kubeadm-bootstrap-system-test2 --- apiVersion: v1 kind: Service @@ -4746,8 +2938,8 @@ metadata: namespace: capi-kubeadm-bootstrap-system-test2 spec: ports: - - port: 443 - targetPort: webhook-server + - port: 443 + targetPort: webhook-server selector: cluster.x-k8s.io/provider: bootstrap-kubeadm --- @@ -4772,44 +2964,44 @@ spec: control-plane: controller-manager spec: containers: - - args: - - --namespace=test2 - - --leader-elect - - --metrics-bind-addr=localhost:8080 - # - --feature-gates=MachinePool=${EXP_MACHINE_POOL:=false} - command: - - /manager - image: gcr.io/k8s-staging-cluster-api/kubeadm-bootstrap-controller:master - imagePullPolicy: Always - 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 - volumeMounts: - - mountPath: /tmp/k8s-webhook-server/serving-certs - name: cert - readOnly: true + - args: + - --namespace=test2 + - --leader-elect + - --metrics-bind-addr=localhost:8080 + # - --feature-gates=MachinePool=${EXP_MACHINE_POOL:=false} + command: + - /manager + image: gcr.io/k8s-staging-cluster-api/kubeadm-bootstrap-controller:master + imagePullPolicy: Always + 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 + volumeMounts: + - mountPath: /tmp/k8s-webhook-server/serving-certs + name: cert + readOnly: true serviceAccountName: capi-kubeadm-bootstrap-manager terminationGracePeriodSeconds: 10 tolerations: - - effect: NoSchedule - key: node-role.kubernetes.io/master + - effect: NoSchedule + key: node-role.kubernetes.io/master volumes: - - name: cert - secret: - secretName: capi-kubeadm-bootstrap-webhook-service-cert + - name: cert + secret: + secretName: capi-kubeadm-bootstrap-webhook-service-cert --- apiVersion: cert-manager.io/v1 kind: Certificate @@ -4820,8 +3012,8 @@ metadata: namespace: capi-kubeadm-bootstrap-system-test2 spec: dnsNames: - - capi-kubeadm-bootstrap-webhook-service.capi-kubeadm-bootstrap-system-test2.svc - - capi-kubeadm-bootstrap-webhook-service.capi-kubeadm-bootstrap-system-test2.svc.cluster.local + - capi-kubeadm-bootstrap-webhook-service.capi-kubeadm-bootstrap-system-test2.svc + - capi-kubeadm-bootstrap-webhook-service.capi-kubeadm-bootstrap-system-test2.svc.cluster.local issuerRef: kind: Issuer name: capi-kubeadm-bootstrap-selfsigned-issuer @@ -4846,25 +3038,25 @@ metadata: cluster.x-k8s.io/provider: bootstrap-kubeadm name: capi-kubeadm-bootstrap-validating-webhook-configuration webhooks: - - admissionReviewVersions: - - v1 - - v1beta1 - clientConfig: - service: - name: capi-kubeadm-bootstrap-webhook-service - namespace: capi-kubeadm-bootstrap-system-test2 - path: /validate-bootstrap-cluster-x-k8s-io-v1alpha4-kubeadmconfig - failurePolicy: Fail - matchPolicy: Equivalent - name: validation.kubeadmconfig.bootstrap.cluster.x-k8s.io - rules: - - apiGroups: - - bootstrap.cluster.x-k8s.io - apiVersions: - - v1alpha4 - operations: - - CREATE - - UPDATE - resources: - - kubeadmconfigs - sideEffects: None +- admissionReviewVersions: + - v1 + - v1beta1 + clientConfig: + service: + name: capi-kubeadm-bootstrap-webhook-service + namespace: capi-kubeadm-bootstrap-system-test2 + path: /validate-bootstrap-cluster-x-k8s-io-v1alpha4-kubeadmconfig + failurePolicy: Fail + matchPolicy: Equivalent + name: validation.kubeadmconfig.bootstrap.cluster.x-k8s.io + rules: + - apiGroups: + - bootstrap.cluster.x-k8s.io + apiVersions: + - v1alpha4 + operations: + - CREATE + - UPDATE + resources: + - kubeadmconfigs + sideEffects: None diff --git a/Support/Multitenancy/capi_capm3-mult-instances/v1a4/kubeadm.yaml b/Support/Multitenancy/capi_capm3-mult-instances/v1a4/kubeadm.yaml index 51a155a5..a2c47a0e 100644 --- a/Support/Multitenancy/capi_capm3-mult-instances/v1a4/kubeadm.yaml +++ b/Support/Multitenancy/capi_capm3-mult-instances/v1a4/kubeadm.yaml @@ -43,8 +43,7 @@ spec: scope: Namespaced versions: - additionalPrinterColumns: - - description: This denotes whether or not the control plane has the uploaded - kubeadm-config configmap + - description: This denotes whether or not the control plane has the uploaded kubeadm-config configmap jsonPath: .status.initialized name: Initialized type: boolean @@ -56,8 +55,7 @@ spec: jsonPath: .spec.version name: Version type: string - - description: Total number of non-terminated machines targeted by this control - plane + - description: Total number of non-terminated machines targeted by this control plane jsonPath: .status.replicas name: Replicas type: integer @@ -65,8 +63,7 @@ spec: jsonPath: .status.readyReplicas name: Ready type: integer - - description: Total number of non-terminated machines targeted by this control - plane that have the desired template spec + - description: Total number of non-terminated machines targeted by this control plane that have the desired template spec jsonPath: .status.updatedReplicas name: Updated type: integer @@ -77,18 +74,13 @@ spec: name: v1alpha3 schema: openAPIV3Schema: - description: KubeadmControlPlane is the Schema for the KubeadmControlPlane - API. + description: KubeadmControlPlane is the Schema for the KubeadmControlPlane API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -96,24 +88,13 @@ spec: description: KubeadmControlPlaneSpec defines the desired state of KubeadmControlPlane. properties: infrastructureTemplate: - description: InfrastructureTemplate is a required reference to a custom - resource offered by an infrastructure provider. + description: InfrastructureTemplate 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.' + 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' @@ -125,53 +106,41 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object kubeadmConfigSpec: - description: KubeadmConfigSpec is a KubeadmConfigSpec to use for initializing - and joining machines to the control plane. + description: KubeadmConfigSpec is a KubeadmConfigSpec to use for initializing and joining machines to the control plane. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration - are the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for the API - server control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative Names - for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass - to the control plane component. TODO: This is temporary - and ideally we would like to switch all components to - use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that - will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod - where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -180,8 +149,7 @@ spec: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to the - volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -190,66 +158,39 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the timeout - that we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store or - look for all required certificates. NB: if not provided, - this will default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP address - or DNS name for the control plane; it can be a valid IP - address or a RFC-1123 DNS subdomain, both with optional - TCP port. In case the ControlPlaneEndpoint is not specified, - the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint - is specified but without a TCP port, the BindPort is used. - Possible usages are: e.g. In a cluster with more than one - control plane instances, this field should be assigned the - address of the external load balancer in front of the control - plane instances. e.g. in environments with enforced node - recycling, the ControlPlaneEndpoint could be used for assigning - a stable DNS to the control plane. NB: This value defaults - to the first value in the Cluster object status.apiEndpoints - array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings for - the controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass - to the control plane component. TODO: This is temporary - and ideally we would like to switch all components to - use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that - will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod - where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -258,8 +199,7 @@ spec: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to the - volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -269,51 +209,37 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on installed - in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for the - image. In case this value is set, kubeadm does not change - automatically the version of the above components during - upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: description: Type defines the DNS add-on to be used type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: This - value defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect to an external - etcd cluster Local and External are mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate Authority - file used to secure etcd communication. Required - if using a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification file - used to secure etcd communication. Required if using - a TLS connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: - description: Endpoints of etcd members. Required for - ExternalEtcd. + description: Endpoints of etcd members. Required for ExternalEtcd. items: type: string type: array keyFile: - description: KeyFile is an SSL key file used to secure - etcd communication. Required if using a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -322,40 +248,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs for configuring - the local etcd instance Local and External are mutually - exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd will place - its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments provided - to the etcd binary when run inside a static pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for - the image. In case this value is set, kubeadm does - not change automatically the version of the above - components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject Alternative - Names for the etcd server signing cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -367,74 +282,45 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry to - pull images from. If empty, `k8s.gcr.io` will be used by - default; in case of kubernetes version is a CI build (kubernetes - version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` - will be used as a default for control plane components and - for kube-proxy, while `k8s.gcr.io` will be used for all - the other images. + description: ImageRepository sets the container registry to pull images from. If empty, `k8s.gcr.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `k8s.gcr.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version of the - control plane. NB: This value defaults to the Machine object - spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to the - Cluster object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used by k8s services. - Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. If - unset, the API server will not allocate CIDR ranges - for every node. Defaults to a comma-delimited string - of the Cluster object's spec.clusterNetwork.services.cidrBlocks - if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used by k8s services. - Defaults to a comma-delimited string of the Cluster - object's spec.clusterNetwork.pods.cidrBlocks, or to - "10.96.0.0/12" if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for the scheduler - control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass - to the control plane component. TODO: This is temporary - and ideally we would like to switch all components to - use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that - will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod - where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -443,8 +329,7 @@ spec: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to the - volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -454,18 +339,14 @@ spec: type: array type: object useHyperKubeImage: - description: UseHyperKubeImage controls if hyperkube should - be used for Kubernetes components instead of their respective - separate images + description: UseHyperKubeImage controls if hyperkube should be used for Kubernetes components instead of their respective separate images type: boolean type: object diskSetup: - description: DiskSetup specifies options for the creation of partition - tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file systems - to setup. + description: Filesystems specifies the list of file systems to setup. items: description: Filesystem defines the file systems to be created. properties: @@ -473,8 +354,7 @@ spec: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options to add - to the command for creating the file system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array @@ -482,26 +362,16 @@ spec: description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system label to - be used. If set to None, no label is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not to overwrite - any existing filesystem. If true, any pre-existing - file system will be destroyed. Use with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition to use. - The valid options are: "auto|any", "auto", "any", - "none", and , where NUM is the actual partition - number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, used - for Microsoft Azure that instructs cloud-init to replace - a file system of . NOTE: unless you define - a label, this requires the use of the ''any'' partition - directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -510,32 +380,21 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the partitions - to setup. + description: Partitions specifies the list of the partitions to setup. items: - description: Partition defines how to create and layout - a partition. + description: Partition defines how to create and layout a partition. properties: device: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. If - it is true, a single partition will be created for - the entire device. When layout is false, it means - don't partition or ignore existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to skip checks - and create the partition if a partition or filesystem - is found on the device. Use with caution. Default - is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of partition - table. The following are supported: ''mbr'': default - and setups a MS-DOS partition table ''gpt'': setups - a GPT partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -544,30 +403,24 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed to user_data - upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files - in cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: content: description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source of content - to populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that should - populate this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's data - map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -577,85 +430,61 @@ spec: - secret type: object encoding: - description: Encoding specifies the encoding of the file - contents. + description: Encoding specifies the encoding of the file contents. enum: - base64 - gzip - gzip+base64 type: string owner: - description: Owner specifies the ownership of the file, - e.g. "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk where - to store the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions to assign - to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path type: object type: array format: - description: Format specifies the output format of the bootstrap - data + description: Format specifies the output format of the bootstrap data enum: - cloud-config type: string initConfiguration: - description: InitConfiguration along with ClusterConfiguration - are the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm init` - time and describes a set of Bootstrap Tokens to create. - This information IS NOT uploaded to the kubeadm cluster - configmap, partly because of its sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap token, - stored as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly message - why this token exists and what it's used for, so other - administrators can know its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp when this - token expires. Defaults to being set dynamically at - runtime based on the TTL. Expires and TTL are mutually - exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups that - this token will authenticate as when/if used for authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing bidirectional - trust between nodes and control-planes. Used for joining - nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for this token. - Defaults to 24h. Expires and TTL are mutually exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which this - token can be used. Can by default be used for establishing - bidirectional trust, but that can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -664,31 +493,16 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint of the - API server instance that's deployed on this control plane - node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global endpoint - for the cluster, which then loadbalances the requests to - each individual API server. This configuration object lets - you customize what IP/DNS name and port the local API server - advertises it's accessible on. By default, kubeadm tries - to auto-detect the IP of the default interface and use that, - but in case that process fails you may set the desired value - here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address for - the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the API - Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer required: @@ -696,69 +510,36 @@ spec: - bindPort type: object nodeRegistration: - description: NodeRegistration holds fields that relate to - registering the new control-plane node to the cluster. When - used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration and - JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node - API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the - kubelet command line via the environment file kubeadm - writes at runtime for the kubelet to source. This overrides - the generic base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. These - values are local and specific to the node kubeadm is - executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the - Node API object that will be created in this `kubeadm - init` or `kubeadm join` operation. This field is also - used in the CommonName field of the kubelet's client - certificate to the API server. Defaults to the hostname - of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API - object should be registered with. If this field is unset, - i.e. nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: {}` - in the YAML file. This field is solely used for Node - registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has - the "effect" on any pod that does not tolerate the - Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on - pods that do not tolerate the taint. Valid effects - are NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the - taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -768,37 +549,25 @@ spec: type: object type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration for - the join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate - authority used to secure comunications between node and - control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". - TODO: revisit when there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control plane - instance to be deployed on the joining node. If nil, no - additional control plane instance will be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance to be deployed on this node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the - API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer required: @@ -807,58 +576,34 @@ spec: type: object type: object discovery: - description: 'Discovery specifies the options for the kubelet - to use during the TLS Bootstrap process TODO: revisit when - there is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the options - for bootstrap token based discovery BootstrapToken and - File are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or domain - name to the API server from which info will be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set of public - key pins to verify when token-based discovery is - used. The root CA found during discovery must match - one of these values. Specifying an empty set disables - root CA pinning, which can be unsafe. Each hash - is specified as ":", where the only - currently supported type is "sha256". This is a - hex-encoded SHA-256 hash of the Subject Public Key - Info (SPKI) object in DER-encoded ASN.1. These hashes - can be calculated using, for example, OpenSSL: openssl - x509 -pubkey -in ca.crt openssl rsa -pubin -outform - der 2>&/dev/null | openssl dgst -sha256 -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate cluster - information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since other - nodes can impersonate the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token - unsafeSkipCAVerification type: object file: - description: File is used to specify a file or URL to - a kubeconfig file from which to load cluster information - BootstrapToken and File are mutually exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify the - actual file path or URL to the kubeconfig file from - which to load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -867,85 +612,43 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: 'TLSBootstrapToken is a token used for TLS - bootstrapping. If .BootstrapToken is set, this field - is defaulted to .BootstrapToken.Token, but can be overridden. - If .File is set, this field **must be set** in case - the KubeConfigFile does not contain any other authentication - information TODO: revisit when there is defaulting from - k/k' + description: 'TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information TODO: revisit when there is defaulting from k/k' type: string type: object kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate to - registering the new control-plane node to the cluster. When - used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration and - JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node - API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the - kubelet command line via the environment file kubeadm - writes at runtime for the kubelet to source. This overrides - the generic base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. These - values are local and specific to the node kubeadm is - executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the - Node API object that will be created in this `kubeadm - init` or `kubeadm join` operation. This field is also - used in the CommonName field of the kubelet's client - certificate to the API server. Defaults to the hostname - of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API - object should be registered with. If this field is unset, - i.e. nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: {}` - in the YAML file. This field is solely used for Node - registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has - the "effect" on any pod that does not tolerate the - Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on - pods that do not tolerate the taint. Valid effects - are NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the - taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -957,8 +660,7 @@ spec: mounts: description: Mounts specifies a list of mount points to be setup. items: - description: MountPoints defines input for generated mounts - in cloud-init. + description: MountPoints defines input for generated mounts in cloud-init. items: type: string type: array @@ -976,68 +678,52 @@ spec: type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands to run - after kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands to run - before kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic kubeadm - command with a shell script with retries for joins. \n This - is meant to be an experimental temporary workaround on some - environments where joins fail due to timing (and other issues). - The long term goal is to add retries to kubeadm proper and use - that functionality. \n This will add about 40KB to userdata - \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." type: boolean users: description: Users specifies extra users to add items: - description: User defines the input for a generated user in - cloud-init. + description: User defines the input for a generated user in cloud-init. properties: gecos: description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups for - the user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory to use - for the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark the user - as inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password login should - be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name type: string passwd: - description: Passwd specifies a hashed password for the - user + description: Passwd specifies a hashed password for the user type: string primaryGroup: - description: PrimaryGroup specifies the primary group for - the user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list of ssh authorized - keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array @@ -1049,52 +735,36 @@ spec: type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log level - verbosity. It overrides the `--v` flag in kubeadm commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object nodeDrainTimeout: - description: 'NodeDrainTimeout is the total amount of time that the - controller will spend on draining a controlplane 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`' + description: 'NodeDrainTimeout is the total amount of time that the controller will spend on draining a controlplane 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 replicas: - description: Number of desired machines. Defaults to 1. When stacked - etcd is used only odd numbers are permitted, as per [etcd best practice](https://etcd.io/docs/v3.3.12/faq/#why-an-odd-number-of-cluster-members). - This is a pointer to distinguish between explicit zero and not specified. + description: Number of desired machines. Defaults to 1. When stacked etcd is used only odd numbers are permitted, as per [etcd best practice](https://etcd.io/docs/v3.3.12/faq/#why-an-odd-number-of-cluster-members). This is a pointer to distinguish between explicit zero and not specified. format: int32 type: integer rolloutStrategy: - description: The RolloutStrategy to use to replace control plane machines - with new ones. + description: The RolloutStrategy to use to replace control plane machines with new ones. properties: rollingUpdate: - description: Rolling update config params. Present only if RolloutStrategyType - = RollingUpdate. + description: Rolling update config params. Present only if RolloutStrategyType = RollingUpdate. properties: maxSurge: anyOf: - type: integer - type: string - description: 'The maximum number of control planes that can - be scheduled above or under the desired number of control - planes. Value can be an absolute number 1 or 0. Defaults - to 1. Example: when this is set to 1, the control plane - can be scaled up immediately when the rolling update starts.' + description: 'The maximum number of control planes that can be scheduled above or under the desired number of control planes. Value can be an absolute number 1 or 0. Defaults to 1. Example: when this is set to 1, the control plane can be scaled up immediately when the rolling update starts.' x-kubernetes-int-or-string: true type: object type: - description: Type of rollout. Currently the only supported strategy - is "RollingUpdate". Default is RollingUpdate. + description: Type of rollout. Currently the only supported strategy is "RollingUpdate". Default is RollingUpdate. type: string type: object upgradeAfter: - description: UpgradeAfter is a field to indicate an upgrade should - be performed after the specified time even if no changes have been - made to the KubeadmControlPlane + description: UpgradeAfter is a field to indicate an upgrade should be performed after the specified time even if no changes have been made to the KubeadmControlPlane format: date-time type: string version: @@ -1111,41 +781,26 @@ spec: conditions: description: Conditions defines current service state of the KubeadmControlPlane. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -1153,55 +808,38 @@ spec: type: object type: array failureMessage: - description: ErrorMessage indicates that there is a terminal problem - reconciling the state, and will be set to a descriptive error message. + description: ErrorMessage indicates that there is a terminal problem reconciling the state, and will be set to a descriptive error message. type: string failureReason: - description: FailureReason indicates that there is a terminal problem - reconciling the state, and will be set to a token value suitable - for programmatic interpretation. + description: FailureReason indicates that there is a terminal problem reconciling the state, and will be set to a token value suitable for programmatic interpretation. type: string initialized: - description: Initialized denotes whether or not the control plane - has the uploaded kubeadm-config configmap. + description: Initialized denotes whether or not the control plane has the uploaded kubeadm-config configmap. type: boolean observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + description: ObservedGeneration is the latest generation observed by the controller. format: int64 type: integer ready: - description: Ready denotes that the KubeadmControlPlane API Server - is ready to receive requests. + description: Ready denotes that the KubeadmControlPlane API Server is ready to receive requests. type: boolean readyReplicas: - description: Total number of fully running and ready control plane - machines. + description: Total number of fully running and ready control plane machines. format: int32 type: integer replicas: - description: Total number of non-terminated machines targeted by this - control plane (their labels match the selector). + description: Total number of non-terminated machines targeted by this control plane (their labels match the selector). format: int32 type: integer selector: - description: 'Selector is the label selector in string format to avoid - introspection by clients, and is used to provide the CRD-based integration - for the scale subresource and additional integrations for things - like kubectl describe.. 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' + description: 'Selector is the label selector in string format to avoid introspection by clients, and is used to provide the CRD-based integration for the scale subresource and additional integrations for things like kubectl describe.. 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 - control plane. 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 ready or machines - that still have not been created. + description: Total number of unavailable machines targeted by this control plane. 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 ready or machines that still have not been created. format: int32 type: integer updatedReplicas: - description: Total number of non-terminated machines targeted by this - control plane that have the desired template spec. + description: Total number of non-terminated machines targeted by this control plane that have the desired template spec. format: int32 type: integer type: object @@ -1219,8 +857,7 @@ spec: jsonPath: .metadata.creationTimestamp name: Age type: date - - description: This denotes whether or not the control plane has the uploaded - kubeadm-config configmap + - description: This denotes whether or not the control plane has the uploaded kubeadm-config configmap jsonPath: .status.initialized name: Initialized type: boolean @@ -1232,8 +869,7 @@ spec: jsonPath: .spec.version name: Version type: string - - description: Total number of non-terminated machines targeted by this control - plane + - description: Total number of non-terminated machines targeted by this control plane jsonPath: .status.replicas name: Replicas type: integer @@ -1241,8 +877,7 @@ spec: jsonPath: .status.readyReplicas name: Ready type: integer - - description: Total number of non-terminated machines targeted by this control - plane that have the desired template spec + - description: Total number of non-terminated machines targeted by this control plane that have the desired template spec jsonPath: .status.updatedReplicas name: Updated type: integer @@ -1253,18 +888,13 @@ spec: name: v1alpha4 schema: openAPIV3Schema: - description: KubeadmControlPlane is the Schema for the KubeadmControlPlane - API. + description: KubeadmControlPlane is the Schema for the KubeadmControlPlane API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -1272,45 +902,34 @@ spec: description: KubeadmControlPlaneSpec defines the desired state of KubeadmControlPlane. properties: kubeadmConfigSpec: - description: KubeadmConfigSpec is a KubeadmConfigSpec to use for initializing - and joining machines to the control plane. + description: KubeadmConfigSpec is a KubeadmConfigSpec to use for initializing and joining machines to the control plane. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration - are the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for the API - server control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative Names - for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass - to the control plane component. TODO: This is temporary - and ideally we would like to switch all components to - use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that - will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod - where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -1319,8 +938,7 @@ spec: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to the - volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -1329,66 +947,39 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the timeout - that we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store or - look for all required certificates. NB: if not provided, - this will default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP address - or DNS name for the control plane; it can be a valid IP - address or a RFC-1123 DNS subdomain, both with optional - TCP port. In case the ControlPlaneEndpoint is not specified, - the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint - is specified but without a TCP port, the BindPort is used. - Possible usages are: e.g. In a cluster with more than one - control plane instances, this field should be assigned the - address of the external load balancer in front of the control - plane instances. e.g. in environments with enforced node - recycling, the ControlPlaneEndpoint could be used for assigning - a stable DNS to the control plane. NB: This value defaults - to the first value in the Cluster object status.apiEndpoints - array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings for - the controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass - to the control plane component. TODO: This is temporary - and ideally we would like to switch all components to - use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that - will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod - where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -1397,8 +988,7 @@ spec: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to the - volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -1408,48 +998,34 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on installed - in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for the - image. In case this value is set, kubeadm does not change - automatically the version of the above components during - upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: This - value defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect to an external - etcd cluster Local and External are mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate Authority - file used to secure etcd communication. Required - if using a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification file - used to secure etcd communication. Required if using - a TLS connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: - description: Endpoints of etcd members. Required for - ExternalEtcd. + description: Endpoints of etcd members. Required for ExternalEtcd. items: type: string type: array keyFile: - description: KeyFile is an SSL key file used to secure - etcd communication. Required if using a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -1458,40 +1034,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs for configuring - the local etcd instance Local and External are mutually - exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd will place - its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments provided - to the etcd binary when run inside a static pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for - the image. In case this value is set, kubeadm does - not change automatically the version of the above - components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject Alternative - Names for the etcd server signing cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -1503,74 +1068,45 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry to - pull images from. If empty, `k8s.gcr.io` will be used by - default; in case of kubernetes version is a CI build (kubernetes - version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` - will be used as a default for control plane components and - for kube-proxy, while `k8s.gcr.io` will be used for all - the other images. + description: ImageRepository sets the container registry to pull images from. If empty, `k8s.gcr.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `k8s.gcr.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version of the - control plane. NB: This value defaults to the Machine object - spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to the - Cluster object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used by k8s services. - Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. If - unset, the API server will not allocate CIDR ranges - for every node. Defaults to a comma-delimited string - of the Cluster object's spec.clusterNetwork.services.cidrBlocks - if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used by k8s services. - Defaults to a comma-delimited string of the Cluster - object's spec.clusterNetwork.pods.cidrBlocks, or to - "10.96.0.0/12" if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for the scheduler - control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass - to the control plane component. TODO: This is temporary - and ideally we would like to switch all components to - use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that - will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod - where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -1579,8 +1115,7 @@ spec: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to the - volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -1591,12 +1126,10 @@ spec: type: object type: object diskSetup: - description: DiskSetup specifies options for the creation of partition - tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file systems - to setup. + description: Filesystems specifies the list of file systems to setup. items: description: Filesystem defines the file systems to be created. properties: @@ -1604,8 +1137,7 @@ spec: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options to add - to the command for creating the file system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array @@ -1613,26 +1145,16 @@ spec: description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system label to - be used. If set to None, no label is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not to overwrite - any existing filesystem. If true, any pre-existing - file system will be destroyed. Use with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition to use. - The valid options are: "auto|any", "auto", "any", - "none", and , where NUM is the actual partition - number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, used - for Microsoft Azure that instructs cloud-init to replace - a file system of . NOTE: unless you define - a label, this requires the use of the ''any'' partition - directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -1641,32 +1163,21 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the partitions - to setup. + description: Partitions specifies the list of the partitions to setup. items: - description: Partition defines how to create and layout - a partition. + description: Partition defines how to create and layout a partition. properties: device: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. If - it is true, a single partition will be created for - the entire device. When layout is false, it means - don't partition or ignore existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to skip checks - and create the partition if a partition or filesystem - is found on the device. Use with caution. Default - is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of partition - table. The following are supported: ''mbr'': default - and setups a MS-DOS partition table ''gpt'': setups - a GPT partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -1675,30 +1186,24 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed to user_data - upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files - in cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: content: description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source of content - to populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that should - populate this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's data - map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -1708,85 +1213,61 @@ spec: - secret type: object encoding: - description: Encoding specifies the encoding of the file - contents. + description: Encoding specifies the encoding of the file contents. enum: - base64 - gzip - gzip+base64 type: string owner: - description: Owner specifies the ownership of the file, - e.g. "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk where - to store the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions to assign - to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path type: object type: array format: - description: Format specifies the output format of the bootstrap - data + description: Format specifies the output format of the bootstrap data enum: - cloud-config type: string initConfiguration: - description: InitConfiguration along with ClusterConfiguration - are the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm init` - time and describes a set of Bootstrap Tokens to create. - This information IS NOT uploaded to the kubeadm cluster - configmap, partly because of its sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap token, - stored as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly message - why this token exists and what it's used for, so other - administrators can know its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp when this - token expires. Defaults to being set dynamically at - runtime based on the TTL. Expires and TTL are mutually - exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups that - this token will authenticate as when/if used for authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing bidirectional - trust between nodes and control-planes. Used for joining - nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for this token. - Defaults to 24h. Expires and TTL are mutually exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which this - token can be used. Can by default be used for establishing - bidirectional trust, but that can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -1795,105 +1276,55 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint of the - API server instance that's deployed on this control plane - node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global endpoint - for the cluster, which then loadbalances the requests to - each individual API server. This configuration object lets - you customize what IP/DNS name and port the local API server - advertises it's accessible on. By default, kubeadm tries - to auto-detect the IP of the default interface and use that, - but in case that process fails you may set the desired value - here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address for - the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the API - Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object nodeRegistration: - description: NodeRegistration holds fields that relate to - registering the new control-plane node to the cluster. When - used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration and - JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node - API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice of - pre-flight errors to be ignored when the current node - is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the - kubelet command line via the environment file kubeadm - writes at runtime for the kubelet to source. This overrides - the generic base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. These - values are local and specific to the node kubeadm is - executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the - Node API object that will be created in this `kubeadm - init` or `kubeadm join` operation. This field is also - used in the CommonName field of the kubelet's client - certificate to the API server. Defaults to the hostname - of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API - object should be registered with. If this field is unset, - i.e. nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: {}` - in the YAML file. This field is solely used for Node - registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has - the "effect" on any pod that does not tolerate the - Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on - pods that do not tolerate the taint. Valid effects - are NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the - taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -1903,93 +1334,57 @@ spec: type: object type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration for - the join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate - authority used to secure comunications between node and - control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". - TODO: revisit when there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control plane - instance to be deployed on the joining node. If nil, no - additional control plane instance will be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance to be deployed on this node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the - API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object type: object discovery: - description: 'Discovery specifies the options for the kubelet - to use during the TLS Bootstrap process TODO: revisit when - there is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the options - for bootstrap token based discovery BootstrapToken and - File are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or domain - name to the API server from which info will be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set of public - key pins to verify when token-based discovery is - used. The root CA found during discovery must match - one of these values. Specifying an empty set disables - root CA pinning, which can be unsafe. Each hash - is specified as ":", where the only - currently supported type is "sha256". This is a - hex-encoded SHA-256 hash of the Subject Public Key - Info (SPKI) object in DER-encoded ASN.1. These hashes - can be calculated using, for example, OpenSSL: openssl - x509 -pubkey -in ca.crt openssl rsa -pubin -outform - der 2>&/dev/null | openssl dgst -sha256 -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate cluster - information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since other - nodes can impersonate the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token type: object file: - description: File is used to specify a file or URL to - a kubeconfig file from which to load cluster information - BootstrapToken and File are mutually exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify the - actual file path or URL to the kubeconfig file from - which to load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -1998,91 +1393,48 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: TLSBootstrapToken is a token used for TLS - bootstrapping. If .BootstrapToken is set, this field - is defaulted to .BootstrapToken.Token, but can be overridden. - If .File is set, this field **must be set** in case - the KubeConfigFile does not contain any other authentication - information + description: TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information type: string type: object kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate to - registering the new control-plane node to the cluster. When - used in the context of control plane nodes, NodeRegistration - should remain consistent across both InitConfiguration and - JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node - API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a slice of - pre-flight errors to be ignored when the current node - is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the - kubelet command line via the environment file kubeadm - writes at runtime for the kubelet to source. This overrides - the generic base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. These - values are local and specific to the node kubeadm is - executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the - Node API object that will be created in this `kubeadm - init` or `kubeadm join` operation. This field is also - used in the CommonName field of the kubelet's client - certificate to the API server. Defaults to the hostname - of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API - object should be registered with. If this field is unset, - i.e. nil, in the `kubeadm init` process it will be defaulted - to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: {}` - in the YAML file. This field is solely used for Node - registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has - the "effect" on any pod that does not tolerate the - Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on - pods that do not tolerate the taint. Valid effects - are NoSchedule, PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which - the taint was added. It is only written for NoExecute - taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding to the - taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -2094,8 +1446,7 @@ spec: mounts: description: Mounts specifies a list of mount points to be setup. items: - description: MountPoints defines input for generated mounts - in cloud-init. + description: MountPoints defines input for generated mounts in cloud-init. items: type: string type: array @@ -2113,68 +1464,52 @@ spec: type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands to run - after kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands to run - before kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic kubeadm - command with a shell script with retries for joins. \n This - is meant to be an experimental temporary workaround on some - environments where joins fail due to timing (and other issues). - The long term goal is to add retries to kubeadm proper and use - that functionality. \n This will add about 40KB to userdata - \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." type: boolean users: description: Users specifies extra users to add items: - description: User defines the input for a generated user in - cloud-init. + description: User defines the input for a generated user in cloud-init. properties: gecos: description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups for - the user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory to use - for the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark the user - as inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password login should - be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name type: string passwd: - description: Passwd specifies a hashed password for the - user + description: Passwd specifies a hashed password for the user type: string primaryGroup: - description: PrimaryGroup specifies the primary group for - the user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list of ssh authorized - keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array @@ -2186,34 +1521,21 @@ spec: type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log level - verbosity. It overrides the `--v` flag in kubeadm commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object machineTemplate: - description: MachineTemplate contains information about how machines - should be shaped when creating or updating a control plane. + description: MachineTemplate contains information about how machines should be shaped when creating or updating a control plane. properties: infrastructureRef: - description: InfrastructureRef is a required reference to a custom - resource offered by an infrastructure provider. + 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.' + 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' @@ -2225,8 +1547,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -2238,41 +1559,26 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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' + 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 nodeDrainTimeout: - description: 'NodeDrainTimeout is the total amount of time that - the controller will spend on draining a controlplane 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`' + description: 'NodeDrainTimeout is the total amount of time that the controller will spend on draining a controlplane 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 required: - infrastructureRef type: object replicas: - description: Number of desired machines. Defaults to 1. When stacked - etcd is used only odd numbers are permitted, as per [etcd best practice](https://etcd.io/docs/v3.3.12/faq/#why-an-odd-number-of-cluster-members). - This is a pointer to distinguish between explicit zero and not specified. + description: Number of desired machines. Defaults to 1. When stacked etcd is used only odd numbers are permitted, as per [etcd best practice](https://etcd.io/docs/v3.3.12/faq/#why-an-odd-number-of-cluster-members). This is a pointer to distinguish between explicit zero and not specified. format: int32 type: integer rolloutAfter: - description: RolloutAfter is a field to indicate a rollout should - be performed after the specified time even if no changes have been - made to the KubeadmControlPlane. + description: RolloutAfter is a field to indicate a rollout should be performed after the specified time even if no changes have been made to the KubeadmControlPlane. format: date-time type: string rolloutStrategy: @@ -2280,27 +1586,20 @@ spec: rollingUpdate: maxSurge: 1 type: RollingUpdate - description: The RolloutStrategy to use to replace control plane machines - with new ones. + description: The RolloutStrategy to use to replace control plane machines with new ones. properties: rollingUpdate: - description: Rolling update config params. Present only if RolloutStrategyType - = RollingUpdate. + description: Rolling update config params. Present only if RolloutStrategyType = RollingUpdate. properties: maxSurge: anyOf: - type: integer - type: string - description: 'The maximum number of control planes that can - be scheduled above or under the desired number of control - planes. Value can be an absolute number 1 or 0. Defaults - to 1. Example: when this is set to 1, the control plane - can be scaled up immediately when the rolling update starts.' + description: 'The maximum number of control planes that can be scheduled above or under the desired number of control planes. Value can be an absolute number 1 or 0. Defaults to 1. Example: when this is set to 1, the control plane can be scaled up immediately when the rolling update starts.' x-kubernetes-int-or-string: true type: object type: - description: Type of rollout. Currently the only supported strategy - is "RollingUpdate". Default is RollingUpdate. + description: Type of rollout. Currently the only supported strategy is "RollingUpdate". Default is RollingUpdate. type: string type: object version: @@ -2317,41 +1616,26 @@ spec: conditions: description: Conditions defines current service state of the KubeadmControlPlane. items: - description: Condition defines an observation of a Cluster API resource - operational state. + 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. + description: Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: A human readable message indicating details about the transition. This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - status @@ -2359,60 +1643,42 @@ spec: type: object type: array failureMessage: - description: ErrorMessage indicates that there is a terminal problem - reconciling the state, and will be set to a descriptive error message. + description: ErrorMessage indicates that there is a terminal problem reconciling the state, and will be set to a descriptive error message. type: string failureReason: - description: FailureReason indicates that there is a terminal problem - reconciling the state, and will be set to a token value suitable - for programmatic interpretation. + description: FailureReason indicates that there is a terminal problem reconciling the state, and will be set to a token value suitable for programmatic interpretation. type: string initialized: - description: Initialized denotes whether or not the control plane - has the uploaded kubeadm-config configmap. + description: Initialized denotes whether or not the control plane has the uploaded kubeadm-config configmap. type: boolean observedGeneration: - description: ObservedGeneration is the latest generation observed - by the controller. + description: ObservedGeneration is the latest generation observed by the controller. format: int64 type: integer ready: - description: Ready denotes that the KubeadmControlPlane API Server - is ready to receive requests. + description: Ready denotes that the KubeadmControlPlane API Server is ready to receive requests. type: boolean readyReplicas: - description: Total number of fully running and ready control plane - machines. + description: Total number of fully running and ready control plane machines. format: int32 type: integer replicas: - description: Total number of non-terminated machines targeted by this - control plane (their labels match the selector). + description: Total number of non-terminated machines targeted by this control plane (their labels match the selector). format: int32 type: integer selector: - description: 'Selector is the label selector in string format to avoid - introspection by clients, and is used to provide the CRD-based integration - for the scale subresource and additional integrations for things - like kubectl describe.. 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' + description: 'Selector is the label selector in string format to avoid introspection by clients, and is used to provide the CRD-based integration for the scale subresource and additional integrations for things like kubectl describe.. 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 - control plane. 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 ready or machines - that still have not been created. + description: Total number of unavailable machines targeted by this control plane. 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 ready or machines that still have not been created. format: int32 type: integer updatedReplicas: - description: Total number of non-terminated machines targeted by this - control plane that have the desired template spec. + description: Total number of non-terminated machines targeted by this control plane that have the desired template spec. format: int32 type: integer version: - description: Version represents the minimum Kubernetes version for - the control plane machines in the cluster. + description: Version represents the minimum Kubernetes version for the control plane machines in the cluster. type: string type: object type: object @@ -2473,87 +1739,63 @@ spec: name: v1alpha4 schema: openAPIV3Schema: - description: KubeadmControlPlaneTemplate is the Schema for the kubeadmcontrolplanetemplates - API. + description: KubeadmControlPlaneTemplate is the Schema for the kubeadmcontrolplanetemplates API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: - description: KubeadmControlPlaneTemplateSpec defines the desired state - of KubeadmControlPlaneTemplate. + description: KubeadmControlPlaneTemplateSpec defines the desired state of KubeadmControlPlaneTemplate. properties: template: - description: KubeadmControlPlaneTemplateResource describes the data - needed to create a KubeadmControlPlane from a template. + description: KubeadmControlPlaneTemplateResource describes the data needed to create a KubeadmControlPlane from a template. properties: spec: - description: KubeadmControlPlaneSpec defines the desired state - of KubeadmControlPlane. + description: KubeadmControlPlaneSpec defines the desired state of KubeadmControlPlane. properties: kubeadmConfigSpec: - description: KubeadmConfigSpec is a KubeadmConfigSpec to use - for initializing and joining machines to the control plane. + description: KubeadmConfigSpec is a KubeadmConfigSpec to use for initializing and joining machines to the control plane. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration - are the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for - the API server control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative - Names for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags - to pass to the control plane component. TODO: - This is temporary and ideally we would like - to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements - describing volumes that are mounted from the - host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the - host that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside - the pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the - pod template. + description: Name of the volume inside the pod template. type: string pathType: - description: PathType is the type of the - HostPath. + description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -2562,83 +1804,48 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the - timeout that we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal - value, and may reject unrecognized values. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string certificatesDir: - description: 'CertificatesDir specifies where to store - or look for all required certificates. NB: if not - provided, this will default to `/etc/kubernetes/pki`' + description: 'CertificatesDir specifies where to store or look for all required certificates. NB: if not provided, this will default to `/etc/kubernetes/pki`' type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP - address or DNS name for the control plane; it can - be a valid IP address or a RFC-1123 DNS subdomain, - both with optional TCP port. In case the ControlPlaneEndpoint - is not specified, the AdvertiseAddress + BindPort - are used; in case the ControlPlaneEndpoint is specified - but without a TCP port, the BindPort is used. Possible - usages are: e.g. In a cluster with more than one - control plane instances, this field should be assigned - the address of the external load balancer in front - of the control plane instances. e.g. in environments - with enforced node recycling, the ControlPlaneEndpoint - could be used for assigning a stable DNS to the - control plane. NB: This value defaults to the first - value in the Cluster object status.apiEndpoints - array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings - for the controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags - to pass to the control plane component. TODO: - This is temporary and ideally we would like - to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements - describing volumes that are mounted from the - host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the - host that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside - the pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the - pod template. + description: Name of the volume inside the pod template. type: string pathType: - description: PathType is the type of the - HostPath. + description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -2648,51 +1855,34 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on - installed in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container - registry to pull images from. if not set, the - ImageRepository defined in ClusterConfiguration - will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag - for the image. In case this value is set, kubeadm - does not change automatically the version of - the above components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: object etcd: - description: 'Etcd holds configuration for etcd. NB: - This value defaults to a Local (stacked) etcd' + description: 'Etcd holds configuration for etcd. NB: This value defaults to a Local (stacked) etcd' properties: external: - description: External describes how to connect - to an external etcd cluster Local and External - are mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate - Authority file used to secure etcd communication. - Required if using a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification - file used to secure etcd communication. - Required if using a TLS connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: - description: Endpoints of etcd members. Required - for ExternalEtcd. + description: Endpoints of etcd members. Required for ExternalEtcd. items: type: string type: array keyFile: - description: KeyFile is an SSL key file used - to secure etcd communication. Required if - using a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -2701,45 +1891,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs - for configuring the local etcd instance Local - and External are mutually exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd - will place its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments - provided to the etcd binary when run inside - a static pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container - registry to pull images from. if not set, - the ImageRepository defined in ClusterConfiguration - will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a - tag for the image. In case this value is - set, kubeadm does not change automatically - the version of the above components during - upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject - Alternative Names for the etcd peer signing - cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject - Alternative Names for the etcd server signing - cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -2751,90 +1925,54 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. If empty, `k8s.gcr.io` will - be used by default; in case of kubernetes version - is a CI build (kubernetes version starts with `ci/` - or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will - be used as a default for control plane components - and for kube-proxy, while `k8s.gcr.io` will be used - for all the other images. + description: ImageRepository sets the container registry to pull images from. If empty, `k8s.gcr.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `k8s.gcr.io` will be used for all the other images. type: string kind: - description: 'Kind is a string value representing - the REST resource this object represents. Servers - may infer this from the endpoint the client submits - requests to. Cannot be updated. In CamelCase. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version - of the control plane. NB: This value defaults to - the Machine object spec.version' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.version' type: string networking: - description: 'Networking holds configuration for the - networking topology of the cluster. NB: This value - defaults to the Cluster object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used - by k8s services. Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: - description: PodSubnet is the subnet used by pods. - If unset, the API server will not allocate CIDR - ranges for every node. Defaults to a comma-delimited - string of the Cluster object's spec.clusterNetwork.services.cidrBlocks - if that is set + description: PodSubnet is the subnet used by pods. If unset, the API server will not allocate CIDR ranges for every node. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set type: string serviceSubnet: - description: ServiceSubnet is the subnet used - by k8s services. Defaults to a comma-delimited - string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, - or to "10.96.0.0/12" if that's unset. + description: ServiceSubnet is the subnet used by k8s services. Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or to "10.96.0.0/12" if that's unset. type: string type: object scheduler: - description: Scheduler contains extra settings for - the scheduler control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags - to pass to the control plane component. TODO: - This is temporary and ideally we would like - to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host - volumes, mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements - describing volumes that are mounted from the - host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the - host that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside - the pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the - pod template. + description: Name of the volume inside the pod template. type: string pathType: - description: PathType is the type of the - HostPath. + description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access - to the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -2845,53 +1983,35 @@ spec: type: object type: object diskSetup: - description: DiskSetup specifies options for the creation - of partition tables and file systems on devices. + description: DiskSetup specifies options for the creation of partition tables and file systems on devices. properties: filesystems: - description: Filesystems specifies the list of file - systems to setup. + description: Filesystems specifies the list of file systems to setup. items: - description: Filesystem defines the file systems - to be created. + description: Filesystem defines the file systems to be created. properties: device: description: Device specifies the device name type: string extraOpts: - description: ExtraOpts defined extra options - to add to the command for creating the file - system. + description: ExtraOpts defined extra options to add to the command for creating the file system. items: type: string type: array filesystem: - description: Filesystem specifies the file system - type. + description: Filesystem specifies the file system type. type: string label: - description: Label specifies the file system - label to be used. If set to None, no label - is used. + description: Label specifies the file system label to be used. If set to None, no label is used. type: string overwrite: - description: Overwrite defines whether or not - to overwrite any existing filesystem. If true, - any pre-existing file system will be destroyed. - Use with Caution. + description: Overwrite defines whether or not to overwrite any existing filesystem. If true, any pre-existing file system will be destroyed. Use with Caution. type: boolean partition: - description: 'Partition specifies the partition - to use. The valid options are: "auto|any", - "auto", "any", "none", and , where NUM - is the actual partition number.' + description: 'Partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and , where NUM is the actual partition number.' type: string replaceFS: - description: 'ReplaceFS is a special directive, - used for Microsoft Azure that instructs cloud-init - to replace a file system of . NOTE: - unless you define a label, this requires the - use of the ''any'' partition directive.' + description: 'ReplaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of . NOTE: unless you define a label, this requires the use of the ''any'' partition directive.' type: string required: - device @@ -2900,33 +2020,21 @@ spec: type: object type: array partitions: - description: Partitions specifies the list of the - partitions to setup. + description: Partitions specifies the list of the partitions to setup. items: - description: Partition defines how to create and - layout a partition. + description: Partition defines how to create and layout a partition. properties: device: description: Device is the name of the device. type: string layout: - description: Layout specifies the device layout. - If it is true, a single partition will be - created for the entire device. When layout - is false, it means don't partition or ignore - existing partitioning. + description: Layout specifies the device layout. If it is true, a single partition will be created for the entire device. When layout is false, it means don't partition or ignore existing partitioning. type: boolean overwrite: - description: Overwrite describes whether to - skip checks and create the partition if a - partition or filesystem is found on the device. - Use with caution. Default is 'false'. + description: Overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. Use with caution. Default is 'false'. type: boolean tableType: - description: 'TableType specifies the tupe of - partition table. The following are supported: - ''mbr'': default and setups a MS-DOS partition - table ''gpt'': setups a GPT partition table' + description: 'TableType specifies the tupe of partition table. The following are supported: ''mbr'': default and setups a MS-DOS partition table ''gpt'': setups a GPT partition table' type: string required: - device @@ -2935,31 +2043,24 @@ spec: type: array type: object files: - description: Files specifies extra files to be passed - to user_data upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files - in cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: content: - description: Content is the actual content of the - file. + description: Content is the actual content of the file. type: string contentFrom: - description: ContentFrom is a referenced source - of content to populate the file. + description: ContentFrom is a referenced source of content to populate the file. properties: secret: - description: Secret represents a secret that - should populate this file. + description: Secret represents a secret that should populate this file. properties: key: - description: Key is the key in the secret's - data map for this value. + description: Key is the key in the secret's data map for this value. type: string name: - description: Name of the secret in the KubeadmBootstrapConfig's - namespace to use. + description: Name of the secret in the KubeadmBootstrapConfig's namespace to use. type: string required: - key @@ -2969,91 +2070,61 @@ spec: - secret type: object encoding: - description: Encoding specifies the encoding of - the file contents. + description: Encoding specifies the encoding of the file contents. enum: - base64 - gzip - gzip+base64 type: string owner: - description: Owner specifies the ownership of the - file, e.g. "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk - where to store the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions - to assign to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - path type: object type: array format: - description: Format specifies the output format of the - bootstrap data + description: Format specifies the output format of the bootstrap data enum: - cloud-config type: string initConfiguration: - description: InitConfiguration along with ClusterConfiguration - are the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command properties: apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal - value, and may reject unrecognized values. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm - init` time and describes a set of Bootstrap Tokens - to create. This information IS NOT uploaded to the - kubeadm cluster configmap, partly because of its - sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap - token, stored as a Secret in the cluster. + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster. properties: description: - description: Description sets a human-friendly - message why this token exists and what it's - used for, so other administrators can know - its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp - when this token expires. Defaults to being - set dynamically at runtime based on the TTL. - Expires and TTL are mutually exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups - that this token will authenticate as when/if - used for authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing - bidirectional trust between nodes and control-planes. - Used for joining nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: string ttl: - description: TTL defines the time to live for - this token. Defaults to 24h. Expires and TTL - are mutually exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which - this token can be used. Can by default be - used for establishing bidirectional trust, - but that can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -3062,111 +2133,55 @@ spec: type: object type: array kind: - description: 'Kind is a string value representing - the REST resource this object represents. Servers - may infer this from the endpoint the client submits - requests to. Cannot be updated. In CamelCase. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance that's deployed on this - control plane node In HA setups, this differs from - ClusterConfiguration.ControlPlaneEndpoint in the - sense that ControlPlaneEndpoint is the global endpoint - for the cluster, which then loadbalances the requests - to each individual API server. This configuration - object lets you customize what IP/DNS name and port - the local API server advertises it's accessible - on. By default, kubeadm tries to auto-detect the - IP of the default interface and use that, but in - case that process fails you may set the desired - value here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for - the API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object nodeRegistration: - description: NodeRegistration holds fields that relate - to registering the new control-plane node to the - cluster. When used in the context of control plane - nodes, NodeRegistration should remain consistent - across both InitConfiguration and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a - slice of pre-flight errors to be ignored when - the current node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here - are passed to the kubelet command line via the - environment file kubeadm writes at runtime for - the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. - These values are local and specific to the node - kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field - of the Node API object that will be created - in this `kubeadm init` or `kubeadm join` operation. - This field is also used in the CommonName field - of the kubelet's client certificate to the API - server. Defaults to the hostname of the node - if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the - Node API object should be registered with. If - this field is unset, i.e. nil, in the `kubeadm - init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane - node, set this field to an empty slice, i.e. - `taints: {}` in the YAML file. This field is - solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached - to has the "effect" on any pod that does not - tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the - taint on pods that do not tolerate the - taint. Valid effects are NoSchedule, PreferNoSchedule - and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to - be applied to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time - at which the taint was added. It is only - written for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding - to the taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -3176,103 +2191,57 @@ spec: type: object type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration - for the join command + description: JoinConfiguration is the kubeadm configuration for the join command properties: apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal - value, and may reject unrecognized values. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate - authority used to secure comunications between node - and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". - TODO: revisit when there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control - plane instance to be deployed on the joining node. - If nil, no additional control plane instance will - be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance to be deployed on - this node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP - address for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port - for the API Server to bind to. Defaults - to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer type: object type: object discovery: - description: 'Discovery specifies the options for - the kubelet to use during the TLS Bootstrap process - TODO: revisit when there is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the - options for bootstrap token based discovery - BootstrapToken and File are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or - domain name to the API server from which - info will be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set - of public key pins to verify when token-based - discovery is used. The root CA found during - discovery must match one of these values. - Specifying an empty set disables root CA - pinning, which can be unsafe. Each hash - is specified as ":", where - the only currently supported type is "sha256". - This is a hex-encoded SHA-256 hash of the - Subject Public Key Info (SPKI) object in - DER-encoded ASN.1. These hashes can be calculated - using, for example, OpenSSL: openssl x509 - -pubkey -in ca.crt openssl rsa -pubin -outform - der 2>&/dev/null | openssl dgst -sha256 - -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate - cluster information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows - token-based discovery without CA verification - via CACertHashes. This can weaken the security - of kubeadm since other nodes can impersonate - the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token type: object file: - description: File is used to specify a file or - URL to a kubeconfig file from which to load - cluster information BootstrapToken and File - are mutually exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify - the actual file path or URL to the kubeconfig - file from which to load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -3281,95 +2250,48 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: TLSBootstrapToken is a token used - for TLS bootstrapping. If .BootstrapToken is - set, this field is defaulted to .BootstrapToken.Token, - but can be overridden. If .File is set, this - field **must be set** in case the KubeConfigFile - does not contain any other authentication information + description: TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information type: string type: object kind: - description: 'Kind is a string value representing - the REST resource this object represents. Servers - may infer this from the endpoint the client submits - requests to. Cannot be updated. In CamelCase. More - info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate - to registering the new control-plane node to the - cluster. When used in the context of control plane - nodes, NodeRegistration should remain consistent - across both InitConfiguration and JoinConfiguration + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster. When used in the context of control plane nodes, NodeRegistration should remain consistent across both InitConfiguration and JoinConfiguration properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated - to the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string ignorePreflightErrors: - description: IgnorePreflightErrors provides a - slice of pre-flight errors to be ignored when - the current node is registered. + description: IgnorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. items: type: string type: array kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra - arguments to the kubelet. The arguments here - are passed to the kubelet command line via the - environment file kubeadm writes at runtime for - the kubelet to source. This overrides the generic - base-level configuration in the kubelet-config-1.X - ConfigMap Flags have higher priority when parsing. - These values are local and specific to the node - kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field - of the Node API object that will be created - in this `kubeadm init` or `kubeadm join` operation. - This field is also used in the CommonName field - of the kubelet's client certificate to the API - server. Defaults to the hostname of the node - if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the - Node API object should be registered with. If - this field is unset, i.e. nil, in the `kubeadm - init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane - node, set this field to an empty slice, i.e. - `taints: {}` in the YAML file. This field is - solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached - to has the "effect" on any pod that does not - tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the - taint on pods that do not tolerate the - taint. Valid effects are NoSchedule, PreferNoSchedule - and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to - be applied to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time - at which the taint was added. It is only - written for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: The taint value corresponding - to the taint key. + description: The taint value corresponding to the taint key. type: string required: - effect @@ -3379,11 +2301,9 @@ spec: type: object type: object mounts: - description: Mounts specifies a list of mount points to - be setup. + description: Mounts specifies a list of mount points to be setup. items: - description: MountPoints defines input for generated - mounts in cloud-init. + description: MountPoints defines input for generated mounts in cloud-init. items: type: string type: array @@ -3392,125 +2312,87 @@ spec: description: NTP specifies NTP configuration properties: enabled: - description: Enabled specifies whether NTP should - be enabled + description: Enabled specifies whether NTP should be enabled type: boolean servers: - description: Servers specifies which NTP servers to - use + description: Servers specifies which NTP servers to use items: type: string type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands - to run after kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands - to run before kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array useExperimentalRetryJoin: - description: "UseExperimentalRetryJoin replaces a basic - kubeadm command with a shell script with retries for - joins. \n This is meant to be an experimental temporary - workaround on some environments where joins fail due - to timing (and other issues). The long term goal is - to add retries to kubeadm proper and use that functionality. - \n This will add about 40KB to userdata \n For more - information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." + description: "UseExperimentalRetryJoin replaces a basic kubeadm command with a shell script with retries for joins. \n This is meant to be an experimental temporary workaround on some environments where joins fail due to timing (and other issues). The long term goal is to add retries to kubeadm proper and use that functionality. \n This will add about 40KB to userdata \n For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055." type: boolean users: description: Users specifies extra users to add items: - description: User defines the input for a generated - user in cloud-init. + description: User defines the input for a generated user in cloud-init. properties: gecos: - description: Gecos specifies the gecos to use for - the user + description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups - for the user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory - to use for the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark - the user as inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password - login should be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name type: string passwd: - description: Passwd specifies a hashed password - for the user + description: Passwd specifies a hashed password for the user type: string primaryGroup: - description: PrimaryGroup specifies the primary - group for the user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list - of ssh authorized keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array sudo: - description: Sudo specifies a sudo role for the - user + description: Sudo specifies a sudo role for the user type: string required: - name type: object type: array verbosity: - description: Verbosity is the number for the kubeadm log - level verbosity. It overrides the `--v` flag in kubeadm - commands. + description: Verbosity is the number for the kubeadm log level verbosity. It overrides the `--v` flag in kubeadm commands. format: int32 type: integer type: object machineTemplate: - description: MachineTemplate contains information about how - machines should be shaped when creating or updating a control - plane. + description: MachineTemplate contains information about how machines should be shaped when creating or updating a control plane. properties: infrastructureRef: - description: InfrastructureRef is a required reference - to a custom resource offered by an infrastructure provider. + 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.' + 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' @@ -3519,61 +2401,41 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object metadata: - description: 'Standard object''s metadata. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#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' + 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' + 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 nodeDrainTimeout: - description: 'NodeDrainTimeout is the total amount of - time that the controller will spend on draining a controlplane - 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`' + description: 'NodeDrainTimeout is the total amount of time that the controller will spend on draining a controlplane 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 required: - infrastructureRef type: object replicas: - description: Number of desired machines. Defaults to 1. When - stacked etcd is used only odd numbers are permitted, as - per [etcd best practice](https://etcd.io/docs/v3.3.12/faq/#why-an-odd-number-of-cluster-members). - This is a pointer to distinguish between explicit zero and - not specified. + description: Number of desired machines. Defaults to 1. When stacked etcd is used only odd numbers are permitted, as per [etcd best practice](https://etcd.io/docs/v3.3.12/faq/#why-an-odd-number-of-cluster-members). This is a pointer to distinguish between explicit zero and not specified. format: int32 type: integer rolloutAfter: - description: RolloutAfter is a field to indicate a rollout - should be performed after the specified time even if no - changes have been made to the KubeadmControlPlane. + description: RolloutAfter is a field to indicate a rollout should be performed after the specified time even if no changes have been made to the KubeadmControlPlane. format: date-time type: string rolloutStrategy: @@ -3581,28 +2443,20 @@ spec: rollingUpdate: maxSurge: 1 type: RollingUpdate - description: The RolloutStrategy to use to replace control - plane machines with new ones. + description: The RolloutStrategy to use to replace control plane machines with new ones. properties: rollingUpdate: - description: Rolling update config params. Present only - if RolloutStrategyType = RollingUpdate. + description: Rolling update config params. Present only if RolloutStrategyType = RollingUpdate. properties: maxSurge: anyOf: - type: integer - type: string - description: 'The maximum number of control planes - that can be scheduled above or under the desired - number of control planes. Value can be an absolute - number 1 or 0. Defaults to 1. Example: when this - is set to 1, the control plane can be scaled up - immediately when the rolling update starts.' + description: 'The maximum number of control planes that can be scheduled above or under the desired number of control planes. Value can be an absolute number 1 or 0. Defaults to 1. Example: when this is set to 1, the control plane can be scaled up immediately when the rolling update starts.' x-kubernetes-int-or-string: true type: object type: - description: Type of rollout. Currently the only supported - strategy is "RollingUpdate". Default is RollingUpdate. + description: Type of rollout. Currently the only supported strategy is "RollingUpdate". Default is RollingUpdate. type: string type: object version: diff --git a/basic-metal3-setup/baremetal-operator/base/certmanager/certificate.yaml b/basic-metal3-setup/baremetal-operator/base/certmanager/certificate.yaml index c2220ca4..339945a7 100644 --- a/basic-metal3-setup/baremetal-operator/base/certmanager/certificate.yaml +++ b/basic-metal3-setup/baremetal-operator/base/certmanager/certificate.yaml @@ -12,7 +12,7 @@ spec: apiVersion: cert-manager.io/v1 kind: Certificate metadata: - name: serving-cert # this name should match the one appeared in kustomizeconfig.yaml + name: serving-cert # this name should match the one appeared in kustomizeconfig.yaml spec: # $(SERVICE_NAME) and $(SERVICE_NAMESPACE) will be substituted by kustomize dnsNames: diff --git a/basic-metal3-setup/baremetal-operator/base/certmanager/kustomization.yaml b/basic-metal3-setup/baremetal-operator/base/certmanager/kustomization.yaml index 95f333f3..bebea5a5 100644 --- a/basic-metal3-setup/baremetal-operator/base/certmanager/kustomization.yaml +++ b/basic-metal3-setup/baremetal-operator/base/certmanager/kustomization.yaml @@ -1,5 +1,5 @@ resources: - - certificate.yaml +- certificate.yaml configurations: - - kustomizeconfig.yaml +- kustomizeconfig.yaml diff --git a/basic-metal3-setup/baremetal-operator/base/certmanager/kustomizeconfig.yaml b/basic-metal3-setup/baremetal-operator/base/certmanager/kustomizeconfig.yaml index d58c4f20..e631f777 100644 --- a/basic-metal3-setup/baremetal-operator/base/certmanager/kustomizeconfig.yaml +++ b/basic-metal3-setup/baremetal-operator/base/certmanager/kustomizeconfig.yaml @@ -1,16 +1,16 @@ # This configuration is for teaching kustomize how to update name ref and var substitution nameReference: - - kind: Issuer +- kind: Issuer + group: cert-manager.io + fieldSpecs: + - kind: Certificate group: cert-manager.io - fieldSpecs: - - kind: Certificate - group: cert-manager.io - path: spec/issuerRef/name + path: spec/issuerRef/name varReference: - - kind: Certificate - group: cert-manager.io - path: spec/commonName - - kind: Certificate - group: cert-manager.io - path: spec/dnsNames +- kind: Certificate + group: cert-manager.io + path: spec/commonName +- kind: Certificate + group: cert-manager.io + path: spec/dnsNames diff --git a/basic-metal3-setup/baremetal-operator/base/crds/metal3.io_baremetalhosts.yaml b/basic-metal3-setup/baremetal-operator/base/crds/metal3.io_baremetalhosts.yaml index 1e2305fd..659cc486 100644 --- a/basic-metal3-setup/baremetal-operator/base/crds/metal3.io_baremetalhosts.yaml +++ b/basic-metal3-setup/baremetal-operator/base/crds/metal3.io_baremetalhosts.yaml @@ -1,4 +1,3 @@ ---- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: @@ -60,14 +59,10 @@ spec: description: BareMetalHost is the Schema for the baremetalhosts API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -76,8 +71,7 @@ spec: properties: automatedCleaningMode: default: metadata - description: When set to disabled, automated cleaning will be avoided - during provisioning and deprovisioning. + description: When set to disabled, automated cleaning will be avoided during provisioning and deprovisioning. enum: - metadata - disabled @@ -86,57 +80,37 @@ spec: description: How do we connect to the BMC? properties: address: - description: Address holds the URL for accessing the controller - on the network. + description: Address holds the URL for accessing the controller on the network. type: string credentialsName: - description: The name of the secret containing the BMC credentials - (requires keys "username" and "password"). + description: The name of the secret containing the BMC credentials (requires keys "username" and "password"). type: string disableCertificateVerification: - description: DisableCertificateVerification disables verification - of server certificates when using HTTPS to connect to the BMC. - This is required when the server certificate is self-signed, - but is insecure because it allows a man-in-the-middle to intercept - the connection. + description: DisableCertificateVerification disables verification of server certificates when using HTTPS to connect to the BMC. This is required when the server certificate is self-signed, but is insecure because it allows a man-in-the-middle to intercept the connection. type: boolean required: - address - credentialsName type: object bootMACAddress: - description: Which MAC address will PXE boot? This is optional for - some types, but required for libvirt VMs driven by vbmc. + description: Which MAC address will PXE boot? This is optional for some types, but required for libvirt VMs driven by vbmc. pattern: '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}' type: string bootMode: - description: Select the method of initializing the hardware during - boot. Defaults to UEFI. + description: Select the method of initializing the hardware during boot. Defaults to UEFI. enum: - UEFI - UEFISecureBoot - legacy type: string consumerRef: - description: ConsumerRef can be used to store information about something - that is using a host. When it is not empty, the host is considered - "in use". + description: ConsumerRef can be used to store information about something that is using a host. When it is not empty, the host is considered "in use". properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -148,8 +122,7 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' @@ -160,54 +133,41 @@ spec: description: A custom deploy procedure. properties: method: - description: Custom deploy method name. This name is specific - to the deploy ramdisk used. If you don't have a custom deploy - ramdisk, you shouldn't use CustomDeploy. + description: Custom deploy method name. This name is specific to the deploy ramdisk used. If you don't have a custom deploy ramdisk, you shouldn't use CustomDeploy. type: string required: - method type: object description: - description: Description is a human-entered text used to help identify - the host + description: Description is a human-entered text used to help identify the host type: string externallyProvisioned: - description: ExternallyProvisioned means something else is managing - the image running on the host and the operator should only manage - the power status and hardware inventory inspection. If the Image - field is filled in, this field is ignored. + description: ExternallyProvisioned means something else is managing the image running on the host and the operator should only manage the power status and hardware inventory inspection. If the Image field is filled in, this field is ignored. type: boolean firmware: description: BIOS configuration for bare metal server properties: simultaneousMultithreadingEnabled: - description: 'Allows a single physical processor core to appear - as several logical processors. This supports following options: - true, false.' + description: 'Allows a single physical processor core to appear as several logical processors. This supports following options: true, false.' enum: - true - false type: boolean sriovEnabled: - description: 'SR-IOV support enables a hypervisor to create virtual - instances of a PCI-express device, potentially increasing performance. - This supports following options: true, false.' + description: 'SR-IOV support enables a hypervisor to create virtual instances of a PCI-express device, potentially increasing performance. This supports following options: true, false.' enum: - true - false type: boolean virtualizationEnabled: - description: 'Supports the virtualization of platform hardware. - This supports following options: true, false.' + description: 'Supports the virtualization of platform hardware. This supports following options: true, false.' enum: - true - false type: boolean type: object hardwareProfile: - description: What is the name of the hardware profile for this host? - It should only be necessary to set this when inspection cannot automatically - determine the profile. + description: What is the name of the hardware profile for this host? It should only be necessary to set this when inspection cannot automatically determine the profile. type: string image: description: Image holds the details of the image to be provisioned. @@ -216,19 +176,14 @@ spec: description: Checksum is the checksum for the image. type: string checksumType: - description: ChecksumType is the checksum algorithm for the image. - e.g md5, sha256, sha512 + description: ChecksumType is the checksum algorithm for the image. e.g md5, sha256, sha512 enum: - md5 - sha256 - sha512 type: string format: - description: DiskFormat contains the format of the image (raw, - qcow2, ...). Needs to be set to raw for raw images streaming. - Note live-iso means an iso referenced by the url will be live-booted - and not deployed to disk, and in this case the checksum options - are not required and if specified will be ignored. + description: DiskFormat contains the format of the image (raw, qcow2, ...). Needs to be set to raw for raw images streaming. Note live-iso means an iso referenced by the url will be live-booted and not deployed to disk, and in this case the checksum options are not required and if specified will be ignored. enum: - raw - qcow2 @@ -243,32 +198,24 @@ spec: - url type: object metaData: - description: MetaData holds the reference to the Secret containing - host metadata (e.g. meta_data.json) which is passed to the Config - Drive. + description: MetaData holds the reference to the Secret containing host metadata (e.g. meta_data.json) which is passed to the Config Drive. properties: name: - description: name is unique within a namespace to reference a - secret resource. + description: name is unique within a namespace to reference a secret resource. type: string namespace: - description: namespace defines the space within which the secret - name must be unique. + description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic networkData: - description: NetworkData holds the reference to the Secret containing - network configuration (e.g content of network_data.json) which is - passed to the Config Drive. + description: NetworkData holds the reference to the Secret containing network configuration (e.g content of network_data.json) which is passed to the Config Drive. properties: name: - description: name is unique within a namespace to reference a - secret resource. + description: name is unique within a namespace to reference a secret resource. type: string namespace: - description: namespace defines the space within which the secret - name must be unique. + description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic @@ -276,28 +223,21 @@ spec: description: Should the server be online? type: boolean preprovisioningNetworkDataName: - description: PreprovisioningNetworkDataName is the name of the Secret - in the local namespace containing network configuration (e.g content - of network_data.json) which is passed to the preprovisioning image, - and to the Config Drive if not overridden by specifying NetworkData. + description: PreprovisioningNetworkDataName is the name of the Secret in the local namespace containing network configuration (e.g content of network_data.json) which is passed to the preprovisioning image, and to the Config Drive if not overridden by specifying NetworkData. type: string raid: description: RAID configuration for bare metal server properties: hardwareRAIDVolumes: - description: The list of logical disks for hardware RAID, if rootDeviceHints - isn't used, first volume is root volume. You can set the value - of this field to `[]` to clear all the hardware RAID configurations. + description: The list of logical disks for hardware RAID, if rootDeviceHints isn't used, first volume is root volume. You can set the value of this field to `[]` to clear all the hardware RAID configurations. items: - description: HardwareRAIDVolume defines the desired configuration - of volume in hardware RAID + description: HardwareRAIDVolume defines the desired configuration of volume in hardware RAID properties: controller: description: The name of the RAID controller to use type: string level: - description: 'RAID level for the logical disk. The following - levels are supported: 0;1;2;5;6;1+0;5+0;6+0.' + description: 'RAID level for the logical disk. The following levels are supported: 0;1;2;5;6;1+0;5+0;6+0.' enum: - "0" - "1" @@ -309,32 +249,23 @@ spec: - 6+0 type: string name: - description: Name of the volume. Should be unique within - the Node. If not specified, volume name will be auto-generated. + description: Name of the volume. Should be unique within the Node. If not specified, volume name will be auto-generated. maxLength: 64 type: string numberOfPhysicalDisks: - description: Integer, number of physical disks to use for - the logical disk. Defaults to minimum number of disks - required for the particular RAID level. + description: Integer, number of physical disks to use for the logical disk. Defaults to minimum number of disks required for the particular RAID level. minimum: 1 type: integer physicalDisks: - description: Optional list of physical disk names to be - used for the Hardware RAID volumes. The disk names are - interpreted by the Hardware RAID controller, and the format - is hardware specific. + description: Optional list of physical disk names to be used for the Hardware RAID volumes. The disk names are interpreted by the Hardware RAID controller, and the format is hardware specific. items: type: string type: array rotational: - description: Select disks with only rotational or solid-state - storage + description: Select disks with only rotational or solid-state storage type: boolean sizeGibibytes: - description: Size (Integer) of the logical disk to be created - in GiB. If unspecified or set be 0, the maximum capacity - of disk will be used for logical disk. + description: Size (Integer) of the logical disk to be created in GiB. If unspecified or set be 0, the maximum capacity of disk will be used for logical disk. minimum: 0 type: integer required: @@ -343,85 +274,58 @@ spec: nullable: true type: array softwareRAIDVolumes: - description: The list of logical disks for software RAID, if rootDeviceHints - isn't used, first volume is root volume. If HardwareRAIDVolumes - is set this item will be invalid. The number of created Software - RAID devices must be 1 or 2. If there is only one Software RAID - device, it has to be a RAID-1. If there are two, the first one - has to be a RAID-1, while the RAID level for the second one - can be 0, 1, or 1+0. As the first RAID device will be the deployment - device, enforcing a RAID-1 reduces the risk of ending up with - a non-booting node in case of a disk failure. Software RAID - will always be deleted. + description: The list of logical disks for software RAID, if rootDeviceHints isn't used, first volume is root volume. If HardwareRAIDVolumes is set this item will be invalid. The number of created Software RAID devices must be 1 or 2. If there is only one Software RAID device, it has to be a RAID-1. If there are two, the first one has to be a RAID-1, while the RAID level for the second one can be 0, 1, or 1+0. As the first RAID device will be the deployment device, enforcing a RAID-1 reduces the risk of ending up with a non-booting node in case of a disk failure. Software RAID will always be deleted. items: - description: SoftwareRAIDVolume defines the desired configuration - of volume in software RAID + description: SoftwareRAIDVolume defines the desired configuration of volume in software RAID properties: level: - description: 'RAID level for the logical disk. The following - levels are supported: 0;1;1+0.' + description: 'RAID level for the logical disk. The following levels are supported: 0;1;1+0.' enum: - "0" - "1" - 1+0 type: string physicalDisks: - description: A list of device hints, the number of items - should be greater than or equal to 2. + description: A list of device hints, the number of items should be greater than or equal to 2. items: - description: RootDeviceHints holds the hints for specifying - the storage location for the root filesystem for the - image. + description: RootDeviceHints holds the hints for specifying the storage location for the root filesystem for the image. properties: deviceName: - description: A Linux device name like "/dev/vda". - The hint must match the actual value exactly. + description: A Linux device name like "/dev/vda". The hint must match the actual value exactly. type: string hctl: - description: A SCSI bus address like 0:0:0:0. The - hint must match the actual value exactly. + description: A SCSI bus address like 0:0:0:0. The hint must match the actual value exactly. type: string minSizeGigabytes: description: The minimum size of the device in Gigabytes. minimum: 0 type: integer model: - description: A vendor-specific device identifier. - The hint can be a substring of the actual value. + description: A vendor-specific device identifier. The hint can be a substring of the actual value. type: string rotational: - description: True if the device should use spinning - media, false otherwise. + description: True if the device should use spinning media, false otherwise. type: boolean serialNumber: - description: Device serial number. The hint must match - the actual value exactly. + description: Device serial number. The hint must match the actual value exactly. type: string vendor: - description: The name of the vendor or manufacturer - of the device. The hint can be a substring of the - actual value. + description: The name of the vendor or manufacturer of the device. The hint can be a substring of the actual value. type: string wwn: - description: Unique storage identifier. The hint must - match the actual value exactly. + description: Unique storage identifier. The hint must match the actual value exactly. type: string wwnVendorExtension: - description: Unique vendor storage identifier. The - hint must match the actual value exactly. + description: Unique vendor storage identifier. The hint must match the actual value exactly. type: string wwnWithExtension: - description: Unique storage identifier with the vendor - extension appended. The hint must match the actual - value exactly. + description: Unique storage identifier with the vendor extension appended. The hint must match the actual value exactly. type: string type: object minItems: 2 type: array sizeGibibytes: - description: Size (Integer) of the logical disk to be created - in GiB. If unspecified or set be 0, the maximum capacity - of disk will be used for logical disk. + description: Size (Integer) of the logical disk to be created in GiB. If unspecified or set be 0, the maximum capacity of disk will be used for logical disk. minimum: 0 type: integer required: @@ -432,69 +336,53 @@ spec: type: array type: object rootDeviceHints: - description: Provide guidance about how to choose the device for the - image being provisioned. + description: Provide guidance about how to choose the device for the image being provisioned. properties: deviceName: - description: A Linux device name like "/dev/vda". The hint must - match the actual value exactly. + description: A Linux device name like "/dev/vda". The hint must match the actual value exactly. type: string hctl: - description: A SCSI bus address like 0:0:0:0. The hint must match - the actual value exactly. + description: A SCSI bus address like 0:0:0:0. The hint must match the actual value exactly. type: string minSizeGigabytes: description: The minimum size of the device in Gigabytes. minimum: 0 type: integer model: - description: A vendor-specific device identifier. The hint can - be a substring of the actual value. + description: A vendor-specific device identifier. The hint can be a substring of the actual value. type: string rotational: - description: True if the device should use spinning media, false - otherwise. + description: True if the device should use spinning media, false otherwise. type: boolean serialNumber: - description: Device serial number. The hint must match the actual - value exactly. + description: Device serial number. The hint must match the actual value exactly. type: string vendor: - description: The name of the vendor or manufacturer of the device. - The hint can be a substring of the actual value. + description: The name of the vendor or manufacturer of the device. The hint can be a substring of the actual value. type: string wwn: - description: Unique storage identifier. The hint must match the - actual value exactly. + description: Unique storage identifier. The hint must match the actual value exactly. type: string wwnVendorExtension: - description: Unique vendor storage identifier. The hint must match - the actual value exactly. + description: Unique vendor storage identifier. The hint must match the actual value exactly. type: string wwnWithExtension: - description: Unique storage identifier with the vendor extension - appended. The hint must match the actual value exactly. + description: Unique storage identifier with the vendor extension appended. The hint must match the actual value exactly. type: string type: object taints: - description: Taints is the full, authoritative list of taints to apply - to the corresponding Machine. This list will overwrite any modifications - made to the Machine on an ongoing basis. + description: Taints is the full, authoritative list of taints to apply to the corresponding Machine. This list will overwrite any modifications made to the Machine on an ongoing basis. items: - description: The node this Taint is attached to has the "effect" - on any pod that does not tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on pods that - do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule - and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which the taint - was added. It is only written for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: @@ -506,16 +394,13 @@ spec: type: object type: array userData: - description: UserData holds the reference to the Secret containing - the user data to be passed to the host before it boots. + description: UserData holds the reference to the Secret containing the user data to be passed to the host before it boots. properties: name: - description: name is unique within a namespace to reference a - secret resource. + description: name is unique within a namespace to reference a secret resource. type: string namespace: - description: namespace defines the space within which the secret - name must be unique. + description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic @@ -527,15 +412,13 @@ spec: properties: errorCount: default: 0 - description: ErrorCount records how many times the host has encoutered - an error since the last successful operation + description: ErrorCount records how many times the host has encoutered an error since the last successful operation type: integer errorMessage: description: the last error message reported by the provisioning subsystem type: string errorType: - description: ErrorType indicates the type of failure encountered when - the OperationalStatus is OperationalStatusError + description: ErrorType indicates the type of failure encountered when the OperationalStatus is OperationalStatusError enum: - provisioned registration error - registration error @@ -548,16 +431,13 @@ spec: description: the last credentials we were able to validate as working properties: credentials: - description: SecretReference represents a Secret Reference. It - has enough information to retrieve secret in any namespace + description: SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace properties: name: - description: name is unique within a namespace to reference - a secret resource. + description: name is unique within a namespace to reference a secret resource. type: string namespace: - description: namespace defines the space within which the - secret name must be unique. + description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic @@ -609,18 +489,14 @@ spec: description: NIC describes one network interface on the host. properties: ip: - description: The IP address of the interface. This will - be an IPv4 or IPv6 address if one is present. If both - IPv4 and IPv6 addresses are present in a dual-stack environment, - two nics will be output, one with each IP. + description: The IP address of the interface. This will be an IPv4 or IPv6 address if one is present. If both IPv4 and IPv6 addresses are present in a dual-stack environment, two nics will be output, one with each IP. type: string mac: description: The device MAC address pattern: '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}' type: string model: - description: The vendor and product IDs of the NIC, e.g. - "0x8086 0x1572" + description: The vendor and product IDs of the NIC, e.g. "0x8086 0x1572" type: string name: description: The name of the network interface, e.g. "en0" @@ -658,8 +534,7 @@ spec: type: integer storage: items: - description: Storage describes one storage device (disk, SSD, - etc.) on the host. + description: Storage describes one storage device (disk, SSD, etc.) on the host. properties: hctl: description: The SCSI location of the device @@ -668,14 +543,10 @@ spec: description: Hardware model type: string name: - description: The Linux device name of the disk, e.g. "/dev/sda". - Note that this may not be stable across reboots. + description: The Linux device name of the disk, e.g. "/dev/sda". Note that this may not be stable across reboots. type: string rotational: - description: Whether this disk represents rotational storage. - This field is not recommended for usage, please prefer - using 'Type' field instead, this field will be deprecated - eventually. + description: Whether this disk represents rotational storage. This field is not recommended for usage, please prefer using 'Type' field instead, this field will be deprecated eventually. type: boolean serialNumber: description: The serial number of the device @@ -706,8 +577,7 @@ spec: type: object type: array systemVendor: - description: HardwareSystemVendor stores details about the whole - hardware system. + description: HardwareSystemVendor stores details about the whole hardware system. properties: manufacturer: type: string @@ -725,12 +595,10 @@ spec: format: date-time type: string operationHistory: - description: OperationHistory holds information about operations performed - on this host. + description: OperationHistory holds information about operations performed on this host. properties: deprovision: - description: OperationMetric contains metadata about an operation - (inspection, provisioning, etc.) used for tracking metrics. + description: OperationMetric contains metadata about an operation (inspection, provisioning, etc.) used for tracking metrics. properties: end: format: date-time @@ -742,8 +610,7 @@ spec: type: string type: object inspect: - description: OperationMetric contains metadata about an operation - (inspection, provisioning, etc.) used for tracking metrics. + description: OperationMetric contains metadata about an operation (inspection, provisioning, etc.) used for tracking metrics. properties: end: format: date-time @@ -755,8 +622,7 @@ spec: type: string type: object provision: - description: OperationMetric contains metadata about an operation - (inspection, provisioning, etc.) used for tracking metrics. + description: OperationMetric contains metadata about an operation (inspection, provisioning, etc.) used for tracking metrics. properties: end: format: date-time @@ -768,8 +634,7 @@ spec: type: string type: object register: - description: OperationMetric contains metadata about an operation - (inspection, provisioning, etc.) used for tracking metrics. + description: OperationMetric contains metadata about an operation (inspection, provisioning, etc.) used for tracking metrics. properties: end: format: date-time @@ -798,12 +663,10 @@ spec: description: Information tracked by the provisioner. properties: ID: - description: The machine's UUID from the underlying provisioning - tool + description: The machine's UUID from the underlying provisioning tool type: string bootMode: - description: BootMode indicates the boot mode used to provision - the node + description: BootMode indicates the boot mode used to provision the node enum: - UEFI - UEFISecureBoot @@ -813,9 +676,7 @@ spec: description: Custom deploy procedure applied to the host. properties: method: - description: Custom deploy method name. This name is specific - to the deploy ramdisk used. If you don't have a custom deploy - ramdisk, you shouldn't use CustomDeploy. + description: Custom deploy method name. This name is specific to the deploy ramdisk used. If you don't have a custom deploy ramdisk, you shouldn't use CustomDeploy. type: string required: - method @@ -824,51 +685,39 @@ spec: description: The Bios set by the user properties: simultaneousMultithreadingEnabled: - description: 'Allows a single physical processor core to appear - as several logical processors. This supports following options: - true, false.' + description: 'Allows a single physical processor core to appear as several logical processors. This supports following options: true, false.' enum: - true - false type: boolean sriovEnabled: - description: 'SR-IOV support enables a hypervisor to create - virtual instances of a PCI-express device, potentially increasing - performance. This supports following options: true, false.' + description: 'SR-IOV support enables a hypervisor to create virtual instances of a PCI-express device, potentially increasing performance. This supports following options: true, false.' enum: - true - false type: boolean virtualizationEnabled: - description: 'Supports the virtualization of platform hardware. - This supports following options: true, false.' + description: 'Supports the virtualization of platform hardware. This supports following options: true, false.' enum: - true - false type: boolean type: object image: - description: Image holds the details of the last image successfully - provisioned to the host. + description: Image holds the details of the last image successfully provisioned to the host. properties: checksum: description: Checksum is the checksum for the image. type: string checksumType: - description: ChecksumType is the checksum algorithm for the - image. e.g md5, sha256, sha512 + description: ChecksumType is the checksum algorithm for the image. e.g md5, sha256, sha512 enum: - md5 - sha256 - sha512 type: string format: - description: DiskFormat contains the format of the image (raw, - qcow2, ...). Needs to be set to raw for raw images streaming. - Note live-iso means an iso referenced by the url will be - live-booted and not deployed to disk, and in this case the - checksum options are not required and if specified will - be ignored. + description: DiskFormat contains the format of the image (raw, qcow2, ...). Needs to be set to raw for raw images streaming. Note live-iso means an iso referenced by the url will be live-booted and not deployed to disk, and in this case the checksum options are not required and if specified will be ignored. enum: - raw - qcow2 @@ -886,20 +735,15 @@ spec: description: The Raid set by the user properties: hardwareRAIDVolumes: - description: The list of logical disks for hardware RAID, - if rootDeviceHints isn't used, first volume is root volume. - You can set the value of this field to `[]` to clear all - the hardware RAID configurations. + description: The list of logical disks for hardware RAID, if rootDeviceHints isn't used, first volume is root volume. You can set the value of this field to `[]` to clear all the hardware RAID configurations. items: - description: HardwareRAIDVolume defines the desired configuration - of volume in hardware RAID + description: HardwareRAIDVolume defines the desired configuration of volume in hardware RAID properties: controller: description: The name of the RAID controller to use type: string level: - description: 'RAID level for the logical disk. The following - levels are supported: 0;1;2;5;6;1+0;5+0;6+0.' + description: 'RAID level for the logical disk. The following levels are supported: 0;1;2;5;6;1+0;5+0;6+0.' enum: - "0" - "1" @@ -911,32 +755,23 @@ spec: - 6+0 type: string name: - description: Name of the volume. Should be unique within - the Node. If not specified, volume name will be auto-generated. + description: Name of the volume. Should be unique within the Node. If not specified, volume name will be auto-generated. maxLength: 64 type: string numberOfPhysicalDisks: - description: Integer, number of physical disks to use - for the logical disk. Defaults to minimum number of - disks required for the particular RAID level. + description: Integer, number of physical disks to use for the logical disk. Defaults to minimum number of disks required for the particular RAID level. minimum: 1 type: integer physicalDisks: - description: Optional list of physical disk names to - be used for the Hardware RAID volumes. The disk names - are interpreted by the Hardware RAID controller, and - the format is hardware specific. + description: Optional list of physical disk names to be used for the Hardware RAID volumes. The disk names are interpreted by the Hardware RAID controller, and the format is hardware specific. items: type: string type: array rotational: - description: Select disks with only rotational or solid-state - storage + description: Select disks with only rotational or solid-state storage type: boolean sizeGibibytes: - description: Size (Integer) of the logical disk to be - created in GiB. If unspecified or set be 0, the maximum - capacity of disk will be used for logical disk. + description: Size (Integer) of the logical disk to be created in GiB. If unspecified or set be 0, the maximum capacity of disk will be used for logical disk. minimum: 0 type: integer required: @@ -945,87 +780,58 @@ spec: nullable: true type: array softwareRAIDVolumes: - description: The list of logical disks for software RAID, - if rootDeviceHints isn't used, first volume is root volume. - If HardwareRAIDVolumes is set this item will be invalid. - The number of created Software RAID devices must be 1 or - 2. If there is only one Software RAID device, it has to - be a RAID-1. If there are two, the first one has to be a - RAID-1, while the RAID level for the second one can be 0, - 1, or 1+0. As the first RAID device will be the deployment - device, enforcing a RAID-1 reduces the risk of ending up - with a non-booting node in case of a disk failure. Software - RAID will always be deleted. + description: The list of logical disks for software RAID, if rootDeviceHints isn't used, first volume is root volume. If HardwareRAIDVolumes is set this item will be invalid. The number of created Software RAID devices must be 1 or 2. If there is only one Software RAID device, it has to be a RAID-1. If there are two, the first one has to be a RAID-1, while the RAID level for the second one can be 0, 1, or 1+0. As the first RAID device will be the deployment device, enforcing a RAID-1 reduces the risk of ending up with a non-booting node in case of a disk failure. Software RAID will always be deleted. items: - description: SoftwareRAIDVolume defines the desired configuration - of volume in software RAID + description: SoftwareRAIDVolume defines the desired configuration of volume in software RAID properties: level: - description: 'RAID level for the logical disk. The following - levels are supported: 0;1;1+0.' + description: 'RAID level for the logical disk. The following levels are supported: 0;1;1+0.' enum: - "0" - "1" - 1+0 type: string physicalDisks: - description: A list of device hints, the number of items - should be greater than or equal to 2. + description: A list of device hints, the number of items should be greater than or equal to 2. items: - description: RootDeviceHints holds the hints for specifying - the storage location for the root filesystem for - the image. + description: RootDeviceHints holds the hints for specifying the storage location for the root filesystem for the image. properties: deviceName: - description: A Linux device name like "/dev/vda". - The hint must match the actual value exactly. + description: A Linux device name like "/dev/vda". The hint must match the actual value exactly. type: string hctl: - description: A SCSI bus address like 0:0:0:0. - The hint must match the actual value exactly. + description: A SCSI bus address like 0:0:0:0. The hint must match the actual value exactly. type: string minSizeGigabytes: - description: The minimum size of the device in - Gigabytes. + description: The minimum size of the device in Gigabytes. minimum: 0 type: integer model: - description: A vendor-specific device identifier. - The hint can be a substring of the actual value. + description: A vendor-specific device identifier. The hint can be a substring of the actual value. type: string rotational: - description: True if the device should use spinning - media, false otherwise. + description: True if the device should use spinning media, false otherwise. type: boolean serialNumber: - description: Device serial number. The hint must - match the actual value exactly. + description: Device serial number. The hint must match the actual value exactly. type: string vendor: - description: The name of the vendor or manufacturer - of the device. The hint can be a substring of - the actual value. + description: The name of the vendor or manufacturer of the device. The hint can be a substring of the actual value. type: string wwn: - description: Unique storage identifier. The hint - must match the actual value exactly. + description: Unique storage identifier. The hint must match the actual value exactly. type: string wwnVendorExtension: - description: Unique vendor storage identifier. - The hint must match the actual value exactly. + description: Unique vendor storage identifier. The hint must match the actual value exactly. type: string wwnWithExtension: - description: Unique storage identifier with the - vendor extension appended. The hint must match - the actual value exactly. + description: Unique storage identifier with the vendor extension appended. The hint must match the actual value exactly. type: string type: object minItems: 2 type: array sizeGibibytes: - description: Size (Integer) of the logical disk to be - created in GiB. If unspecified or set be 0, the maximum - capacity of disk will be used for logical disk. + description: Size (Integer) of the logical disk to be created in GiB. If unspecified or set be 0, the maximum capacity of disk will be used for logical disk. minimum: 0 type: integer required: @@ -1039,49 +845,39 @@ spec: description: The RootDevicehints set by the user properties: deviceName: - description: A Linux device name like "/dev/vda". The hint - must match the actual value exactly. + description: A Linux device name like "/dev/vda". The hint must match the actual value exactly. type: string hctl: - description: A SCSI bus address like 0:0:0:0. The hint must - match the actual value exactly. + description: A SCSI bus address like 0:0:0:0. The hint must match the actual value exactly. type: string minSizeGigabytes: description: The minimum size of the device in Gigabytes. minimum: 0 type: integer model: - description: A vendor-specific device identifier. The hint - can be a substring of the actual value. + description: A vendor-specific device identifier. The hint can be a substring of the actual value. type: string rotational: - description: True if the device should use spinning media, - false otherwise. + description: True if the device should use spinning media, false otherwise. type: boolean serialNumber: - description: Device serial number. The hint must match the - actual value exactly. + description: Device serial number. The hint must match the actual value exactly. type: string vendor: - description: The name of the vendor or manufacturer of the - device. The hint can be a substring of the actual value. + description: The name of the vendor or manufacturer of the device. The hint can be a substring of the actual value. type: string wwn: - description: Unique storage identifier. The hint must match - the actual value exactly. + description: Unique storage identifier. The hint must match the actual value exactly. type: string wwnVendorExtension: - description: Unique vendor storage identifier. The hint must - match the actual value exactly. + description: Unique vendor storage identifier. The hint must match the actual value exactly. type: string wwnWithExtension: - description: Unique storage identifier with the vendor extension - appended. The hint must match the actual value exactly. + description: Unique storage identifier with the vendor extension appended. The hint must match the actual value exactly. type: string type: object state: - description: An indiciator for what the provisioner is doing with - the host. + description: An indiciator for what the provisioner is doing with the host. type: string required: - ID @@ -1091,16 +887,13 @@ spec: description: the last credentials we sent to the provisioning backend properties: credentials: - description: SecretReference represents a Secret Reference. It - has enough information to retrieve secret in any namespace + description: SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace properties: name: - description: name is unique within a namespace to reference - a secret resource. + description: name is unique within a namespace to reference a secret resource. type: string namespace: - description: namespace defines the space within which the - secret name must be unique. + description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic diff --git a/basic-metal3-setup/baremetal-operator/base/crds/metal3.io_bmceventsubscriptions.yaml b/basic-metal3-setup/baremetal-operator/base/crds/metal3.io_bmceventsubscriptions.yaml index 70c79b8b..3291bbf6 100644 --- a/basic-metal3-setup/baremetal-operator/base/crds/metal3.io_bmceventsubscriptions.yaml +++ b/basic-metal3-setup/baremetal-operator/base/crds/metal3.io_bmceventsubscriptions.yaml @@ -1,4 +1,3 @@ ---- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: @@ -33,14 +32,10 @@ spec: description: BMCEventSubscription is the Schema for the fast eventing API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -56,16 +51,13 @@ spec: description: A reference to a BareMetalHost type: string httpHeadersRef: - description: A secret containing HTTP headers which should be passed - along to the Destination when making a request + description: A secret containing HTTP headers which should be passed along to the Destination when making a request properties: name: - description: name is unique within a namespace to reference a - secret resource. + description: name is unique within a namespace to reference a secret resource. type: string namespace: - description: namespace defines the space within which the secret - name must be unique. + description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic diff --git a/basic-metal3-setup/baremetal-operator/base/crds/metal3.io_firmwareschemas.yaml b/basic-metal3-setup/baremetal-operator/base/crds/metal3.io_firmwareschemas.yaml index 2646cd15..8f2c414e 100644 --- a/basic-metal3-setup/baremetal-operator/base/crds/metal3.io_firmwareschemas.yaml +++ b/basic-metal3-setup/baremetal-operator/base/crds/metal3.io_firmwareschemas.yaml @@ -1,4 +1,3 @@ ---- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: @@ -21,14 +20,10 @@ spec: description: FirmwareSchema is the Schema for the firmwareschemas API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -72,8 +67,7 @@ spec: description: Whether or not this setting is read only. type: boolean unique: - description: Whether or not this setting's value is unique to - this node, e.g. a serial number. + description: Whether or not this setting's value is unique to this node, e.g. a serial number. type: boolean upper_bound: description: The highest value for an Integer type setting. diff --git a/basic-metal3-setup/baremetal-operator/base/crds/metal3.io_hardwaredata.yaml b/basic-metal3-setup/baremetal-operator/base/crds/metal3.io_hardwaredata.yaml index 2e2ba7bd..477678a2 100644 --- a/basic-metal3-setup/baremetal-operator/base/crds/metal3.io_hardwaredata.yaml +++ b/basic-metal3-setup/baremetal-operator/base/crds/metal3.io_hardwaredata.yaml @@ -1,4 +1,3 @@ ---- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: @@ -28,14 +27,10 @@ spec: description: HardwareData is the Schema for the hardwaredata API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -87,18 +82,14 @@ spec: description: NIC describes one network interface on the host. properties: ip: - description: The IP address of the interface. This will - be an IPv4 or IPv6 address if one is present. If both - IPv4 and IPv6 addresses are present in a dual-stack environment, - two nics will be output, one with each IP. + description: The IP address of the interface. This will be an IPv4 or IPv6 address if one is present. If both IPv4 and IPv6 addresses are present in a dual-stack environment, two nics will be output, one with each IP. type: string mac: description: The device MAC address pattern: '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}' type: string model: - description: The vendor and product IDs of the NIC, e.g. - "0x8086 0x1572" + description: The vendor and product IDs of the NIC, e.g. "0x8086 0x1572" type: string name: description: The name of the network interface, e.g. "en0" @@ -136,8 +127,7 @@ spec: type: integer storage: items: - description: Storage describes one storage device (disk, SSD, - etc.) on the host. + description: Storage describes one storage device (disk, SSD, etc.) on the host. properties: hctl: description: The SCSI location of the device @@ -146,14 +136,10 @@ spec: description: Hardware model type: string name: - description: The Linux device name of the disk, e.g. "/dev/sda". - Note that this may not be stable across reboots. + description: The Linux device name of the disk, e.g. "/dev/sda". Note that this may not be stable across reboots. type: string rotational: - description: Whether this disk represents rotational storage. - This field is not recommended for usage, please prefer - using 'Type' field instead, this field will be deprecated - eventually. + description: Whether this disk represents rotational storage. This field is not recommended for usage, please prefer using 'Type' field instead, this field will be deprecated eventually. type: boolean serialNumber: description: The serial number of the device @@ -184,8 +170,7 @@ spec: type: object type: array systemVendor: - description: HardwareSystemVendor stores details about the whole - hardware system. + description: HardwareSystemVendor stores details about the whole hardware system. properties: manufacturer: type: string diff --git a/basic-metal3-setup/baremetal-operator/base/crds/metal3.io_hostfirmwaresettings.yaml b/basic-metal3-setup/baremetal-operator/base/crds/metal3.io_hostfirmwaresettings.yaml index 92cbb455..978fc61b 100644 --- a/basic-metal3-setup/baremetal-operator/base/crds/metal3.io_hostfirmwaresettings.yaml +++ b/basic-metal3-setup/baremetal-operator/base/crds/metal3.io_hostfirmwaresettings.yaml @@ -1,4 +1,3 @@ ---- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: @@ -20,18 +19,13 @@ spec: - name: v1alpha1 schema: openAPIV3Schema: - description: HostFirmwareSettings is the Schema for the hostfirmwaresettings - API + description: HostFirmwareSettings is the Schema for the hostfirmwaresettings API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -44,58 +38,34 @@ spec: - type: integer - type: string x-kubernetes-int-or-string: true - description: Settings are the desired firmware settings stored as - name/value pairs. + description: Settings are the desired firmware settings stored as name/value pairs. type: object required: - settings type: object status: - description: HostFirmwareSettingsStatus defines the observed state of - HostFirmwareSettings + description: HostFirmwareSettingsStatus defines the observed state of HostFirmwareSettings properties: conditions: - description: Track whether settings stored in the spec are valid based - on the schema + description: Track whether settings stored in the spec are valid based on the schema items: - description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, \n type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" properties: lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. + description: lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. + description: message is a human readable message indicating details about the transition. This may be an empty string. maxLength: 32768 type: string observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. + description: observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. format: int64 minimum: 0 type: integer reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. - This field may not be empty. + description: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. maxLength: 1024 minLength: 1 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ @@ -108,11 +78,7 @@ spec: - Unknown type: string type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + description: type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string @@ -132,16 +98,13 @@ spec: format: date-time type: string schema: - description: FirmwareSchema is a reference to the Schema used to describe - each FirmwareSetting. By default, this will be a Schema in the same - Namespace as the settings but it can be overwritten in the Spec + description: FirmwareSchema is a reference to the Schema used to describe each FirmwareSetting. By default, this will be a Schema in the same Namespace as the settings but it can be overwritten in the Spec properties: name: description: '`name` is the reference to the schema.' type: string namespace: - description: '`namespace` is the namespace of the where the schema - is stored.' + description: '`namespace` is the namespace of the where the schema is stored.' type: string required: - name @@ -150,8 +113,7 @@ spec: settings: additionalProperties: type: string - description: Settings are the firmware settings stored as name/value - pairs + description: Settings are the firmware settings stored as name/value pairs type: object required: - settings diff --git a/basic-metal3-setup/baremetal-operator/base/crds/metal3.io_preprovisioningimages.yaml b/basic-metal3-setup/baremetal-operator/base/crds/metal3.io_preprovisioningimages.yaml index 47347168..53df3985 100644 --- a/basic-metal3-setup/baremetal-operator/base/crds/metal3.io_preprovisioningimages.yaml +++ b/basic-metal3-setup/baremetal-operator/base/crds/metal3.io_preprovisioningimages.yaml @@ -1,4 +1,3 @@ ---- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: @@ -29,18 +28,13 @@ spec: name: v1alpha1 schema: openAPIV3Schema: - description: PreprovisioningImage is the Schema for the preprovisioningimages - API + description: PreprovisioningImage is the Schema for the preprovisioningimages API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -57,63 +51,38 @@ spec: type: string type: array architecture: - description: architecture is the processor architecture for which - to build the image. + description: architecture is the processor architecture for which to build the image. type: string networkDataName: - description: networkDataName is the name of a Secret in the local - namespace that contains network data to build in to the image. + description: networkDataName is the name of a Secret in the local namespace that contains network data to build in to the image. type: string type: object status: - description: PreprovisioningImageStatus defines the observed state of - PreprovisioningImage + description: PreprovisioningImageStatus defines the observed state of PreprovisioningImage properties: architecture: - description: architecture is the processor architecture for which - the image is built + description: architecture is the processor architecture for which the image is built type: string conditions: description: conditions describe the state of the built image items: - description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, \n type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" properties: lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. + description: lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. + description: message is a human readable message indicating details about the transition. This may be an empty string. maxLength: 32768 type: string observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. + description: observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. format: int64 minimum: 0 type: integer reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. - This field may not be empty. + description: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. maxLength: 1024 minLength: 1 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ @@ -126,11 +95,7 @@ spec: - Unknown type: string type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + description: type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string @@ -146,28 +111,22 @@ spec: - type x-kubernetes-list-type: map extraKernelParams: - description: extraKernelParams is a string with extra parameters to - pass to the kernel when booting the image over network. Only makes - sense for initrd images. + description: extraKernelParams is a string with extra parameters to pass to the kernel when booting the image over network. Only makes sense for initrd images. type: string format: - description: 'format is the type of image that is available at the - download url: either iso or initrd.' + description: 'format is the type of image that is available at the download url: either iso or initrd.' enum: - iso - initrd type: string imageUrl: - description: imageUrl is the URL from which the built image can be - downloaded. + description: imageUrl is the URL from which the built image can be downloaded. type: string kernelUrl: - description: kernelUrl is the URL from which the kernel of the image - can be downloaded. Only makes sense for initrd images. + description: kernelUrl is the URL from which the kernel of the image can be downloaded. Only makes sense for initrd images. type: string networkData: - description: networkData is a reference to the version of the Secret - containing the network data used to build the image. + description: networkData is a reference to the version of the Secret containing the network data used to build the image. properties: name: type: string diff --git a/basic-metal3-setup/baremetal-operator/base/manager.yaml b/basic-metal3-setup/baremetal-operator/base/manager.yaml index 4e5e3446..b1a3c31c 100644 --- a/basic-metal3-setup/baremetal-operator/base/manager.yaml +++ b/basic-metal3-setup/baremetal-operator/base/manager.yaml @@ -18,51 +18,51 @@ spec: webhook: metal3-io-v1alpha1-baremetalhost spec: containers: - - command: - - /baremetal-operator - args: - - --enable-leader-election - image: quay.io/metal3-io/baremetal-operator - imagePullPolicy: Always - env: - - name: POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - envFrom: - - configMapRef: - name: ironic - name: manager - securityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - privileged: false - runAsUser: 65532 - runAsGroup: 65532 - livenessProbe: - httpGet: - path: /healthz - port: 9440 - initialDelaySeconds: 10 - periodSeconds: 10 - timeoutSeconds: 2 - successThreshold: 1 - failureThreshold: 10 - readinessProbe: - httpGet: - path: /readyz - port: 9440 - initialDelaySeconds: 10 - periodSeconds: 10 - timeoutSeconds: 2 - successThreshold: 1 - failureThreshold: 10 + - command: + - /baremetal-operator + args: + - --enable-leader-election + image: quay.io/metal3-io/baremetal-operator + imagePullPolicy: Always + env: + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + envFrom: + - configMapRef: + name: ironic + name: manager + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + privileged: false + runAsUser: 65532 + runAsGroup: 65532 + livenessProbe: + httpGet: + path: /healthz + port: 9440 + initialDelaySeconds: 10 + periodSeconds: 10 + timeoutSeconds: 2 + successThreshold: 1 + failureThreshold: 10 + readinessProbe: + httpGet: + path: /readyz + port: 9440 + initialDelaySeconds: 10 + periodSeconds: 10 + timeoutSeconds: 2 + successThreshold: 1 + failureThreshold: 10 terminationGracePeriodSeconds: 10 securityContext: runAsNonRoot: true diff --git a/basic-metal3-setup/baremetal-operator/base/rbac/role.yaml b/basic-metal3-setup/baremetal-operator/base/rbac/role.yaml index b8ef45c1..041333d0 100644 --- a/basic-metal3-setup/baremetal-operator/base/rbac/role.yaml +++ b/basic-metal3-setup/baremetal-operator/base/rbac/role.yaml @@ -1,4 +1,3 @@ ---- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: diff --git a/basic-metal3-setup/baremetal-operator/base/webhook/kustomization.yaml b/basic-metal3-setup/baremetal-operator/base/webhook/kustomization.yaml index 9fb409ee..79be551d 100644 --- a/basic-metal3-setup/baremetal-operator/base/webhook/kustomization.yaml +++ b/basic-metal3-setup/baremetal-operator/base/webhook/kustomization.yaml @@ -3,4 +3,4 @@ resources: - service_patch.yaml configurations: -- kustomizeconfig.yaml \ No newline at end of file +- kustomizeconfig.yaml diff --git a/basic-metal3-setup/baremetal-operator/base/webhook/kustomizeconfig.yaml b/basic-metal3-setup/baremetal-operator/base/webhook/kustomizeconfig.yaml index 492aac65..743f1135 100644 --- a/basic-metal3-setup/baremetal-operator/base/webhook/kustomizeconfig.yaml +++ b/basic-metal3-setup/baremetal-operator/base/webhook/kustomizeconfig.yaml @@ -4,9 +4,9 @@ nameReference: - kind: Service version: v1 fieldSpecs: -# - kind: MutatingWebhookConfiguration -# group: admissionregistration.k8s.io -# path: webhooks/clientConfig/service/name + # - kind: MutatingWebhookConfiguration + # group: admissionregistration.k8s.io + # path: webhooks/clientConfig/service/name - kind: ValidatingWebhookConfiguration group: admissionregistration.k8s.io path: webhooks/clientConfig/service/name diff --git a/basic-metal3-setup/baremetal-operator/base/webhook/manifests.yaml b/basic-metal3-setup/baremetal-operator/base/webhook/manifests.yaml index 54233d93..16c74c19 100644 --- a/basic-metal3-setup/baremetal-operator/base/webhook/manifests.yaml +++ b/basic-metal3-setup/baremetal-operator/base/webhook/manifests.yaml @@ -1,4 +1,3 @@ ---- apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingWebhookConfiguration metadata: diff --git a/basic-metal3-setup/baremetal-operator/base/webhook/service_patch.yaml b/basic-metal3-setup/baremetal-operator/base/webhook/service_patch.yaml index 52431beb..55a39b2a 100644 --- a/basic-metal3-setup/baremetal-operator/base/webhook/service_patch.yaml +++ b/basic-metal3-setup/baremetal-operator/base/webhook/service_patch.yaml @@ -6,8 +6,8 @@ metadata: namespace: system spec: ports: - - port: 443 - targetPort: 9443 + - port: 443 + targetPort: 9443 selector: control-plane: controller-manager - webhook: metal3-io-v1alpha1-baremetalhost \ No newline at end of file + webhook: metal3-io-v1alpha1-baremetalhost diff --git a/basic-metal3-setup/baremetal-operator/components/basic-auth/kustomization.yaml b/basic-metal3-setup/baremetal-operator/components/basic-auth/kustomization.yaml index 61026100..708465eb 100644 --- a/basic-metal3-setup/baremetal-operator/components/basic-auth/kustomization.yaml +++ b/basic-metal3-setup/baremetal-operator/components/basic-auth/kustomization.yaml @@ -13,7 +13,7 @@ kind: Component # - password=ironic-inspector-password patches: - - path: credentials_patch.yaml - target: - kind: Deployment - name: controller-manager +- path: credentials_patch.yaml + target: + kind: Deployment + name: controller-manager diff --git a/basic-metal3-setup/baremetal-operator/components/tls/kustomization.yaml b/basic-metal3-setup/baremetal-operator/components/tls/kustomization.yaml index b8a077df..3854f302 100644 --- a/basic-metal3-setup/baremetal-operator/components/tls/kustomization.yaml +++ b/basic-metal3-setup/baremetal-operator/components/tls/kustomization.yaml @@ -2,7 +2,7 @@ apiVersion: kustomize.config.k8s.io/v1alpha1 kind: Component patches: - - path: tls_ca_patch.yaml - target: - kind: Deployment - name: controller-manager +- path: tls_ca_patch.yaml + target: + kind: Deployment + name: controller-manager diff --git a/basic-metal3-setup/baremetal-operator/components/tls/tls_ca_patch.yaml b/basic-metal3-setup/baremetal-operator/components/tls/tls_ca_patch.yaml index ae8fc021..59e7dcc1 100644 --- a/basic-metal3-setup/baremetal-operator/components/tls/tls_ca_patch.yaml +++ b/basic-metal3-setup/baremetal-operator/components/tls/tls_ca_patch.yaml @@ -8,9 +8,9 @@ spec: containers: - name: manager volumeMounts: - - name: cacert - mountPath: "/opt/metal3/certs/ca" - readOnly: true + - name: cacert + mountPath: "/opt/metal3/certs/ca" + readOnly: true volumes: - name: cacert secret: diff --git a/basic-metal3-setup/baremetal-operator/overlays/basic-auth_tls/kustomization.yaml b/basic-metal3-setup/baremetal-operator/overlays/basic-auth_tls/kustomization.yaml index d6706ecc..f4f610e9 100644 --- a/basic-metal3-setup/baremetal-operator/overlays/basic-auth_tls/kustomization.yaml +++ b/basic-metal3-setup/baremetal-operator/overlays/basic-auth_tls/kustomization.yaml @@ -11,14 +11,14 @@ components: - ../../components/tls secretGenerator: - - name: ironic-credentials - literals: - - username=admin - - password=password - - name: ironic-inspector-credentials - literals: - - username=inspector - - password=password +- name: ironic-credentials + literals: + - username=admin + - password=password +- name: ironic-inspector-credentials + literals: + - username=inspector + - password=password configMapGenerator: - name: ironic diff --git a/basic-metal3-setup/bmh.yaml b/basic-metal3-setup/bmh.yaml index 12009732..06c468d9 100644 --- a/basic-metal3-setup/bmh.yaml +++ b/basic-metal3-setup/bmh.yaml @@ -1,4 +1,3 @@ ---- apiVersion: v1 kind: Secret metadata: diff --git a/basic-metal3-setup/haproxy/deployment.yaml b/basic-metal3-setup/haproxy/deployment.yaml index 820b1d91..28945904 100644 --- a/basic-metal3-setup/haproxy/deployment.yaml +++ b/basic-metal3-setup/haproxy/deployment.yaml @@ -16,12 +16,12 @@ spec: spec: hostNetwork: true containers: - - image: haproxy - name: haproxy - volumeMounts: - - mountPath: /usr/local/etc/haproxy - name: haproxy-cfg + - image: haproxy + name: haproxy + volumeMounts: + - mountPath: /usr/local/etc/haproxy + name: haproxy-cfg volumes: - - name: haproxy-cfg - configMap: - name: haproxy-cfg + - name: haproxy-cfg + configMap: + name: haproxy-cfg diff --git a/basic-metal3-setup/haproxy/kustomization.yaml b/basic-metal3-setup/haproxy/kustomization.yaml index db6e5ab6..d45b631c 100644 --- a/basic-metal3-setup/haproxy/kustomization.yaml +++ b/basic-metal3-setup/haproxy/kustomization.yaml @@ -2,10 +2,10 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization namespace: haproxy resources: - - namespace.yaml - - deployment.yaml +- namespace.yaml +- deployment.yaml configMapGenerator: - - name: haproxy-cfg - files: - - haproxy.cfg +- name: haproxy-cfg + files: + - haproxy.cfg diff --git a/basic-metal3-setup/ipam-ha/ippool.yaml b/basic-metal3-setup/ipam-ha/ippool.yaml index e4940a88..126d711a 100644 --- a/basic-metal3-setup/ipam-ha/ippool.yaml +++ b/basic-metal3-setup/ipam-ha/ippool.yaml @@ -1,4 +1,3 @@ ---- apiVersion: ipam.metal3.io/v1alpha1 kind: IPPool metadata: @@ -7,7 +6,7 @@ spec: clusterName: my-cluster namePrefix: my-cluster-kcp pools: - - start: 192.168.122.200 - end: 192.168.122.202 + - start: 192.168.122.200 + end: 192.168.122.202 prefix: 24 gateway: 192.168.122.1 diff --git a/basic-metal3-setup/ipam-ha/kustomization.yaml b/basic-metal3-setup/ipam-ha/kustomization.yaml index 85fe980c..4efbf46d 100644 --- a/basic-metal3-setup/ipam-ha/kustomization.yaml +++ b/basic-metal3-setup/ipam-ha/kustomization.yaml @@ -1,11 +1,11 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - - my-cluster.yaml - - ippool.yaml +- my-cluster.yaml +- ippool.yaml patches: - - path: patch.yaml - target: - kind: Metal3DataTemplate - name: my-cluster-controlplane-template +- path: patch.yaml + target: + kind: Metal3DataTemplate + name: my-cluster-controlplane-template diff --git a/basic-metal3-setup/ipam-ha/patch.yaml b/basic-metal3-setup/ipam-ha/patch.yaml index f30a7fc5..8ad2e5fd 100644 --- a/basic-metal3-setup/ipam-ha/patch.yaml +++ b/basic-metal3-setup/ipam-ha/patch.yaml @@ -7,20 +7,20 @@ spec: networkData: links: ethernets: - - type: phy - id: enp1s0 - macAddress: - fromHostInterface: enp1s0 + - type: phy + id: enp1s0 + macAddress: + fromHostInterface: enp1s0 networks: ipv4: - - id: kcpv4 - link: enp1s0 - ipAddressFromIPPool: kcp - routes: - - network: 0.0.0.0 - prefix: 0 - gateway: - fromIPPool: kcp + - id: kcpv4 + link: enp1s0 + ipAddressFromIPPool: kcp + routes: + - network: 0.0.0.0 + prefix: 0 + gateway: + fromIPPool: kcp services: dns: - - 8.8.8.8 + - 8.8.8.8 diff --git a/basic-metal3-setup/ipam/ippool.yaml b/basic-metal3-setup/ipam/ippool.yaml index 6bd96f49..0f26bcc1 100644 --- a/basic-metal3-setup/ipam/ippool.yaml +++ b/basic-metal3-setup/ipam/ippool.yaml @@ -1,4 +1,3 @@ ---- apiVersion: ipam.metal3.io/v1alpha1 kind: IPPool metadata: @@ -7,7 +6,7 @@ spec: clusterName: my-cluster namePrefix: my-cluster-kcp pools: - - start: 192.168.122.200 - end: 192.168.122.200 + - start: 192.168.122.200 + end: 192.168.122.200 prefix: 24 gateway: 192.168.122.1 diff --git a/basic-metal3-setup/ipam/kustomization.yaml b/basic-metal3-setup/ipam/kustomization.yaml index 85fe980c..4efbf46d 100644 --- a/basic-metal3-setup/ipam/kustomization.yaml +++ b/basic-metal3-setup/ipam/kustomization.yaml @@ -1,11 +1,11 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - - my-cluster.yaml - - ippool.yaml +- my-cluster.yaml +- ippool.yaml patches: - - path: patch.yaml - target: - kind: Metal3DataTemplate - name: my-cluster-controlplane-template +- path: patch.yaml + target: + kind: Metal3DataTemplate + name: my-cluster-controlplane-template diff --git a/basic-metal3-setup/ipam/patch.yaml b/basic-metal3-setup/ipam/patch.yaml index f30a7fc5..8ad2e5fd 100644 --- a/basic-metal3-setup/ipam/patch.yaml +++ b/basic-metal3-setup/ipam/patch.yaml @@ -7,20 +7,20 @@ spec: networkData: links: ethernets: - - type: phy - id: enp1s0 - macAddress: - fromHostInterface: enp1s0 + - type: phy + id: enp1s0 + macAddress: + fromHostInterface: enp1s0 networks: ipv4: - - id: kcpv4 - link: enp1s0 - ipAddressFromIPPool: kcp - routes: - - network: 0.0.0.0 - prefix: 0 - gateway: - fromIPPool: kcp + - id: kcpv4 + link: enp1s0 + ipAddressFromIPPool: kcp + routes: + - network: 0.0.0.0 + prefix: 0 + gateway: + fromIPPool: kcp services: dns: - - 8.8.8.8 + - 8.8.8.8 diff --git a/basic-metal3-setup/ironic/base/ironic.yaml b/basic-metal3-setup/ironic/base/ironic.yaml index b11c69fe..ad77c718 100644 --- a/basic-metal3-setup/ironic/base/ironic.yaml +++ b/basic-metal3-setup/ironic/base/ironic.yaml @@ -19,134 +19,134 @@ spec: spec: hostNetwork: true containers: - - name: ironic-dnsmasq - image: quay.io/metal3-io/ironic - imagePullPolicy: Always - securityContext: - capabilities: - add: ["NET_ADMIN", "NET_RAW"] - command: - - /bin/rundnsmasq - livenessProbe: - exec: - command: ["sh", "-c", "ss -lun | grep :69"] - initialDelaySeconds: 30 - periodSeconds: 30 - timeoutSeconds: 10 - successThreshold: 1 - failureThreshold: 10 - readinessProbe: - exec: - command: ["sh", "-c", "ss -lun | grep :69"] - initialDelaySeconds: 30 - periodSeconds: 30 - timeoutSeconds: 10 - successThreshold: 1 - failureThreshold: 10 - volumeMounts: - - mountPath: /shared - name: ironic-data-volume - envFrom: - - configMapRef: - name: ironic-bmo-configmap - - name: ironic - image: quay.io/metal3-io/ironic - imagePullPolicy: Always - command: - - /bin/runironic - livenessProbe: - exec: - command: ["sh", "-c", "curl -sSf http://127.0.0.1:6385 || curl -sSfk https://127.0.0.1:6385"] - initialDelaySeconds: 30 - periodSeconds: 30 - timeoutSeconds: 10 - successThreshold: 1 - failureThreshold: 10 - readinessProbe: - exec: - command: ["sh", "-c", "curl -sSf http://127.0.0.1:6385 || curl -sSfk https://127.0.0.1:6385"] - initialDelaySeconds: 30 - periodSeconds: 30 - timeoutSeconds: 10 - successThreshold: 1 - failureThreshold: 10 - volumeMounts: - - mountPath: /shared - name: ironic-data-volume - envFrom: - - configMapRef: - name: ironic-bmo-configmap - - name: ironic-log-watch - image: quay.io/metal3-io/ironic - imagePullPolicy: Always - command: - - /bin/runlogwatch.sh - volumeMounts: - - mountPath: /shared - name: ironic-data-volume - - name: ironic-inspector - image: quay.io/metal3-io/ironic - imagePullPolicy: Always - readinessProbe: - exec: - command: ["sh", "-c", "curl -sSf http://127.0.0.1:5050 || curl -sSf -k https://127.0.0.1:5050"] - initialDelaySeconds: 30 - periodSeconds: 30 - timeoutSeconds: 10 - successThreshold: 1 - failureThreshold: 10 - livenessProbe: - exec: - command: ["sh", "-c", "curl -sSf http://127.0.0.1:5050 || curl -sSf -k https://127.0.0.1:5050"] - initialDelaySeconds: 30 - periodSeconds: 30 - timeoutSeconds: 10 - successThreshold: 1 - failureThreshold: 10 - command: - - /bin/runironic-inspector - envFrom: - - configMapRef: - name: ironic-bmo-configmap - - name: ironic-httpd - image: quay.io/metal3-io/ironic - imagePullPolicy: Always - command: - - /bin/runhttpd - livenessProbe: - exec: - command: ["sh", "-c", "curl -sSfk http://127.0.0.1:6180/images"] - initialDelaySeconds: 30 - periodSeconds: 30 - timeoutSeconds: 10 - successThreshold: 1 - failureThreshold: 10 - readinessProbe: - exec: - command: ["sh", "-c", "curl -sSfk http://127.0.0.1:6180/images"] - initialDelaySeconds: 30 - periodSeconds: 30 - timeoutSeconds: 10 - successThreshold: 1 - failureThreshold: 10 - volumeMounts: - - mountPath: /shared - name: ironic-data-volume - envFrom: - - configMapRef: - name: ironic-bmo-configmap + - name: ironic-dnsmasq + image: quay.io/metal3-io/ironic + imagePullPolicy: Always + securityContext: + capabilities: + add: ["NET_ADMIN", "NET_RAW"] + command: + - /bin/rundnsmasq + livenessProbe: + exec: + command: ["sh", "-c", "ss -lun | grep :69"] + initialDelaySeconds: 30 + periodSeconds: 30 + timeoutSeconds: 10 + successThreshold: 1 + failureThreshold: 10 + readinessProbe: + exec: + command: ["sh", "-c", "ss -lun | grep :69"] + initialDelaySeconds: 30 + periodSeconds: 30 + timeoutSeconds: 10 + successThreshold: 1 + failureThreshold: 10 + volumeMounts: + - mountPath: /shared + name: ironic-data-volume + envFrom: + - configMapRef: + name: ironic-bmo-configmap + - name: ironic + image: quay.io/metal3-io/ironic + imagePullPolicy: Always + command: + - /bin/runironic + livenessProbe: + exec: + command: ["sh", "-c", "curl -sSf http://127.0.0.1:6385 || curl -sSfk https://127.0.0.1:6385"] + initialDelaySeconds: 30 + periodSeconds: 30 + timeoutSeconds: 10 + successThreshold: 1 + failureThreshold: 10 + readinessProbe: + exec: + command: ["sh", "-c", "curl -sSf http://127.0.0.1:6385 || curl -sSfk https://127.0.0.1:6385"] + initialDelaySeconds: 30 + periodSeconds: 30 + timeoutSeconds: 10 + successThreshold: 1 + failureThreshold: 10 + volumeMounts: + - mountPath: /shared + name: ironic-data-volume + envFrom: + - configMapRef: + name: ironic-bmo-configmap + - name: ironic-log-watch + image: quay.io/metal3-io/ironic + imagePullPolicy: Always + command: + - /bin/runlogwatch.sh + volumeMounts: + - mountPath: /shared + name: ironic-data-volume + - name: ironic-inspector + image: quay.io/metal3-io/ironic + imagePullPolicy: Always + readinessProbe: + exec: + command: ["sh", "-c", "curl -sSf http://127.0.0.1:5050 || curl -sSf -k https://127.0.0.1:5050"] + initialDelaySeconds: 30 + periodSeconds: 30 + timeoutSeconds: 10 + successThreshold: 1 + failureThreshold: 10 + livenessProbe: + exec: + command: ["sh", "-c", "curl -sSf http://127.0.0.1:5050 || curl -sSf -k https://127.0.0.1:5050"] + initialDelaySeconds: 30 + periodSeconds: 30 + timeoutSeconds: 10 + successThreshold: 1 + failureThreshold: 10 + command: + - /bin/runironic-inspector + envFrom: + - configMapRef: + name: ironic-bmo-configmap + - name: ironic-httpd + image: quay.io/metal3-io/ironic + imagePullPolicy: Always + command: + - /bin/runhttpd + livenessProbe: + exec: + command: ["sh", "-c", "curl -sSfk http://127.0.0.1:6180/images"] + initialDelaySeconds: 30 + periodSeconds: 30 + timeoutSeconds: 10 + successThreshold: 1 + failureThreshold: 10 + readinessProbe: + exec: + command: ["sh", "-c", "curl -sSfk http://127.0.0.1:6180/images"] + initialDelaySeconds: 30 + periodSeconds: 30 + timeoutSeconds: 10 + successThreshold: 1 + failureThreshold: 10 + volumeMounts: + - mountPath: /shared + name: ironic-data-volume + envFrom: + - configMapRef: + name: ironic-bmo-configmap initContainers: - - name: ironic-ipa-downloader - image: quay.io/metal3-io/ironic-ipa-downloader - imagePullPolicy: Always - command: - - /usr/local/bin/get-resource.sh - envFrom: - - configMapRef: - name: ironic-bmo-configmap - volumeMounts: - - mountPath: /shared - name: ironic-data-volume + - name: ironic-ipa-downloader + image: quay.io/metal3-io/ironic-ipa-downloader + imagePullPolicy: Always + command: + - /usr/local/bin/get-resource.sh + envFrom: + - configMapRef: + name: ironic-bmo-configmap + volumeMounts: + - mountPath: /shared + name: ironic-data-volume volumes: - - name: ironic-data-volume - emptyDir: {} + - name: ironic-data-volume + emptyDir: {} diff --git a/basic-metal3-setup/ironic/base/kustomization.yaml b/basic-metal3-setup/ironic/base/kustomization.yaml index 01aaa615..728f94ab 100644 --- a/basic-metal3-setup/ironic/base/kustomization.yaml +++ b/basic-metal3-setup/ironic/base/kustomization.yaml @@ -1,4 +1,4 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: -- ironic.yaml \ No newline at end of file +- ironic.yaml diff --git a/basic-metal3-setup/ironic/components/basic-auth/kustomization.yaml b/basic-metal3-setup/ironic/components/basic-auth/kustomization.yaml index 454e4922..f04e9403 100644 --- a/basic-metal3-setup/ironic/components/basic-auth/kustomization.yaml +++ b/basic-metal3-setup/ironic/components/basic-auth/kustomization.yaml @@ -2,7 +2,7 @@ apiVersion: kustomize.config.k8s.io/v1alpha1 kind: Component patches: - - path: auth.yaml - target: - kind: Deployment - name: ironic +- path: auth.yaml + target: + kind: Deployment + name: ironic diff --git a/basic-metal3-setup/ironic/components/tls/certificate.yaml b/basic-metal3-setup/ironic/components/tls/certificate.yaml index fac005dd..ab3fe885 100644 --- a/basic-metal3-setup/ironic/components/tls/certificate.yaml +++ b/basic-metal3-setup/ironic/components/tls/certificate.yaml @@ -13,7 +13,7 @@ spec: commonName: ironic-ca isCA: true ipAddresses: - - MINIKUBE_IP + - MINIKUBE_IP issuerRef: kind: Issuer name: selfsigned-issuer @@ -34,7 +34,7 @@ metadata: spec: commonName: ironic-cert ipAddresses: - - MINIKUBE_IP + - MINIKUBE_IP issuerRef: kind: Issuer name: ca-issuer @@ -47,7 +47,7 @@ metadata: spec: commonName: ironic-inspector-cert ipAddresses: - - MINIKUBE_IP + - MINIKUBE_IP issuerRef: kind: Issuer name: ca-issuer diff --git a/basic-metal3-setup/ironic/components/tls/kustomization.yaml b/basic-metal3-setup/ironic/components/tls/kustomization.yaml index c735dcd5..e2a9c1f3 100644 --- a/basic-metal3-setup/ironic/components/tls/kustomization.yaml +++ b/basic-metal3-setup/ironic/components/tls/kustomization.yaml @@ -2,13 +2,13 @@ apiVersion: kustomize.config.k8s.io/v1alpha1 kind: Component resources: - - certificate.yaml +- certificate.yaml patches: - - path: tls.yaml - target: - kind: Deployment - name: ironic +- path: tls.yaml + target: + kind: Deployment + name: ironic configurations: - - kustomizeconfig.yaml +- kustomizeconfig.yaml diff --git a/basic-metal3-setup/ironic/components/tls/kustomizeconfig.yaml b/basic-metal3-setup/ironic/components/tls/kustomizeconfig.yaml index d58c4f20..e631f777 100644 --- a/basic-metal3-setup/ironic/components/tls/kustomizeconfig.yaml +++ b/basic-metal3-setup/ironic/components/tls/kustomizeconfig.yaml @@ -1,16 +1,16 @@ # This configuration is for teaching kustomize how to update name ref and var substitution nameReference: - - kind: Issuer +- kind: Issuer + group: cert-manager.io + fieldSpecs: + - kind: Certificate group: cert-manager.io - fieldSpecs: - - kind: Certificate - group: cert-manager.io - path: spec/issuerRef/name + path: spec/issuerRef/name varReference: - - kind: Certificate - group: cert-manager.io - path: spec/commonName - - kind: Certificate - group: cert-manager.io - path: spec/dnsNames +- kind: Certificate + group: cert-manager.io + path: spec/commonName +- kind: Certificate + group: cert-manager.io + path: spec/dnsNames diff --git a/basic-metal3-setup/ironic/components/tls/tls.yaml b/basic-metal3-setup/ironic/components/tls/tls.yaml index a09a5110..6df8e44b 100644 --- a/basic-metal3-setup/ironic/components/tls/tls.yaml +++ b/basic-metal3-setup/ironic/components/tls/tls.yaml @@ -8,11 +8,11 @@ spec: containers: - name: ironic readinessProbe: - exec: - command: ["sh", "-c", "curl -sSf http://127.0.0.1:6388"] + exec: + command: ["sh", "-c", "curl -sSf http://127.0.0.1:6388"] livenessProbe: - exec: - command: ["sh", "-c", "curl -sSf http://127.0.0.1:6388"] + exec: + command: ["sh", "-c", "curl -sSf http://127.0.0.1:6388"] env: - name: IRONIC_REVERSE_PROXY_SETUP value: "true" @@ -27,11 +27,11 @@ spec: readOnly: true - name: ironic-httpd livenessProbe: - exec: - command: ["sh", "-c", "curl -sSfk https://127.0.0.1:6385"] + exec: + command: ["sh", "-c", "curl -sSfk https://127.0.0.1:6385"] readinessProbe: - exec: - command: ["sh", "-c", "curl -sSfk https://127.0.0.1:6385"] + exec: + command: ["sh", "-c", "curl -sSfk https://127.0.0.1:6385"] env: - name: IRONIC_REVERSE_PROXY_SETUP value: "true" diff --git a/basic-metal3-setup/ironic/overlays/basic-auth_tls/ironic-patch.yaml b/basic-metal3-setup/ironic/overlays/basic-auth_tls/ironic-patch.yaml index b0b0ba38..dd6d72c6 100644 --- a/basic-metal3-setup/ironic/overlays/basic-auth_tls/ironic-patch.yaml +++ b/basic-metal3-setup/ironic/overlays/basic-auth_tls/ironic-patch.yaml @@ -6,11 +6,11 @@ spec: template: spec: containers: - - name: ironic-dnsmasq - $patch: delete + - name: ironic-dnsmasq + $patch: delete volumes: - - name: ironic-data-volume - emptyDir: - $patch: delete - hostPath: - path: /opt/minikube + - name: ironic-data-volume + emptyDir: + $patch: delete + hostPath: + path: /opt/minikube diff --git a/basic-metal3-setup/ironic/overlays/basic-auth_tls/kustomization.yaml b/basic-metal3-setup/ironic/overlays/basic-auth_tls/kustomization.yaml index 725a9c90..29a4501e 100644 --- a/basic-metal3-setup/ironic/overlays/basic-auth_tls/kustomization.yaml +++ b/basic-metal3-setup/ironic/overlays/basic-auth_tls/kustomization.yaml @@ -3,47 +3,47 @@ kind: Kustomization namespace: baremetal-operator-system # namePrefix: baremetal-operator- resources: - # - https://github.com/metal3-io/baremetal-operator/ironic-deployment/base - - ../../base - - namespace.yaml +# - https://github.com/metal3-io/baremetal-operator/ironic-deployment/base +- ../../base +- namespace.yaml components: - # Note: These can not be used directly from github since files are missing (e.g. ironic-htpasswd) - - ../../components/basic-auth - - ../../components/tls +# Note: These can not be used directly from github since files are missing (e.g. ironic-htpasswd) +- ../../components/basic-auth +- ../../components/tls patches: - # When using TLS, the ironic-httpd container is acting as a reverse-proxy. - # This means that we need to add the basic-auth related environment - # variables on ironic-httpd with this patch. - - path: basic-auth_tls.yaml - target: - kind: Deployment - name: ironic - # Make volume persistent by changing to hostPath - # Remove unused dnsmasq container - - path: ironic-patch.yaml - target: - kind: Deployment - name: ironic +# When using TLS, the ironic-httpd container is acting as a reverse-proxy. +# This means that we need to add the basic-auth related environment +# variables on ironic-httpd with this patch. +- path: basic-auth_tls.yaml + target: + kind: Deployment + name: ironic +# Make volume persistent by changing to hostPath +# Remove unused dnsmasq container +- path: ironic-patch.yaml + target: + kind: Deployment + name: ironic configMapGenerator: - - name: ironic-bmo-configmap - envs: - - ironic_bmo_configmap.env - - name: ironic-htpasswd - behavior: create - envs: - - ironic-htpasswd - - name: ironic-inspector-htpasswd - behavior: create - envs: - - ironic-inspector-htpasswd +- name: ironic-bmo-configmap + envs: + - ironic_bmo_configmap.env +- name: ironic-htpasswd + behavior: create + envs: + - ironic-htpasswd +- name: ironic-inspector-htpasswd + behavior: create + envs: + - ironic-inspector-htpasswd secretGenerator: - - name: ironic-auth-config - files: - - auth-config=ironic-auth-config - - name: ironic-inspector-auth-config - files: - - auth-config=ironic-inspector-auth-config +- name: ironic-auth-config + files: + - auth-config=ironic-auth-config +- name: ironic-inspector-auth-config + files: + - auth-config=ironic-inspector-auth-config diff --git a/basic-metal3-setup/vbmc.yaml b/basic-metal3-setup/vbmc.yaml index 5e4e7272..2514cb8b 100644 --- a/basic-metal3-setup/vbmc.yaml +++ b/basic-metal3-setup/vbmc.yaml @@ -27,9 +27,9 @@ spec: - image: quay.io/metal3-io/vbmc name: vbmc volumeMounts: - - name: ssh - mountPath: /home/docker/.ssh - volumes: - name: ssh - hostPath: - path: /home/docker/.ssh + mountPath: /home/docker/.ssh + volumes: + - name: ssh + hostPath: + path: /home/docker/.ssh diff --git a/capi-tilt/cluster.yaml b/capi-tilt/cluster.yaml index e249ac6c..3958847f 100644 --- a/capi-tilt/cluster.yaml +++ b/capi-tilt/cluster.yaml @@ -8,7 +8,7 @@ spec: host: 192.168.111.249 port: 6443 status: - ready: true + ready: true --- apiVersion: cluster.x-k8s.io/v1alpha3 kind: Cluster @@ -29,4 +29,4 @@ spec: kind: KubeadmControlPlane apiVersion: controlplane.cluster.x-k8s.io/v1alpha3 name: my-controlplane - namespace: default \ No newline at end of file + namespace: default diff --git a/capi-tilt/controlplane.yaml b/capi-tilt/controlplane.yaml index 49ec339d..252d35ab 100644 --- a/capi-tilt/controlplane.yaml +++ b/capi-tilt/controlplane.yaml @@ -26,11 +26,11 @@ spec: # Appropriate for testing or development only. enable-hostpath-provisioner: "true" --- - apiVersion: infrastructure.cluster.x-k8s.io/v1alpha3 - kind: DockerMachineTemplate - metadata: - name: my-controlplane - namespace: default - spec: - template: - spec: {} +apiVersion: infrastructure.cluster.x-k8s.io/v1alpha3 +kind: DockerMachineTemplate +metadata: + name: my-controlplane + namespace: default +spec: + template: + spec: {} diff --git a/capi-tilt/kind-cluster-with-extramounts.yaml b/capi-tilt/kind-cluster-with-extramounts.yaml index 6c725707..286cdc84 100644 --- a/capi-tilt/kind-cluster-with-extramounts.yaml +++ b/capi-tilt/kind-cluster-with-extramounts.yaml @@ -3,5 +3,5 @@ apiVersion: kind.sigs.k8s.io/v1alpha3 nodes: - role: control-plane extraMounts: - - hostPath: /var/run/docker.sock - containerPath: /var/run/docker.sock + - hostPath: /var/run/docker.sock + containerPath: /var/run/docker.sock diff --git a/lb-haproxy-study/LB-HAProxy-ds-sc/01_HAProxy-DS-separate-CM/hapxy-ok-ds.yaml b/lb-haproxy-study/LB-HAProxy-ds-sc/01_HAProxy-DS-separate-CM/hapxy-ok-ds.yaml index cfdc9ad7..b91dc152 100644 --- a/lb-haproxy-study/LB-HAProxy-ds-sc/01_HAProxy-DS-separate-CM/hapxy-ok-ds.yaml +++ b/lb-haproxy-study/LB-HAProxy-ds-sc/01_HAProxy-DS-separate-CM/hapxy-ok-ds.yaml @@ -27,15 +27,15 @@ spec: - name: haproxy-container image: mikkos73/haproxy11:latest ports: - - name: http - containerPort: 7777 - - name: https - containerPort: 443 - - name: stat - containerPort: 1024 + - name: http + containerPort: 7777 + - name: https + containerPort: 443 + - name: stat + containerPort: 1024 volumeMounts: - - mountPath: /usr/local/etc/haproxy - name: shared-data + - mountPath: /usr/local/etc/haproxy + name: shared-data - name: sidecar-container image: alpine volumeMounts: @@ -65,4 +65,3 @@ spec: # None will allow the service to distribute to all masters sessionAffinity: None type: NodePort - diff --git a/lb-haproxy-study/LB-HAProxy-ds-sc/hapxy-ok-ds.yaml b/lb-haproxy-study/LB-HAProxy-ds-sc/hapxy-ok-ds.yaml index b027e29b..b351e22b 100644 --- a/lb-haproxy-study/LB-HAProxy-ds-sc/hapxy-ok-ds.yaml +++ b/lb-haproxy-study/LB-HAProxy-ds-sc/hapxy-ok-ds.yaml @@ -27,15 +27,15 @@ spec: - name: haproxy-container image: mikkos73/haproxy11:latest ports: - - name: http - containerPort: 7777 - - name: https - containerPort: 443 - - name: stat - containerPort: 1024 + - name: http + containerPort: 7777 + - name: https + containerPort: 443 + - name: stat + containerPort: 1024 volumeMounts: - - mountPath: /usr/local/etc/haproxy - name: shared-data + - mountPath: /usr/local/etc/haproxy + name: shared-data - name: sidecar-container image: alpine volumeMounts: @@ -65,4 +65,3 @@ spec: # None will allow the service to distribute to all masters sessionAffinity: None type: NodePort - diff --git a/meta-provider/BYOH+metal3/metal3-workers-centos.yaml b/meta-provider/BYOH+metal3/metal3-workers-centos.yaml index b0cc216d..8f845383 100644 --- a/meta-provider/BYOH+metal3/metal3-workers-centos.yaml +++ b/meta-provider/BYOH+metal3/metal3-workers-centos.yaml @@ -177,6 +177,5 @@ spec: users: - name: metal3 sshAuthorizedKeys: - - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC48zS2PJKInW6O8QxA1Ugvhad1qkl01XydfdTNR4deqAAiwn8KdHftQCwOTPmrK2QFEf6Pax86gSbcBmFRQwgS/1WkkAa00e+btTKD7BFDuMTXwDNiQLtFdpoWnWVj93Vb5cTIRDG3biaVup2koqODyzpshUvlT9POEQ+ri18LhC/Klk4JA4M7tW9e/gdptAKjyYPMQygrkeuwATrocEMxBrbypQzDkRfqgIXPqcENLBrtt7bDuv94/bUzHq5CLi9M+WJfItTdGNkezkonmDlf2DSMTTgx/ApRmnGsAqjIZnKYN44u8b1ax4oUAqd6lei0Ed3lAm1DQZAh4sApUEBpZdzSOZnoK51XvI36586kSwk5BnrqtpmiIWc77zebIedEc0N0PppD50gNKYKPNkYpwcIwzTU6Ds4ets8V0P96yyxMkEHxgqvFM5uNrfnYNPUTTxICsdd5NN+e1qs4XJ3RaF3bnEQOYSTtKF5gIgzXiBm8JCV0LVar4l0NVMGySAM= - ubuntu@lennart-test + - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC48zS2PJKInW6O8QxA1Ugvhad1qkl01XydfdTNR4deqAAiwn8KdHftQCwOTPmrK2QFEf6Pax86gSbcBmFRQwgS/1WkkAa00e+btTKD7BFDuMTXwDNiQLtFdpoWnWVj93Vb5cTIRDG3biaVup2koqODyzpshUvlT9POEQ+ri18LhC/Klk4JA4M7tW9e/gdptAKjyYPMQygrkeuwATrocEMxBrbypQzDkRfqgIXPqcENLBrtt7bDuv94/bUzHq5CLi9M+WJfItTdGNkezkonmDlf2DSMTTgx/ApRmnGsAqjIZnKYN44u8b1ax4oUAqd6lei0Ed3lAm1DQZAh4sApUEBpZdzSOZnoK51XvI36586kSwk5BnrqtpmiIWc77zebIedEc0N0PppD50gNKYKPNkYpwcIwzTU6Ds4ets8V0P96yyxMkEHxgqvFM5uNrfnYNPUTTxICsdd5NN+e1qs4XJ3RaF3bnEQOYSTtKF5gIgzXiBm8JCV0LVar4l0NVMGySAM= ubuntu@lennart-test sudo: ALL=(ALL) NOPASSWD:ALL diff --git a/meta-provider/BYOH+metal3/metal3-workers-ubuntu.yaml b/meta-provider/BYOH+metal3/metal3-workers-ubuntu.yaml index 59e1ac16..d7235792 100644 --- a/meta-provider/BYOH+metal3/metal3-workers-ubuntu.yaml +++ b/meta-provider/BYOH+metal3/metal3-workers-ubuntu.yaml @@ -136,6 +136,5 @@ spec: users: - name: metal3 sshAuthorizedKeys: - - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC48zS2PJKInW6O8QxA1Ugvhad1qkl01XydfdTNR4deqAAiwn8KdHftQCwOTPmrK2QFEf6Pax86gSbcBmFRQwgS/1WkkAa00e+btTKD7BFDuMTXwDNiQLtFdpoWnWVj93Vb5cTIRDG3biaVup2koqODyzpshUvlT9POEQ+ri18LhC/Klk4JA4M7tW9e/gdptAKjyYPMQygrkeuwATrocEMxBrbypQzDkRfqgIXPqcENLBrtt7bDuv94/bUzHq5CLi9M+WJfItTdGNkezkonmDlf2DSMTTgx/ApRmnGsAqjIZnKYN44u8b1ax4oUAqd6lei0Ed3lAm1DQZAh4sApUEBpZdzSOZnoK51XvI36586kSwk5BnrqtpmiIWc77zebIedEc0N0PppD50gNKYKPNkYpwcIwzTU6Ds4ets8V0P96yyxMkEHxgqvFM5uNrfnYNPUTTxICsdd5NN+e1qs4XJ3RaF3bnEQOYSTtKF5gIgzXiBm8JCV0LVar4l0NVMGySAM= - ubuntu@lennart-test + - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC48zS2PJKInW6O8QxA1Ugvhad1qkl01XydfdTNR4deqAAiwn8KdHftQCwOTPmrK2QFEf6Pax86gSbcBmFRQwgS/1WkkAa00e+btTKD7BFDuMTXwDNiQLtFdpoWnWVj93Vb5cTIRDG3biaVup2koqODyzpshUvlT9POEQ+ri18LhC/Klk4JA4M7tW9e/gdptAKjyYPMQygrkeuwATrocEMxBrbypQzDkRfqgIXPqcENLBrtt7bDuv94/bUzHq5CLi9M+WJfItTdGNkezkonmDlf2DSMTTgx/ApRmnGsAqjIZnKYN44u8b1ax4oUAqd6lei0Ed3lAm1DQZAh4sApUEBpZdzSOZnoK51XvI36586kSwk5BnrqtpmiIWc77zebIedEc0N0PppD50gNKYKPNkYpwcIwzTU6Ds4ets8V0P96yyxMkEHxgqvFM5uNrfnYNPUTTxICsdd5NN+e1qs4XJ3RaF3bnEQOYSTtKF5gIgzXiBm8JCV0LVar4l0NVMGySAM= ubuntu@lennart-test sudo: ALL=(ALL) NOPASSWD:ALL diff --git a/meta-provider/nested+metal3/v1alpha5_cluster_ubuntu.yaml b/meta-provider/nested+metal3/v1alpha5_cluster_ubuntu.yaml index 564e0b15..31bc5f6e 100644 --- a/meta-provider/nested+metal3/v1alpha5_cluster_ubuntu.yaml +++ b/meta-provider/nested+metal3/v1alpha5_cluster_ubuntu.yaml @@ -18,8 +18,8 @@ spec: clusterName: cluster-sample namePrefix: test1-prov pools: - - end: 172.22.0.200 - start: 172.22.0.100 + - end: 172.22.0.200 + start: 172.22.0.100 prefix: 24 --- apiVersion: ipam.metal3.io/v1alpha1 @@ -32,6 +32,6 @@ spec: gateway: 192.168.111.1 namePrefix: test1-bmv4 pools: - - end: 192.168.111.200 - start: 192.168.111.100 + - end: 192.168.111.200 + start: 192.168.111.100 prefix: 24 diff --git a/meta-provider/nested+metal3/v1alpha5_workers_ubuntu.yaml b/meta-provider/nested+metal3/v1alpha5_workers_ubuntu.yaml index 8388543c..45a251a7 100644 --- a/meta-provider/nested+metal3/v1alpha5_workers_ubuntu.yaml +++ b/meta-provider/nested+metal3/v1alpha5_workers_ubuntu.yaml @@ -57,42 +57,42 @@ spec: clusterName: cluster-sample metaData: ipAddressesFromIPPool: - - key: provisioningIP - name: provisioning-pool + - key: provisioningIP + name: provisioning-pool objectNames: - - key: name - object: machine - - key: local-hostname - object: machine - - key: local_hostname - object: machine + - key: name + object: machine + - key: local-hostname + object: machine + - key: local_hostname + object: machine prefixesFromIPPool: - - key: provisioningCIDR - name: provisioning-pool + - key: provisioningCIDR + name: provisioning-pool networkData: links: ethernets: - - id: enp1s0 - macAddress: - fromHostInterface: enp1s0 - type: phy - - id: enp2s0 - macAddress: - fromHostInterface: enp2s0 - type: phy + - id: enp1s0 + macAddress: + fromHostInterface: enp1s0 + type: phy + - id: enp2s0 + macAddress: + fromHostInterface: enp2s0 + type: phy networks: ipv4: - - id: baremetalv4 - ipAddressFromIPPool: baremetalv4-pool - link: enp2s0 - routes: - - gateway: - fromIPPool: baremetalv4-pool - network: 0.0.0.0 - prefix: 0 + - id: baremetalv4 + ipAddressFromIPPool: baremetalv4-pool + link: enp2s0 + routes: + - gateway: + fromIPPool: baremetalv4-pool + network: 0.0.0.0 + prefix: 0 services: dns: - - 8.8.8.8 + - 8.8.8.8 --- apiVersion: bootstrap.cluster.x-k8s.io/v1alpha4 kind: KubeadmConfigTemplate @@ -103,25 +103,25 @@ spec: template: spec: files: - - content: | - network: - version: 2 - renderer: networkd - bridges: - ironicendpoint: - interfaces: [enp1s0] - addresses: - - {{ ds.meta_data.provisioningIP }}/{{ ds.meta_data.provisioningCIDR }} - owner: root:root - path: /etc/netplan/52-ironicendpoint.yaml - permissions: "0644" - - content: | - [registries.search] - registries = ['docker.io'] + - content: | + network: + version: 2 + renderer: networkd + bridges: + ironicendpoint: + interfaces: [enp1s0] + addresses: + - {{ ds.meta_data.provisioningIP }}/{{ ds.meta_data.provisioningCIDR }} + owner: root:root + path: /etc/netplan/52-ironicendpoint.yaml + permissions: "0644" + - content: | + [registries.search] + registries = ['docker.io'] - [registries.insecure] - registries = ['192.168.111.1:5000'] - path: /etc/containers/registries.conf + [registries.insecure] + registries = ['192.168.111.1:5000'] + path: /etc/containers/registries.conf joinConfiguration: nodeRegistration: kubeletExtraArgs: @@ -134,16 +134,15 @@ spec: runtime-request-timeout: 5m name: "{{ ds.meta_data.name }}" preKubeadmCommands: - - netplan apply - - systemctl enable --now crio kubelet - - echo "172.18.255.200 cluster-sample-apiserver" >> /etc/hosts + - netplan apply + - systemctl enable --now crio kubelet + - echo "172.18.255.200 cluster-sample-apiserver" >> /etc/hosts users: - - name: metal3 - sshAuthorizedKeys: - - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC48zS2PJKInW6O8QxA1Ugvhad1qkl01XydfdTNR4deqAAiwn8KdHftQCwOTPmrK2QFEf6Pax86gSbcBmFRQwgS/1WkkAa00e+btTKD7BFDuMTXwDNiQLtFdpoWnWVj93Vb5cTIRDG3biaVup2koqODyzpshUvlT9POEQ+ri18LhC/Klk4JA4M7tW9e/gdptAKjyYPMQygrkeuwATrocEMxBrbypQzDkRfqgIXPqcENLBrtt7bDuv94/bUzHq5CLi9M+WJfItTdGNkezkonmDlf2DSMTTgx/ApRmnGsAqjIZnKYN44u8b1ax4oUAqd6lei0Ed3lAm1DQZAh4sApUEBpZdzSOZnoK51XvI36586kSwk5BnrqtpmiIWc77zebIedEc0N0PppD50gNKYKPNkYpwcIwzTU6Ds4ets8V0P96yyxMkEHxgqvFM5uNrfnYNPUTTxICsdd5NN+e1qs4XJ3RaF3bnEQOYSTtKF5gIgzXiBm8JCV0LVar4l0NVMGySAM= - ubuntu@lennart-test - sudo: ALL=(ALL) NOPASSWD:ALL - lockPassword: false - # generate with mkpasswd --method=SHA-512 --rounds=4096 - # nerdvendor - passwd: $6$rounds=4096$EhcyaSgedVn6D9Qm$WTqrBEESsX6Qe0huYzEy0i13xEfLecPGGB184HvkiFm4SNxLq3WeVE0AA4.hWQz8CXkxqb7J05I6DErQ6qvvi1 + - name: metal3 + sshAuthorizedKeys: + - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC48zS2PJKInW6O8QxA1Ugvhad1qkl01XydfdTNR4deqAAiwn8KdHftQCwOTPmrK2QFEf6Pax86gSbcBmFRQwgS/1WkkAa00e+btTKD7BFDuMTXwDNiQLtFdpoWnWVj93Vb5cTIRDG3biaVup2koqODyzpshUvlT9POEQ+ri18LhC/Klk4JA4M7tW9e/gdptAKjyYPMQygrkeuwATrocEMxBrbypQzDkRfqgIXPqcENLBrtt7bDuv94/bUzHq5CLi9M+WJfItTdGNkezkonmDlf2DSMTTgx/ApRmnGsAqjIZnKYN44u8b1ax4oUAqd6lei0Ed3lAm1DQZAh4sApUEBpZdzSOZnoK51XvI36586kSwk5BnrqtpmiIWc77zebIedEc0N0PppD50gNKYKPNkYpwcIwzTU6Ds4ets8V0P96yyxMkEHxgqvFM5uNrfnYNPUTTxICsdd5NN+e1qs4XJ3RaF3bnEQOYSTtKF5gIgzXiBm8JCV0LVar4l0NVMGySAM= ubuntu@lennart-test + sudo: ALL=(ALL) NOPASSWD:ALL + lockPassword: false + # generate with mkpasswd --method=SHA-512 --rounds=4096 + # nerdvendor + passwd: $6$rounds=4096$EhcyaSgedVn6D9Qm$WTqrBEESsX6Qe0huYzEy0i13xEfLecPGGB184HvkiFm4SNxLq3WeVE0AA4.hWQz8CXkxqb7J05I6DErQ6qvvi1 diff --git a/metal3-scaling-experiments/ansible/playbook.yaml b/metal3-scaling-experiments/ansible/playbook.yaml index 09f5e9ec..047482c8 100644 --- a/metal3-scaling-experiments/ansible/playbook.yaml +++ b/metal3-scaling-experiments/ansible/playbook.yaml @@ -1,7 +1,6 @@ ---- - hosts: all # strategy: free roles: - - backing-cluster + - backing-cluster tags: - - backing-cluster + - backing-cluster diff --git a/metal3-scaling-experiments/capkcp-deploy.yaml b/metal3-scaling-experiments/capkcp-deploy.yaml index 56e95743..c8fca59a 100644 --- a/metal3-scaling-experiments/capkcp-deploy.yaml +++ b/metal3-scaling-experiments/capkcp-deploy.yaml @@ -25,63 +25,63 @@ spec: control-plane: controller-manager spec: containers: - - args: - - --namespace=NAMESPACE - - --metrics-bind-addr=localhost:8080 - - --feature-gates=ClusterTopology=false,KubeadmBootstrapFormatIgnition=false - command: - - /manager - env: - - name: POD_NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - - name: POD_NAME - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.name - - name: POD_UID - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.uid - image: registry.k8s.io/cluster-api/kubeadm-control-plane-controller:v1.3.3 - imagePullPolicy: IfNotPresent - livenessProbe: - failureThreshold: 3 - httpGet: - path: /healthz - port: healthz - scheme: HTTP - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 1 - name: manager - ports: - - containerPort: 9443 - name: webhook-server - protocol: TCP - - containerPort: 9440 - name: healthz - protocol: TCP - readinessProbe: - failureThreshold: 3 - httpGet: - path: /readyz - port: healthz - scheme: HTTP - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 1 - resources: {} - terminationMessagePath: /dev/termination-log - terminationMessagePolicy: File - volumeMounts: - - mountPath: /tmp/k8s-webhook-server/serving-certs - name: cert - readOnly: true + - args: + - --namespace=NAMESPACE + - --metrics-bind-addr=localhost:8080 + - --feature-gates=ClusterTopology=false,KubeadmBootstrapFormatIgnition=false + command: + - /manager + env: + - name: POD_NAMESPACE + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.namespace + - name: POD_NAME + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.name + - name: POD_UID + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.uid + image: registry.k8s.io/cluster-api/kubeadm-control-plane-controller:v1.3.3 + imagePullPolicy: IfNotPresent + livenessProbe: + failureThreshold: 3 + httpGet: + path: /healthz + port: healthz + scheme: HTTP + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 1 + name: manager + ports: + - containerPort: 9443 + name: webhook-server + protocol: TCP + - containerPort: 9440 + name: healthz + protocol: TCP + readinessProbe: + failureThreshold: 3 + httpGet: + path: /readyz + port: healthz + scheme: HTTP + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 1 + resources: {} + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + volumeMounts: + - mountPath: /tmp/k8s-webhook-server/serving-certs + name: cert + readOnly: true dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler @@ -90,12 +90,12 @@ spec: serviceAccountName: capi-kubeadm-control-plane-manager terminationGracePeriodSeconds: 10 tolerations: - - effect: NoSchedule - key: node-role.kubernetes.io/master - - effect: NoSchedule - key: node-role.kubernetes.io/control-plane + - effect: NoSchedule + key: node-role.kubernetes.io/master + - effect: NoSchedule + key: node-role.kubernetes.io/control-plane volumes: - - name: cert - secret: - defaultMode: 420 - secretName: capi-kubeadm-control-plane-webhook-service-cert + - name: cert + secret: + defaultMode: 420 + secretName: capi-kubeadm-control-plane-webhook-service-cert diff --git a/metal3-scaling-experiments/cluster.yaml b/metal3-scaling-experiments/cluster.yaml index 8a055f6d..12dbf803 100644 --- a/metal3-scaling-experiments/cluster.yaml +++ b/metal3-scaling-experiments/cluster.yaml @@ -7,10 +7,10 @@ spec: clusterNetwork: pods: cidrBlocks: - - 192.168.0.0/18 + - 192.168.0.0/18 services: cidrBlocks: - - 10.96.0.0/12 + - 10.96.0.0/12 controlPlaneRef: apiVersion: controlplane.cluster.x-k8s.io/v1beta1 kind: KubeadmControlPlane @@ -55,16 +55,16 @@ spec: controlPlaneEndpoint: test-kube-apiserver.metal3.svc.cluster.local:6443 apiServer: certSANs: - - localhost - - 127.0.0.1 - - 0.0.0.0 - - test-kube-apiserver.metal3.svc.cluster.local + - localhost + - 127.0.0.1 + - 0.0.0.0 + - test-kube-apiserver.metal3.svc.cluster.local etcd: local: serverCertSANs: - - etcd-server.metal3.cluster.svc.local + - etcd-server.metal3.cluster.svc.local peerCertSANs: - - etcd-0.etcd.metal3.cluster.svc.local + - etcd-0.etcd.metal3.cluster.svc.local machineTemplate: infrastructureRef: apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 diff --git a/metal3-scaling-experiments/fake-node.yaml b/metal3-scaling-experiments/fake-node.yaml index 6be40fa9..71fd1ab0 100644 --- a/metal3-scaling-experiments/fake-node.yaml +++ b/metal3-scaling-experiments/fake-node.yaml @@ -18,13 +18,13 @@ metadata: spec: podCIDR: 10.244.0.0/24 podCIDRs: - - 10.244.0.0/24 + - 10.244.0.0/24 status: addresses: - - address: 172.20.0.2 - type: InternalIP - - address: fake-node - type: Hostname + - address: 172.20.0.2 + type: InternalIP + - address: fake-node + type: Hostname allocatable: cpu: "8" ephemeral-storage: 488876072Ki @@ -40,30 +40,30 @@ status: memory: 32599664Ki pods: "110" conditions: - - lastHeartbeatTime: "2022-12-14T06:46:55Z" - lastTransitionTime: "2022-12-13T07:34:20Z" - message: kubelet has sufficient memory available - reason: KubeletHasSufficientMemory - status: "False" - type: MemoryPressure - - lastHeartbeatTime: "2022-12-14T06:46:55Z" - lastTransitionTime: "2022-12-13T07:34:20Z" - message: kubelet has no disk pressure - reason: KubeletHasNoDiskPressure - status: "False" - type: DiskPressure - - lastHeartbeatTime: "2022-12-14T06:46:55Z" - lastTransitionTime: "2022-12-13T07:34:20Z" - message: kubelet has sufficient PID available - reason: KubeletHasSufficientPID - status: "False" - type: PIDPressure - - lastHeartbeatTime: "2022-12-14T06:46:55Z" - lastTransitionTime: "2022-12-13T07:34:45Z" - message: kubelet is posting ready status - reason: KubeletReady - status: "True" - type: Ready + - lastHeartbeatTime: "2022-12-14T06:46:55Z" + lastTransitionTime: "2022-12-13T07:34:20Z" + message: kubelet has sufficient memory available + reason: KubeletHasSufficientMemory + status: "False" + type: MemoryPressure + - lastHeartbeatTime: "2022-12-14T06:46:55Z" + lastTransitionTime: "2022-12-13T07:34:20Z" + message: kubelet has no disk pressure + reason: KubeletHasNoDiskPressure + status: "False" + type: DiskPressure + - lastHeartbeatTime: "2022-12-14T06:46:55Z" + lastTransitionTime: "2022-12-13T07:34:20Z" + message: kubelet has sufficient PID available + reason: KubeletHasSufficientPID + status: "False" + type: PIDPressure + - lastHeartbeatTime: "2022-12-14T06:46:55Z" + lastTransitionTime: "2022-12-13T07:34:45Z" + message: kubelet is posting ready status + reason: KubeletReady + status: "True" + type: Ready daemonEndpoints: kubeletEndpoint: Port: 10250 diff --git a/metal3-scaling-experiments/kind-config.yaml b/metal3-scaling-experiments/kind-config.yaml index 7ef8aa2b..0e615bd1 100644 --- a/metal3-scaling-experiments/kind-config.yaml +++ b/metal3-scaling-experiments/kind-config.yaml @@ -1,15 +1,15 @@ kind: Cluster apiVersion: kind.x-k8s.io/v1alpha4 nodes: - - role: control-plane - # extraMounts: - # - hostPath: /var/run/docker.sock - # containerPath: /var/run/docker.sock - - role: control-plane - # extraMounts: - # - hostPath: /var/run/docker.sock - # containerPath: /var/run/docker.sock - - role: control-plane - # extraMounts: - # - hostPath: /var/run/docker.sock - # containerPath: /var/run/docker.sock +- role: control-plane + # extraMounts: + # - hostPath: /var/run/docker.sock + # containerPath: /var/run/docker.sock +- role: control-plane + # extraMounts: + # - hostPath: /var/run/docker.sock + # containerPath: /var/run/docker.sock +- role: control-plane + # extraMounts: + # - hostPath: /var/run/docker.sock + # containerPath: /var/run/docker.sock diff --git a/metal3-scaling-experiments/kube-apiserver-pod-status.yaml b/metal3-scaling-experiments/kube-apiserver-pod-status.yaml index 501d9ddb..ac8c6415 100644 --- a/metal3-scaling-experiments/kube-apiserver-pod-status.yaml +++ b/metal3-scaling-experiments/kube-apiserver-pod-status.yaml @@ -1,37 +1,37 @@ status: conditions: - - lastProbeTime: null - lastTransitionTime: "2023-01-23T07:16:29Z" - status: "True" - type: Initialized - - lastProbeTime: null - lastTransitionTime: "2023-01-23T07:17:05Z" - status: "True" - type: Ready - - lastProbeTime: null - lastTransitionTime: "2023-01-23T07:17:05Z" - status: "True" - type: ContainersReady - - lastProbeTime: null - lastTransitionTime: "2023-01-23T07:16:29Z" - status: "True" - type: PodScheduled + - lastProbeTime: null + lastTransitionTime: "2023-01-23T07:16:29Z" + status: "True" + type: Initialized + - lastProbeTime: null + lastTransitionTime: "2023-01-23T07:17:05Z" + status: "True" + type: Ready + - lastProbeTime: null + lastTransitionTime: "2023-01-23T07:17:05Z" + status: "True" + type: ContainersReady + - lastProbeTime: null + lastTransitionTime: "2023-01-23T07:16:29Z" + status: "True" + type: PodScheduled containerStatuses: - - containerID: containerd://4955ca169220703b9a063821412bf7b4675a8f8da36f0e8ce6fc35b53de4060c - image: registry.k8s.io/kube-apiserver:v1.25.3 - imageID: docker.io/library/import-2022-10-25@sha256:4002c19dafb94b1995fc598fae590f70cac10135f61ca2551bd97aae37ed9c4a - lastState: {} - name: kube-apiserver - ready: true - restartCount: 0 - started: true - state: - running: - startedAt: "2023-01-23T07:16:16Z" + - containerID: containerd://4955ca169220703b9a063821412bf7b4675a8f8da36f0e8ce6fc35b53de4060c + image: registry.k8s.io/kube-apiserver:v1.25.3 + imageID: docker.io/library/import-2022-10-25@sha256:4002c19dafb94b1995fc598fae590f70cac10135f61ca2551bd97aae37ed9c4a + lastState: {} + name: kube-apiserver + ready: true + restartCount: 0 + started: true + state: + running: + startedAt: "2023-01-23T07:16:16Z" hostIP: 172.18.0.4 phase: Running podIP: 172.18.0.4 podIPs: - - ip: 172.18.0.4 + - ip: 172.18.0.4 qosClass: Burstable startTime: "2023-01-23T07:16:29Z" diff --git a/metal3-scaling-experiments/kube-apiserver-pod.yaml b/metal3-scaling-experiments/kube-apiserver-pod.yaml index 0293b538..d4d80d78 100644 --- a/metal3-scaling-experiments/kube-apiserver-pod.yaml +++ b/metal3-scaling-experiments/kube-apiserver-pod.yaml @@ -14,92 +14,92 @@ metadata: namespace: kube-system spec: containers: - - command: - - kube-apiserver - - --advertise-address=172.18.0.4 - - --allow-privileged=true - - --authorization-mode=Node,RBAC - - --client-ca-file=/etc/kubernetes/pki/ca.crt - - --enable-admission-plugins=NodeRestriction - - --enable-bootstrap-token-auth=true - - --etcd-cafile=/etc/kubernetes/pki/etcd/ca.crt - - --etcd-certfile=/etc/kubernetes/pki/apiserver-etcd-client.crt - - --etcd-keyfile=/etc/kubernetes/pki/apiserver-etcd-client.key - - --etcd-servers=https://127.0.0.1:2379 - - --kubelet-client-certificate=/etc/kubernetes/pki/apiserver-kubelet-client.crt - - --kubelet-client-key=/etc/kubernetes/pki/apiserver-kubelet-client.key - - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname - - --proxy-client-cert-file=/etc/kubernetes/pki/front-proxy-client.crt - - --proxy-client-key-file=/etc/kubernetes/pki/front-proxy-client.key - - --requestheader-allowed-names=front-proxy-client - - --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt - - --requestheader-extra-headers-prefix=X-Remote-Extra- - - --requestheader-group-headers=X-Remote-Group - - --requestheader-username-headers=X-Remote-User - - --runtime-config= - - --secure-port=6443 - - --service-account-issuer=https://kubernetes.default.svc.cluster.local - - --service-account-key-file=/etc/kubernetes/pki/sa.pub - - --service-account-signing-key-file=/etc/kubernetes/pki/sa.key - - --service-cluster-ip-range=10.96.0.0/16 - - --tls-cert-file=/etc/kubernetes/pki/apiserver.crt - - --tls-private-key-file=/etc/kubernetes/pki/apiserver.key - image: registry.k8s.io/kube-apiserver:v1.25.3 - imagePullPolicy: IfNotPresent - livenessProbe: - failureThreshold: 8 - httpGet: - host: 172.18.0.4 - path: /livez - port: 6443 - scheme: HTTPS - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 15 - name: kube-apiserver - readinessProbe: - failureThreshold: 3 - httpGet: - host: 172.18.0.4 - path: /readyz - port: 6443 - scheme: HTTPS - periodSeconds: 1 - successThreshold: 1 - timeoutSeconds: 15 - resources: - requests: - cpu: 250m - startupProbe: - failureThreshold: 24 - httpGet: - host: 172.18.0.4 - path: /livez - port: 6443 - scheme: HTTPS - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 15 - terminationMessagePath: /dev/termination-log - terminationMessagePolicy: File - volumeMounts: - - mountPath: /etc/ssl/certs - name: ca-certs - readOnly: true - - mountPath: /etc/ca-certificates - name: etc-ca-certificates - readOnly: true - - mountPath: /etc/kubernetes/pki - name: k8s-certs - readOnly: true - - mountPath: /usr/local/share/ca-certificates - name: usr-local-share-ca-certificates - readOnly: true - - mountPath: /usr/share/ca-certificates - name: usr-share-ca-certificates - readOnly: true + - command: + - kube-apiserver + - --advertise-address=172.18.0.4 + - --allow-privileged=true + - --authorization-mode=Node,RBAC + - --client-ca-file=/etc/kubernetes/pki/ca.crt + - --enable-admission-plugins=NodeRestriction + - --enable-bootstrap-token-auth=true + - --etcd-cafile=/etc/kubernetes/pki/etcd/ca.crt + - --etcd-certfile=/etc/kubernetes/pki/apiserver-etcd-client.crt + - --etcd-keyfile=/etc/kubernetes/pki/apiserver-etcd-client.key + - --etcd-servers=https://127.0.0.1:2379 + - --kubelet-client-certificate=/etc/kubernetes/pki/apiserver-kubelet-client.crt + - --kubelet-client-key=/etc/kubernetes/pki/apiserver-kubelet-client.key + - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname + - --proxy-client-cert-file=/etc/kubernetes/pki/front-proxy-client.crt + - --proxy-client-key-file=/etc/kubernetes/pki/front-proxy-client.key + - --requestheader-allowed-names=front-proxy-client + - --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt + - --requestheader-extra-headers-prefix=X-Remote-Extra- + - --requestheader-group-headers=X-Remote-Group + - --requestheader-username-headers=X-Remote-User + - --runtime-config= + - --secure-port=6443 + - --service-account-issuer=https://kubernetes.default.svc.cluster.local + - --service-account-key-file=/etc/kubernetes/pki/sa.pub + - --service-account-signing-key-file=/etc/kubernetes/pki/sa.key + - --service-cluster-ip-range=10.96.0.0/16 + - --tls-cert-file=/etc/kubernetes/pki/apiserver.crt + - --tls-private-key-file=/etc/kubernetes/pki/apiserver.key + image: registry.k8s.io/kube-apiserver:v1.25.3 + imagePullPolicy: IfNotPresent + livenessProbe: + failureThreshold: 8 + httpGet: + host: 172.18.0.4 + path: /livez + port: 6443 + scheme: HTTPS + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 15 + name: kube-apiserver + readinessProbe: + failureThreshold: 3 + httpGet: + host: 172.18.0.4 + path: /readyz + port: 6443 + scheme: HTTPS + periodSeconds: 1 + successThreshold: 1 + timeoutSeconds: 15 + resources: + requests: + cpu: 250m + startupProbe: + failureThreshold: 24 + httpGet: + host: 172.18.0.4 + path: /livez + port: 6443 + scheme: HTTPS + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 15 + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + volumeMounts: + - mountPath: /etc/ssl/certs + name: ca-certs + readOnly: true + - mountPath: /etc/ca-certificates + name: etc-ca-certificates + readOnly: true + - mountPath: /etc/kubernetes/pki + name: k8s-certs + readOnly: true + - mountPath: /usr/local/share/ca-certificates + name: usr-local-share-ca-certificates + readOnly: true + - mountPath: /usr/share/ca-certificates + name: usr-share-ca-certificates + readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true hostNetwork: true @@ -114,26 +114,26 @@ spec: type: RuntimeDefault terminationGracePeriodSeconds: 30 tolerations: - - effect: NoExecute - operator: Exists + - effect: NoExecute + operator: Exists volumes: - - hostPath: - path: /etc/ssl/certs - type: DirectoryOrCreate - name: ca-certs - - hostPath: - path: /etc/ca-certificates - type: DirectoryOrCreate - name: etc-ca-certificates - - hostPath: - path: /etc/kubernetes/pki - type: DirectoryOrCreate - name: k8s-certs - - hostPath: - path: /usr/local/share/ca-certificates - type: DirectoryOrCreate - name: usr-local-share-ca-certificates - - hostPath: - path: /usr/share/ca-certificates - type: DirectoryOrCreate - name: usr-share-ca-certificates + - hostPath: + path: /etc/ssl/certs + type: DirectoryOrCreate + name: ca-certs + - hostPath: + path: /etc/ca-certificates + type: DirectoryOrCreate + name: etc-ca-certificates + - hostPath: + path: /etc/kubernetes/pki + type: DirectoryOrCreate + name: k8s-certs + - hostPath: + path: /usr/local/share/ca-certificates + type: DirectoryOrCreate + name: usr-local-share-ca-certificates + - hostPath: + path: /usr/share/ca-certificates + type: DirectoryOrCreate + name: usr-share-ca-certificates diff --git a/metal3-scaling-experiments/kube-controller-manager-pod-status.yaml b/metal3-scaling-experiments/kube-controller-manager-pod-status.yaml index 68b968a3..df465fbb 100644 --- a/metal3-scaling-experiments/kube-controller-manager-pod-status.yaml +++ b/metal3-scaling-experiments/kube-controller-manager-pod-status.yaml @@ -1,43 +1,43 @@ status: conditions: - - lastProbeTime: null - lastTransitionTime: "2023-01-23T07:16:29Z" - status: "True" - type: Initialized - - lastProbeTime: null - lastTransitionTime: "2023-01-23T07:17:17Z" - status: "True" - type: Ready - - lastProbeTime: null - lastTransitionTime: "2023-01-23T07:17:17Z" - status: "True" - type: ContainersReady - - lastProbeTime: null - lastTransitionTime: "2023-01-23T07:16:29Z" - status: "True" - type: PodScheduled + - lastProbeTime: null + lastTransitionTime: "2023-01-23T07:16:29Z" + status: "True" + type: Initialized + - lastProbeTime: null + lastTransitionTime: "2023-01-23T07:17:17Z" + status: "True" + type: Ready + - lastProbeTime: null + lastTransitionTime: "2023-01-23T07:17:17Z" + status: "True" + type: ContainersReady + - lastProbeTime: null + lastTransitionTime: "2023-01-23T07:16:29Z" + status: "True" + type: PodScheduled containerStatuses: - - containerID: containerd://eba6b5c17aeb304fe5bf1129efba96e7341ef8f9f5cc2d50112e89b83f72c033 - image: registry.k8s.io/kube-controller-manager:v1.25.3 - imageID: docker.io/library/import-2022-10-25@sha256:1c35781a4b6011d5c27bedbba7ca130db72c4aaf74d108c60bc77ae49130e5e4 - lastState: - terminated: - containerID: containerd://2447fca50a57e33507330f44b6dfdb3044e9c3b743b785887b59ea698e32094a - exitCode: 1 - finishedAt: "2023-01-23T07:16:56Z" - reason: Error - startedAt: "2023-01-23T07:16:16Z" - name: kube-controller-manager - ready: true - restartCount: 1 - started: true - state: - running: - startedAt: "2023-01-23T07:16:59Z" + - containerID: containerd://eba6b5c17aeb304fe5bf1129efba96e7341ef8f9f5cc2d50112e89b83f72c033 + image: registry.k8s.io/kube-controller-manager:v1.25.3 + imageID: docker.io/library/import-2022-10-25@sha256:1c35781a4b6011d5c27bedbba7ca130db72c4aaf74d108c60bc77ae49130e5e4 + lastState: + terminated: + containerID: containerd://2447fca50a57e33507330f44b6dfdb3044e9c3b743b785887b59ea698e32094a + exitCode: 1 + finishedAt: "2023-01-23T07:16:56Z" + reason: Error + startedAt: "2023-01-23T07:16:16Z" + name: kube-controller-manager + ready: true + restartCount: 1 + started: true + state: + running: + startedAt: "2023-01-23T07:16:59Z" hostIP: 172.18.0.4 phase: Running podIP: 172.18.0.4 podIPs: - - ip: 172.18.0.4 + - ip: 172.18.0.4 qosClass: Burstable startTime: "2023-01-23T07:16:29Z" diff --git a/metal3-scaling-experiments/kube-controller-manager-pod.yaml b/metal3-scaling-experiments/kube-controller-manager-pod.yaml index 8445b365..2675fd5e 100644 --- a/metal3-scaling-experiments/kube-controller-manager-pod.yaml +++ b/metal3-scaling-experiments/kube-controller-manager-pod.yaml @@ -13,77 +13,77 @@ metadata: namespace: kube-system spec: containers: - - command: - - kube-controller-manager - - --allocate-node-cidrs=true - - --authentication-kubeconfig=/etc/kubernetes/controller-manager.conf - - --authorization-kubeconfig=/etc/kubernetes/controller-manager.conf - - --bind-address=127.0.0.1 - - --client-ca-file=/etc/kubernetes/pki/ca.crt - - --cluster-cidr=10.244.0.0/16 - - --cluster-name=kind - - --cluster-signing-cert-file=/etc/kubernetes/pki/ca.crt - - --cluster-signing-key-file=/etc/kubernetes/pki/ca.key - - --controllers=*,bootstrapsigner,tokencleaner - - --enable-hostpath-provisioner=true - - --kubeconfig=/etc/kubernetes/controller-manager.conf - - --leader-elect=true - - --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt - - --root-ca-file=/etc/kubernetes/pki/ca.crt - - --service-account-private-key-file=/etc/kubernetes/pki/sa.key - - --service-cluster-ip-range=10.96.0.0/16 - - --use-service-account-credentials=true - image: registry.k8s.io/kube-controller-manager:v1.25.3 - imagePullPolicy: IfNotPresent - livenessProbe: - failureThreshold: 8 - httpGet: - host: 127.0.0.1 - path: /healthz - port: 10257 - scheme: HTTPS - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 15 - name: kube-controller-manager - resources: - requests: - cpu: 200m - startupProbe: - failureThreshold: 24 - httpGet: - host: 127.0.0.1 - path: /healthz - port: 10257 - scheme: HTTPS - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 15 - terminationMessagePath: /dev/termination-log - terminationMessagePolicy: File - volumeMounts: - - mountPath: /etc/ssl/certs - name: ca-certs - readOnly: true - - mountPath: /etc/ca-certificates - name: etc-ca-certificates - readOnly: true - - mountPath: /usr/libexec/kubernetes/kubelet-plugins/volume/exec - name: flexvolume-dir - - mountPath: /etc/kubernetes/pki - name: k8s-certs - readOnly: true - - mountPath: /etc/kubernetes/controller-manager.conf - name: kubeconfig - readOnly: true - - mountPath: /usr/local/share/ca-certificates - name: usr-local-share-ca-certificates - readOnly: true - - mountPath: /usr/share/ca-certificates - name: usr-share-ca-certificates - readOnly: true + - command: + - kube-controller-manager + - --allocate-node-cidrs=true + - --authentication-kubeconfig=/etc/kubernetes/controller-manager.conf + - --authorization-kubeconfig=/etc/kubernetes/controller-manager.conf + - --bind-address=127.0.0.1 + - --client-ca-file=/etc/kubernetes/pki/ca.crt + - --cluster-cidr=10.244.0.0/16 + - --cluster-name=kind + - --cluster-signing-cert-file=/etc/kubernetes/pki/ca.crt + - --cluster-signing-key-file=/etc/kubernetes/pki/ca.key + - --controllers=*,bootstrapsigner,tokencleaner + - --enable-hostpath-provisioner=true + - --kubeconfig=/etc/kubernetes/controller-manager.conf + - --leader-elect=true + - --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt + - --root-ca-file=/etc/kubernetes/pki/ca.crt + - --service-account-private-key-file=/etc/kubernetes/pki/sa.key + - --service-cluster-ip-range=10.96.0.0/16 + - --use-service-account-credentials=true + image: registry.k8s.io/kube-controller-manager:v1.25.3 + imagePullPolicy: IfNotPresent + livenessProbe: + failureThreshold: 8 + httpGet: + host: 127.0.0.1 + path: /healthz + port: 10257 + scheme: HTTPS + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 15 + name: kube-controller-manager + resources: + requests: + cpu: 200m + startupProbe: + failureThreshold: 24 + httpGet: + host: 127.0.0.1 + path: /healthz + port: 10257 + scheme: HTTPS + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 15 + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + volumeMounts: + - mountPath: /etc/ssl/certs + name: ca-certs + readOnly: true + - mountPath: /etc/ca-certificates + name: etc-ca-certificates + readOnly: true + - mountPath: /usr/libexec/kubernetes/kubelet-plugins/volume/exec + name: flexvolume-dir + - mountPath: /etc/kubernetes/pki + name: k8s-certs + readOnly: true + - mountPath: /etc/kubernetes/controller-manager.conf + name: kubeconfig + readOnly: true + - mountPath: /usr/local/share/ca-certificates + name: usr-local-share-ca-certificates + readOnly: true + - mountPath: /usr/share/ca-certificates + name: usr-share-ca-certificates + readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true hostNetwork: true @@ -98,34 +98,34 @@ spec: type: RuntimeDefault terminationGracePeriodSeconds: 30 tolerations: - - effect: NoExecute - operator: Exists + - effect: NoExecute + operator: Exists volumes: - - hostPath: - path: /etc/ssl/certs - type: DirectoryOrCreate - name: ca-certs - - hostPath: - path: /etc/ca-certificates - type: DirectoryOrCreate - name: etc-ca-certificates - - hostPath: - path: /usr/libexec/kubernetes/kubelet-plugins/volume/exec - type: DirectoryOrCreate - name: flexvolume-dir - - hostPath: - path: /etc/kubernetes/pki - type: DirectoryOrCreate - name: k8s-certs - - hostPath: - path: /etc/kubernetes/controller-manager.conf - type: FileOrCreate - name: kubeconfig - - hostPath: - path: /usr/local/share/ca-certificates - type: DirectoryOrCreate - name: usr-local-share-ca-certificates - - hostPath: - path: /usr/share/ca-certificates - type: DirectoryOrCreate - name: usr-share-ca-certificates + - hostPath: + path: /etc/ssl/certs + type: DirectoryOrCreate + name: ca-certs + - hostPath: + path: /etc/ca-certificates + type: DirectoryOrCreate + name: etc-ca-certificates + - hostPath: + path: /usr/libexec/kubernetes/kubelet-plugins/volume/exec + type: DirectoryOrCreate + name: flexvolume-dir + - hostPath: + path: /etc/kubernetes/pki + type: DirectoryOrCreate + name: k8s-certs + - hostPath: + path: /etc/kubernetes/controller-manager.conf + type: FileOrCreate + name: kubeconfig + - hostPath: + path: /usr/local/share/ca-certificates + type: DirectoryOrCreate + name: usr-local-share-ca-certificates + - hostPath: + path: /usr/share/ca-certificates + type: DirectoryOrCreate + name: usr-share-ca-certificates diff --git a/metal3-scaling-experiments/kube-scheduler-pod-status.yaml b/metal3-scaling-experiments/kube-scheduler-pod-status.yaml index 091bd143..88c36ab9 100644 --- a/metal3-scaling-experiments/kube-scheduler-pod-status.yaml +++ b/metal3-scaling-experiments/kube-scheduler-pod-status.yaml @@ -1,43 +1,43 @@ status: conditions: - - lastProbeTime: null - lastTransitionTime: "2023-01-23T07:16:29Z" - status: "True" - type: Initialized - - lastProbeTime: null - lastTransitionTime: "2023-01-23T07:17:12Z" - status: "True" - type: Ready - - lastProbeTime: null - lastTransitionTime: "2023-01-23T07:17:12Z" - status: "True" - type: ContainersReady - - lastProbeTime: null - lastTransitionTime: "2023-01-23T07:16:29Z" - status: "True" - type: PodScheduled + - lastProbeTime: null + lastTransitionTime: "2023-01-23T07:16:29Z" + status: "True" + type: Initialized + - lastProbeTime: null + lastTransitionTime: "2023-01-23T07:17:12Z" + status: "True" + type: Ready + - lastProbeTime: null + lastTransitionTime: "2023-01-23T07:17:12Z" + status: "True" + type: ContainersReady + - lastProbeTime: null + lastTransitionTime: "2023-01-23T07:16:29Z" + status: "True" + type: PodScheduled containerStatuses: - - containerID: containerd://88b6b6253e67c76792febb961b081898e3741e23d699a26d52226a074263d54f - image: registry.k8s.io/kube-scheduler:v1.25.3 - imageID: docker.io/library/import-2022-10-25@sha256:409b0e81d9aecf59df96df445a3171f43e2ae834ef6c9e77b1492c4d19bfd78d - lastState: - terminated: - containerID: containerd://16e3c912b3c689fd04bc7351d88da0de31ebf426996771ddefd8ce57e6e04e96 - exitCode: 1 - finishedAt: "2023-01-23T07:16:56Z" - reason: Error - startedAt: "2023-01-23T07:16:16Z" - name: kube-scheduler - ready: true - restartCount: 1 - started: true - state: - running: - startedAt: "2023-01-23T07:16:58Z" + - containerID: containerd://88b6b6253e67c76792febb961b081898e3741e23d699a26d52226a074263d54f + image: registry.k8s.io/kube-scheduler:v1.25.3 + imageID: docker.io/library/import-2022-10-25@sha256:409b0e81d9aecf59df96df445a3171f43e2ae834ef6c9e77b1492c4d19bfd78d + lastState: + terminated: + containerID: containerd://16e3c912b3c689fd04bc7351d88da0de31ebf426996771ddefd8ce57e6e04e96 + exitCode: 1 + finishedAt: "2023-01-23T07:16:56Z" + reason: Error + startedAt: "2023-01-23T07:16:16Z" + name: kube-scheduler + ready: true + restartCount: 1 + started: true + state: + running: + startedAt: "2023-01-23T07:16:58Z" hostIP: 172.18.0.4 phase: Running podIP: 172.18.0.4 podIPs: - - ip: 172.18.0.4 + - ip: 172.18.0.4 qosClass: Burstable startTime: "2023-01-23T07:16:29Z" diff --git a/metal3-scaling-experiments/kube-scheduler-pod.yaml b/metal3-scaling-experiments/kube-scheduler-pod.yaml index 56d1664a..0fea3b60 100644 --- a/metal3-scaling-experiments/kube-scheduler-pod.yaml +++ b/metal3-scaling-experiments/kube-scheduler-pod.yaml @@ -13,47 +13,47 @@ metadata: namespace: kube-system spec: containers: - - command: - - kube-scheduler - - --authentication-kubeconfig=/etc/kubernetes/scheduler.conf - - --authorization-kubeconfig=/etc/kubernetes/scheduler.conf - - --bind-address=127.0.0.1 - - --kubeconfig=/etc/kubernetes/scheduler.conf - - --leader-elect=true - image: registry.k8s.io/kube-scheduler:v1.25.3 - imagePullPolicy: IfNotPresent - livenessProbe: - failureThreshold: 8 - httpGet: - host: 127.0.0.1 - path: /healthz - port: 10259 - scheme: HTTPS - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 15 - name: kube-scheduler - resources: - requests: - cpu: 100m - startupProbe: - failureThreshold: 24 - httpGet: - host: 127.0.0.1 - path: /healthz - port: 10259 - scheme: HTTPS - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 15 - terminationMessagePath: /dev/termination-log - terminationMessagePolicy: File - volumeMounts: - - mountPath: /etc/kubernetes/scheduler.conf - name: kubeconfig - readOnly: true + - command: + - kube-scheduler + - --authentication-kubeconfig=/etc/kubernetes/scheduler.conf + - --authorization-kubeconfig=/etc/kubernetes/scheduler.conf + - --bind-address=127.0.0.1 + - --kubeconfig=/etc/kubernetes/scheduler.conf + - --leader-elect=true + image: registry.k8s.io/kube-scheduler:v1.25.3 + imagePullPolicy: IfNotPresent + livenessProbe: + failureThreshold: 8 + httpGet: + host: 127.0.0.1 + path: /healthz + port: 10259 + scheme: HTTPS + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 15 + name: kube-scheduler + resources: + requests: + cpu: 100m + startupProbe: + failureThreshold: 24 + httpGet: + host: 127.0.0.1 + path: /healthz + port: 10259 + scheme: HTTPS + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 15 + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + volumeMounts: + - mountPath: /etc/kubernetes/scheduler.conf + name: kubeconfig + readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true hostNetwork: true @@ -68,10 +68,10 @@ spec: type: RuntimeDefault terminationGracePeriodSeconds: 30 tolerations: - - effect: NoExecute - operator: Exists + - effect: NoExecute + operator: Exists volumes: - - hostPath: - path: /etc/kubernetes/scheduler.conf - type: FileOrCreate - name: kubeconfig + - hostPath: + path: /etc/kubernetes/scheduler.conf + type: FileOrCreate + name: kubeconfig diff --git a/metal3-scaling-experiments/manifests/v1/etcd.yaml b/metal3-scaling-experiments/manifests/v1/etcd.yaml index 38b00846..bba3cd09 100644 --- a/metal3-scaling-experiments/manifests/v1/etcd.yaml +++ b/metal3-scaling-experiments/manifests/v1/etcd.yaml @@ -6,8 +6,8 @@ metadata: app: etcd spec: ports: - - port: 2379 - name: client + - port: 2379 + name: client selector: app: etcd --- @@ -19,10 +19,10 @@ metadata: app: etcd spec: ports: - - port: 2379 - name: client - - port: 2380 - name: peer + - port: 2379 + name: client + - port: 2380 + name: peer clusterIP: None selector: app: etcd @@ -47,74 +47,74 @@ spec: name: etcd spec: containers: - - command: - - etcd - - --data-dir=/var/run/etcd - - --name=$(POD_NAME) - - --initial-cluster-state=new - - --initial-cluster=etcd-0=https://etcd-0.etcd.$(POD_NAMESPACE).svc.cluster.local:2380 - - --initial-advertise-peer-urls=https://$(POD_NAME).etcd.$(POD_NAMESPACE).svc.cluster.local:2380 - - --initial-cluster-token=etcd-cluster - - --listen-client-urls=https://0.0.0.0:2379 - - --advertise-client-urls=https://etcd-0.etcd.$(POD_NAMESPACE).svc.cluster.local:2379,https://etcd-server.$(POD_NAMESPACE).svc.cluster.local:2379 - - --client-cert-auth=true - - --trusted-ca-file=/etc/kubernetes/pki/ca/tls.crt - - --cert-file=/etc/kubernetes/pki/etcd/tls.crt - - --key-file=/etc/kubernetes/pki/etcd/tls.key - - --listen-peer-urls=https://0.0.0.0:2380 - - --peer-client-cert-auth=true - - --peer-trusted-ca-file=/etc/kubernetes/pki/ca/tls.crt - - --peer-cert-file=/etc/kubernetes/pki/etcd-peer/tls.crt - - --peer-key-file=/etc/kubernetes/pki/etcd-peer/tls.key - - --snapshot-count=8000 - - --auto-compaction-mode=periodic - - --auto-compaction-retention=5m - - --quota-backend-bytes=8589934592 - env: - - name: POD_NAME - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.name - - name: POD_NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - image: registry.k8s.io/etcd:3.5.4-0 - imagePullPolicy: IfNotPresent - name: etcd - ports: - - containerPort: 2379 - name: client - protocol: TCP - - containerPort: 2380 - name: peer - protocol: TCP - resources: {} - terminationMessagePath: /dev/termination-log - terminationMessagePolicy: File - volumeMounts: - # - mountPath: /var/run/etcd - # name: data - - mountPath: /etc/kubernetes/pki/etcd - name: etcd-certs - readOnly: true - - mountPath: /etc/kubernetes/pki/ca/tls.crt - name: ca - subPath: tls.crt - readOnly: true - - mountPath: /etc/kubernetes/pki/etcd-peer - name: etcd-peer - readOnly: true + - command: + - etcd + - --data-dir=/var/run/etcd + - --name=$(POD_NAME) + - --initial-cluster-state=new + - --initial-cluster=etcd-0=https://etcd-0.etcd.$(POD_NAMESPACE).svc.cluster.local:2380 + - --initial-advertise-peer-urls=https://$(POD_NAME).etcd.$(POD_NAMESPACE).svc.cluster.local:2380 + - --initial-cluster-token=etcd-cluster + - --listen-client-urls=https://0.0.0.0:2379 + - --advertise-client-urls=https://etcd-0.etcd.$(POD_NAMESPACE).svc.cluster.local:2379,https://etcd-server.$(POD_NAMESPACE).svc.cluster.local:2379 + - --client-cert-auth=true + - --trusted-ca-file=/etc/kubernetes/pki/ca/tls.crt + - --cert-file=/etc/kubernetes/pki/etcd/tls.crt + - --key-file=/etc/kubernetes/pki/etcd/tls.key + - --listen-peer-urls=https://0.0.0.0:2380 + - --peer-client-cert-auth=true + - --peer-trusted-ca-file=/etc/kubernetes/pki/ca/tls.crt + - --peer-cert-file=/etc/kubernetes/pki/etcd-peer/tls.crt + - --peer-key-file=/etc/kubernetes/pki/etcd-peer/tls.key + - --snapshot-count=8000 + - --auto-compaction-mode=periodic + - --auto-compaction-retention=5m + - --quota-backend-bytes=8589934592 + env: + - name: POD_NAME + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.name + - name: POD_NAMESPACE + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.namespace + image: registry.k8s.io/etcd:3.5.4-0 + imagePullPolicy: IfNotPresent + name: etcd + ports: + - containerPort: 2379 + name: client + protocol: TCP + - containerPort: 2380 + name: peer + protocol: TCP + resources: {} + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + volumeMounts: + # - mountPath: /var/run/etcd + # name: data + - mountPath: /etc/kubernetes/pki/etcd + name: etcd-certs + readOnly: true + - mountPath: /etc/kubernetes/pki/ca/tls.crt + name: ca + subPath: tls.crt + readOnly: true + - mountPath: /etc/kubernetes/pki/etcd-peer + name: etcd-peer + readOnly: true terminationGracePeriodSeconds: 30 volumes: - - name: etcd-certs - secret: - secretName: etcd-server - - name: ca - secret: - secretName: test-etcd - - name: etcd-peer - secret: - secretName: etcd-peer + - name: etcd-certs + secret: + secretName: etcd-server + - name: ca + secret: + secretName: test-etcd + - name: etcd-peer + secret: + secretName: etcd-peer diff --git a/metal3-scaling-experiments/manifests/v1/kube-apiserver-deployment.yaml b/metal3-scaling-experiments/manifests/v1/kube-apiserver-deployment.yaml index 175e8d54..0071ced9 100644 --- a/metal3-scaling-experiments/manifests/v1/kube-apiserver-deployment.yaml +++ b/metal3-scaling-experiments/manifests/v1/kube-apiserver-deployment.yaml @@ -6,8 +6,8 @@ metadata: app: test-kube-apiserver spec: ports: - - port: 6443 - name: https + - port: 6443 + name: https selector: app: test-kube-apiserver --- @@ -29,62 +29,62 @@ spec: app: test-kube-apiserver spec: containers: - - image: registry.k8s.io/kube-apiserver:v1.25.3 - name: kube-apiserver - ports: - - containerPort: 6443 - name: https - protocol: TCP - command: - - kube-apiserver - - --allow-privileged=true - - --authorization-mode=Node,RBAC - - --client-ca-file=/etc/kubernetes/pki/ca/tls.crt - - --enable-admission-plugins=NodeRestriction - - --enable-bootstrap-token-auth=true - - --etcd-cafile=/etc/kubernetes/pki/etcd-ca/tls.crt - - --etcd-certfile=/etc/kubernetes/pki/etcd/tls.crt - - --etcd-keyfile=/etc/kubernetes/pki/etcd/tls.key - - --etcd-servers=https://etcd-server.metal3.svc.cluster.local:2379 - - --runtime-config= - - --service-account-issuer=https://kubernetes.default.svc.cluster.local - - --service-account-key-file=/etc/kubernetes/pki/sa/tls.crt - - --service-account-signing-key-file=/etc/kubernetes/pki/sa/tls.key - - --service-cluster-ip-range=10.96.0.0/16 - - --tls-cert-file=/etc/kubernetes/pki/k8s/tls.crt - - --tls-private-key-file=/etc/kubernetes/pki/k8s/tls.key - resources: {} - volumeMounts: - - mountPath: /etc/kubernetes/pki/etcd-ca - name: etcd-certs - readOnly: true - - mountPath: /etc/kubernetes/pki/etcd - name: etcd-client - readOnly: true - - mountPath: /etc/kubernetes/pki/ca/tls.crt - name: ca - subPath: tls.crt - readOnly: true - - mountPath: /etc/kubernetes/pki/sa - name: sa-certs - readOnly: true - - mountPath: /etc/kubernetes/pki/k8s - name: k8s-certs - readOnly: true + - image: registry.k8s.io/kube-apiserver:v1.25.3 + name: kube-apiserver + ports: + - containerPort: 6443 + name: https + protocol: TCP + command: + - kube-apiserver + - --allow-privileged=true + - --authorization-mode=Node,RBAC + - --client-ca-file=/etc/kubernetes/pki/ca/tls.crt + - --enable-admission-plugins=NodeRestriction + - --enable-bootstrap-token-auth=true + - --etcd-cafile=/etc/kubernetes/pki/etcd-ca/tls.crt + - --etcd-certfile=/etc/kubernetes/pki/etcd/tls.crt + - --etcd-keyfile=/etc/kubernetes/pki/etcd/tls.key + - --etcd-servers=https://etcd-server.metal3.svc.cluster.local:2379 + - --runtime-config= + - --service-account-issuer=https://kubernetes.default.svc.cluster.local + - --service-account-key-file=/etc/kubernetes/pki/sa/tls.crt + - --service-account-signing-key-file=/etc/kubernetes/pki/sa/tls.key + - --service-cluster-ip-range=10.96.0.0/16 + - --tls-cert-file=/etc/kubernetes/pki/k8s/tls.crt + - --tls-private-key-file=/etc/kubernetes/pki/k8s/tls.key + resources: {} + volumeMounts: + - mountPath: /etc/kubernetes/pki/etcd-ca + name: etcd-certs + readOnly: true + - mountPath: /etc/kubernetes/pki/etcd + name: etcd-client + readOnly: true + - mountPath: /etc/kubernetes/pki/ca/tls.crt + name: ca + subPath: tls.crt + readOnly: true + - mountPath: /etc/kubernetes/pki/sa + name: sa-certs + readOnly: true + - mountPath: /etc/kubernetes/pki/k8s + name: k8s-certs + readOnly: true volumes: - - name: etcd-certs - secret: - secretName: test-etcd - - name: etcd-client - secret: - secretName: apiserver-etcd-client - - name: ca - secret: - secretName: test-ca - - name: sa-certs - secret: - secretName: test-sa - - name: k8s-certs - secret: - secretName: apiserver + - name: etcd-certs + secret: + secretName: test-etcd + - name: etcd-client + secret: + secretName: apiserver-etcd-client + - name: ca + secret: + secretName: test-ca + - name: sa-certs + secret: + secretName: test-sa + - name: k8s-certs + secret: + secretName: apiserver status: {} diff --git a/metal3-scaling-experiments/manifests/v1/kubeadm-config.yaml b/metal3-scaling-experiments/manifests/v1/kubeadm-config.yaml index a5313c5b..56de6eff 100644 --- a/metal3-scaling-experiments/manifests/v1/kubeadm-config.yaml +++ b/metal3-scaling-experiments/manifests/v1/kubeadm-config.yaml @@ -2,18 +2,18 @@ apiVersion: kubeadm.k8s.io/v1beta3 kind: ClusterConfiguration apiServer: certSANs: - - localhost - - 127.0.0.1 - - 0.0.0.0 - - test-kube-apiserver.metal3.svc.cluster.local + - localhost + - 127.0.0.1 + - 0.0.0.0 + - test-kube-apiserver.metal3.svc.cluster.local clusterName: test controlPlaneEndpoint: test-kube-apiserver.metal3.svc.cluster.local:6443 etcd: local: # https://kubernetes.io/docs/reference/config-api/kubeadm-config.v1beta3/#kubeadm-k8s-io-v1beta3-LocalEtcd serverCertSANs: - - etcd-server.metal3.svc.cluster.local + - etcd-server.metal3.svc.cluster.local peerCertSANs: - - etcd-0.etcd.metal3.svc.cluster.local + - etcd-0.etcd.metal3.svc.cluster.local kubernetesVersion: v1.25.3 certificatesDir: /tmp/pki diff --git a/metal3-scaling-experiments/manifests/v2/etcd.yaml b/metal3-scaling-experiments/manifests/v2/etcd.yaml index 5449036c..69d96e68 100644 --- a/metal3-scaling-experiments/manifests/v2/etcd.yaml +++ b/metal3-scaling-experiments/manifests/v2/etcd.yaml @@ -6,8 +6,8 @@ metadata: app: etcd spec: ports: - - port: 2379 - name: client + - port: 2379 + name: client selector: app: etcd --- @@ -19,10 +19,10 @@ metadata: app: etcd spec: ports: - - port: 2379 - name: client - - port: 2380 - name: peer + - port: 2379 + name: client + - port: 2380 + name: peer clusterIP: None selector: app: etcd @@ -47,74 +47,74 @@ spec: name: etcd spec: containers: - - command: - - etcd - - --data-dir=/var/run/etcd - - --name=$(POD_NAME) - - --initial-cluster-state=new - - --initial-cluster=etcd-0=https://etcd-0.etcd.$(POD_NAMESPACE).svc.cluster.local:2380 - - --initial-advertise-peer-urls=https://$(POD_NAME).etcd.$(POD_NAMESPACE).svc.cluster.local:2380 - - --initial-cluster-token=etcd-cluster - - --listen-client-urls=https://0.0.0.0:2379 - - --advertise-client-urls=https://etcd-0.etcd.$(POD_NAMESPACE).svc.cluster.local:2379,https://etcd-server.$(POD_NAMESPACE).svc.cluster.local:2379 - - --client-cert-auth=true - - --trusted-ca-file=/etc/kubernetes/pki/ca/tls.crt - - --cert-file=/etc/kubernetes/pki/etcd/tls.crt - - --key-file=/etc/kubernetes/pki/etcd/tls.key - - --listen-peer-urls=https://0.0.0.0:2380 - - --peer-client-cert-auth=true - - --peer-trusted-ca-file=/etc/kubernetes/pki/ca/tls.crt - - --peer-cert-file=/etc/kubernetes/pki/etcd-peer/tls.crt - - --peer-key-file=/etc/kubernetes/pki/etcd-peer/tls.key - - --snapshot-count=8000 - - --auto-compaction-mode=periodic - - --auto-compaction-retention=5m - - --quota-backend-bytes=8589934592 - env: - - name: POD_NAME - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.name - - name: POD_NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - image: registry.k8s.io/etcd:3.5.4-0 - imagePullPolicy: IfNotPresent - name: etcd - ports: - - containerPort: 2379 - name: client - protocol: TCP - - containerPort: 2380 - name: peer - protocol: TCP - resources: {} - terminationMessagePath: /dev/termination-log - terminationMessagePolicy: File - volumeMounts: - # - mountPath: /var/run/etcd - # name: data - - mountPath: /etc/kubernetes/pki/etcd - name: etcd-certs - readOnly: true - - mountPath: /etc/kubernetes/pki/ca/tls.crt - name: ca - subPath: tls.crt - readOnly: true - - mountPath: /etc/kubernetes/pki/etcd-peer - name: etcd-peer - readOnly: true + - command: + - etcd + - --data-dir=/var/run/etcd + - --name=$(POD_NAME) + - --initial-cluster-state=new + - --initial-cluster=etcd-0=https://etcd-0.etcd.$(POD_NAMESPACE).svc.cluster.local:2380 + - --initial-advertise-peer-urls=https://$(POD_NAME).etcd.$(POD_NAMESPACE).svc.cluster.local:2380 + - --initial-cluster-token=etcd-cluster + - --listen-client-urls=https://0.0.0.0:2379 + - --advertise-client-urls=https://etcd-0.etcd.$(POD_NAMESPACE).svc.cluster.local:2379,https://etcd-server.$(POD_NAMESPACE).svc.cluster.local:2379 + - --client-cert-auth=true + - --trusted-ca-file=/etc/kubernetes/pki/ca/tls.crt + - --cert-file=/etc/kubernetes/pki/etcd/tls.crt + - --key-file=/etc/kubernetes/pki/etcd/tls.key + - --listen-peer-urls=https://0.0.0.0:2380 + - --peer-client-cert-auth=true + - --peer-trusted-ca-file=/etc/kubernetes/pki/ca/tls.crt + - --peer-cert-file=/etc/kubernetes/pki/etcd-peer/tls.crt + - --peer-key-file=/etc/kubernetes/pki/etcd-peer/tls.key + - --snapshot-count=8000 + - --auto-compaction-mode=periodic + - --auto-compaction-retention=5m + - --quota-backend-bytes=8589934592 + env: + - name: POD_NAME + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.name + - name: POD_NAMESPACE + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.namespace + image: registry.k8s.io/etcd:3.5.4-0 + imagePullPolicy: IfNotPresent + name: etcd + ports: + - containerPort: 2379 + name: client + protocol: TCP + - containerPort: 2380 + name: peer + protocol: TCP + resources: {} + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + volumeMounts: + # - mountPath: /var/run/etcd + # name: data + - mountPath: /etc/kubernetes/pki/etcd + name: etcd-certs + readOnly: true + - mountPath: /etc/kubernetes/pki/ca/tls.crt + name: ca + subPath: tls.crt + readOnly: true + - mountPath: /etc/kubernetes/pki/etcd-peer + name: etcd-peer + readOnly: true terminationGracePeriodSeconds: 30 volumes: - - name: etcd-certs - secret: - secretName: etcd-server - - name: ca - secret: - secretName: CLUSTER-etcd - - name: etcd-peer - secret: - secretName: etcd-peer + - name: etcd-certs + secret: + secretName: etcd-server + - name: ca + secret: + secretName: CLUSTER-etcd + - name: etcd-peer + secret: + secretName: etcd-peer diff --git a/metal3-scaling-experiments/manifests/v2/kube-apiserver-deployment.yaml b/metal3-scaling-experiments/manifests/v2/kube-apiserver-deployment.yaml index cbb14008..a4724bc4 100644 --- a/metal3-scaling-experiments/manifests/v2/kube-apiserver-deployment.yaml +++ b/metal3-scaling-experiments/manifests/v2/kube-apiserver-deployment.yaml @@ -6,8 +6,8 @@ metadata: app: test-kube-apiserver spec: ports: - - port: 6443 - name: https + - port: 6443 + name: https selector: app: test-kube-apiserver --- @@ -29,75 +29,75 @@ spec: app: test-kube-apiserver spec: containers: - - image: registry.k8s.io/kube-apiserver:v1.25.3 - name: kube-apiserver - ports: - - containerPort: 6443 - name: https - protocol: TCP - command: - - kube-apiserver - - --allow-privileged=true - - --authorization-mode=Node,RBAC - - --client-ca-file=/etc/kubernetes/pki/ca/tls.crt - # - --enable-admission-plugins=NodeRestriction - - --enable-bootstrap-token-auth=true - - --etcd-cafile=/etc/kubernetes/pki/etcd-ca/tls.crt - - --etcd-certfile=/etc/kubernetes/pki/etcd/tls.crt - - --etcd-keyfile=/etc/kubernetes/pki/etcd/tls.key - - --etcd-servers=https://etcd-server.etcd-system.svc.cluster.local:2379 - - --etcd-prefix=/CLUSTER - # - --runtime-config= - - --service-account-issuer=https://kubernetes.default.svc.cluster.local - - --service-account-key-file=/etc/kubernetes/pki/sa/tls.crt - - --service-account-signing-key-file=/etc/kubernetes/pki/sa/tls.key - - --service-cluster-ip-range=10.96.0.0/16 - - --tls-cert-file=/etc/kubernetes/pki/k8s/tls.crt - - --tls-private-key-file=/etc/kubernetes/pki/k8s/tls.key - - --etcd-compaction-interval=0 - # Attempt at reducing memory usage below - - --profiling=false - - --watch-cache=false - - --etcd-count-metric-poll-period=0 - - --etcd-db-metric-poll-interval=0 - - --enable-garbage-collector=false - - --enable-priority-and-fairness=false - - --runtime-config=api/alpha=false - # Enable AlwaysAdmit and disable everything else - - --enable-admission-plugins=AlwaysAdmit - - --disable-admission-plugins=NamespaceLifecycle,LimitRanger,ServiceAccount,TaintNodesByCondition,PodSecurity,Priority,DefaultTolerationSeconds,DefaultStorageClass,StorageObjectInUseProtection,PersistentVolumeClaimResize,RuntimeClass,CertificateApproval,CertificateSigning,CertificateSubjectRestriction,DefaultIngressClass,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota - resources: {} - volumeMounts: - - mountPath: /etc/kubernetes/pki/etcd-ca - name: etcd-certs - readOnly: true - - mountPath: /etc/kubernetes/pki/etcd - name: etcd-client - readOnly: true - - mountPath: /etc/kubernetes/pki/ca/tls.crt - name: ca - subPath: tls.crt - readOnly: true - - mountPath: /etc/kubernetes/pki/sa - name: sa-certs - readOnly: true - - mountPath: /etc/kubernetes/pki/k8s - name: k8s-certs - readOnly: true + - image: registry.k8s.io/kube-apiserver:v1.25.3 + name: kube-apiserver + ports: + - containerPort: 6443 + name: https + protocol: TCP + command: + - kube-apiserver + - --allow-privileged=true + - --authorization-mode=Node,RBAC + - --client-ca-file=/etc/kubernetes/pki/ca/tls.crt + # - --enable-admission-plugins=NodeRestriction + - --enable-bootstrap-token-auth=true + - --etcd-cafile=/etc/kubernetes/pki/etcd-ca/tls.crt + - --etcd-certfile=/etc/kubernetes/pki/etcd/tls.crt + - --etcd-keyfile=/etc/kubernetes/pki/etcd/tls.key + - --etcd-servers=https://etcd-server.etcd-system.svc.cluster.local:2379 + - --etcd-prefix=/CLUSTER + # - --runtime-config= + - --service-account-issuer=https://kubernetes.default.svc.cluster.local + - --service-account-key-file=/etc/kubernetes/pki/sa/tls.crt + - --service-account-signing-key-file=/etc/kubernetes/pki/sa/tls.key + - --service-cluster-ip-range=10.96.0.0/16 + - --tls-cert-file=/etc/kubernetes/pki/k8s/tls.crt + - --tls-private-key-file=/etc/kubernetes/pki/k8s/tls.key + - --etcd-compaction-interval=0 + # Attempt at reducing memory usage below + - --profiling=false + - --watch-cache=false + - --etcd-count-metric-poll-period=0 + - --etcd-db-metric-poll-interval=0 + - --enable-garbage-collector=false + - --enable-priority-and-fairness=false + - --runtime-config=api/alpha=false + # Enable AlwaysAdmit and disable everything else + - --enable-admission-plugins=AlwaysAdmit + - --disable-admission-plugins=NamespaceLifecycle,LimitRanger,ServiceAccount,TaintNodesByCondition,PodSecurity,Priority,DefaultTolerationSeconds,DefaultStorageClass,StorageObjectInUseProtection,PersistentVolumeClaimResize,RuntimeClass,CertificateApproval,CertificateSigning,CertificateSubjectRestriction,DefaultIngressClass,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota + resources: {} + volumeMounts: + - mountPath: /etc/kubernetes/pki/etcd-ca + name: etcd-certs + readOnly: true + - mountPath: /etc/kubernetes/pki/etcd + name: etcd-client + readOnly: true + - mountPath: /etc/kubernetes/pki/ca/tls.crt + name: ca + subPath: tls.crt + readOnly: true + - mountPath: /etc/kubernetes/pki/sa + name: sa-certs + readOnly: true + - mountPath: /etc/kubernetes/pki/k8s + name: k8s-certs + readOnly: true volumes: - - name: etcd-certs - secret: - secretName: CLUSTER-etcd - - name: etcd-client - secret: - secretName: CLUSTER-apiserver-etcd-client - - name: ca - secret: - secretName: CLUSTER-ca - - name: sa-certs - secret: - secretName: CLUSTER-sa - - name: k8s-certs - secret: - secretName: apiserver + - name: etcd-certs + secret: + secretName: CLUSTER-etcd + - name: etcd-client + secret: + secretName: CLUSTER-apiserver-etcd-client + - name: ca + secret: + secretName: CLUSTER-ca + - name: sa-certs + secret: + secretName: CLUSTER-sa + - name: k8s-certs + secret: + secretName: apiserver status: {} diff --git a/metal3-scaling-experiments/manifests/v2/kubeadm-config.yaml b/metal3-scaling-experiments/manifests/v2/kubeadm-config.yaml index 5b70b3e8..1366cae7 100644 --- a/metal3-scaling-experiments/manifests/v2/kubeadm-config.yaml +++ b/metal3-scaling-experiments/manifests/v2/kubeadm-config.yaml @@ -2,18 +2,18 @@ apiVersion: kubeadm.k8s.io/v1beta3 kind: ClusterConfiguration apiServer: certSANs: - - localhost - - 127.0.0.1 - - 0.0.0.0 - - test-kube-apiserver.NAMESPACE.svc.cluster.local + - localhost + - 127.0.0.1 + - 0.0.0.0 + - test-kube-apiserver.NAMESPACE.svc.cluster.local clusterName: test controlPlaneEndpoint: test-kube-apiserver.NAMESPACE.svc.cluster.local:6443 etcd: local: # https://kubernetes.io/docs/reference/config-api/kubeadm-config.v1beta3/#kubeadm-k8s-io-v1beta3-LocalEtcd serverCertSANs: - - etcd-server.etcd-system.svc.cluster.local + - etcd-server.etcd-system.svc.cluster.local peerCertSANs: - - etcd-0.etcd.etcd-system.svc.cluster.local + - etcd-0.etcd.etcd-system.svc.cluster.local kubernetesVersion: v1.25.3 certificatesDir: /tmp/CLUSTER/pki diff --git a/metal3-scaling-experiments/manifests/v3/kubeadm-config.yaml b/metal3-scaling-experiments/manifests/v3/kubeadm-config.yaml index 212a43cc..6d9e1046 100644 --- a/metal3-scaling-experiments/manifests/v3/kubeadm-config.yaml +++ b/metal3-scaling-experiments/manifests/v3/kubeadm-config.yaml @@ -2,18 +2,18 @@ apiVersion: kubeadm.k8s.io/v1beta3 kind: ClusterConfiguration apiServer: certSANs: - - localhost - - 127.0.0.1 - - 0.0.0.0 - - HOST + - localhost + - 127.0.0.1 + - 0.0.0.0 + - HOST clusterName: test controlPlaneEndpoint: HOST:6443 etcd: local: # https://kubernetes.io/docs/reference/config-api/kubeadm-config.v1beta3/#kubeadm-k8s-io-v1beta3-LocalEtcd serverCertSANs: - - etcd-server.etcd-system.svc.cluster.local + - etcd-server.etcd-system.svc.cluster.local peerCertSANs: - - etcd-0.etcd.etcd-system.svc.cluster.local + - etcd-0.etcd.etcd-system.svc.cluster.local kubernetesVersion: v1.25.3 certificatesDir: /tmp/CLUSTER/pki diff --git a/pivoting/provider-components-target.yaml b/pivoting/provider-components-target.yaml index 79dc0193..de155680 100644 --- a/pivoting/provider-components-target.yaml +++ b/pivoting/provider-components-target.yaml @@ -58,14 +58,10 @@ spec: description: BareMetalCluster is the Schema for the baremetalclusters API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -83,8 +79,7 @@ spec: description: BareMetalClusterStatus defines the observed state of BareMetalCluster. properties: apiEndpoints: - description: APIEndpoints represents the endpoints to communicate with - the control plane. + description: APIEndpoints represents the endpoints to communicate with the control plane. items: description: APIEndpoint represents a reachable Kubernetes API endpoint. properties: @@ -100,45 +95,17 @@ spec: type: object type: array errorMessage: - description: "ErrorMessage will be set in the event that there is a - terminal problem reconciling the BaremetalMachine 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 BaremetalMachine'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 BaremetalMachine object and/or logged in the controller's - output." + description: "ErrorMessage will be set in the event that there is a terminal problem reconciling the BaremetalMachine 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 BaremetalMachine'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 BaremetalMachine object and/or logged in the controller's output." type: string errorReason: - description: "ErrorReason will be set in the event that there is a terminal - problem reconciling the BaremetalMachine 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 BaremetalMachine'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 BaremetalMachine object and/or logged - in the controller's output." + description: "ErrorReason will be set in the event that there is a terminal problem reconciling the BaremetalMachine 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 BaremetalMachine'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 BaremetalMachine object and/or logged in the controller's output." type: string lastUpdated: description: LastUpdated identifies when this status was last observed. format: date-time type: string ready: - description: Ready denotes that the baremetal cluster (infrastructure) - is ready. In Baremetal case, it does not mean anything for now as - no infrastructure steps need to be performed. Required by Cluster - API. Set to True by the BaremetalCluster controller after creation. + description: Ready denotes that the baremetal cluster (infrastructure) is ready. In Baremetal case, it does not mean anything for now as no infrastructure steps need to be performed. Required by Cluster API. Set to True by the BaremetalCluster controller after creation. type: boolean required: - ready @@ -207,14 +174,10 @@ spec: description: BareMetalHost is the Schema for the baremetalhosts API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -225,42 +188,27 @@ spec: description: How do we connect to the BMC? properties: address: - description: Address holds the URL for accessing the controller - on the network. + description: Address holds the URL for accessing the controller on the network. type: string credentialsName: - description: The name of the secret containing the BMC credentials - (requires keys "username" and "password"). + description: The name of the secret containing the BMC credentials (requires keys "username" and "password"). type: string required: - address - credentialsName type: object bootMACAddress: - description: Which MAC address will PXE boot? This is optional for some - types, but required for libvirt VMs driven by vbmc. + description: Which MAC address will PXE boot? This is optional for some types, but required for libvirt VMs driven by vbmc. pattern: '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}' type: string consumerRef: - description: ConsumerRef can be used to store information about something - that is using a host. When it is not empty, the host is considered - "in use". + description: ConsumerRef can be used to store information about something that is using a host. When it is not empty, the host is considered "in use". properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of an - entire object, this string should contain a valid JSON/Go field - access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen only - to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change - in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' @@ -272,27 +220,20 @@ spec: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this reference is - made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object description: - description: Description is a human-entered text used to help identify - the host + description: Description is a human-entered text used to help identify the host type: string externallyProvisioned: - description: ExternallyProvisioned means something else is managing - the image running on the host and the operator should only manage - the power status and hardware inventory inspection. If the Image field - is filled in, this field is ignored. + description: ExternallyProvisioned means something else is managing the image running on the host and the operator should only manage the power status and hardware inventory inspection. If the Image field is filled in, this field is ignored. type: boolean hardwareProfile: - description: What is the name of the hardware profile for this host? - It should only be necessary to set this when inspection cannot automatically - determine the profile. + description: What is the name of the hardware profile for this host? It should only be necessary to set this when inspection cannot automatically determine the profile. type: string image: description: Image holds the details of the image to be provisioned. @@ -311,29 +252,22 @@ spec: description: Should the server be online? type: boolean taints: - description: Taints is the full, authoritative list of taints to apply - to the corresponding Machine. This list will overwrite any modifications - made to the Machine on an ongoing basis. + description: Taints is the full, authoritative list of taints to apply to the corresponding Machine. This list will overwrite any modifications made to the Machine on an ongoing basis. items: - description: The node this Taint is attached to has the "effect" on - any pod that does not tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on pods that do - not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule - and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which the taint - was added. It is only written for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: Required. The taint value corresponding to the taint - key. + description: Required. The taint value corresponding to the taint key. type: string required: - effect @@ -341,16 +275,13 @@ spec: type: object type: array userData: - description: UserData holds the reference to the Secret containing the - user data to be passed to the host before it boots. + description: UserData holds the reference to the Secret containing the user data to be passed to the host before it boots. properties: name: - description: Name is unique within a namespace to reference a secret - resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which the secret - name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object required: @@ -366,16 +297,13 @@ spec: description: the last credentials we were able to validate as working properties: credentials: - description: SecretReference represents a Secret Reference. It has - enough information to retrieve secret in any namespace + description: SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace properties: name: - description: Name is unique within a namespace to reference - a secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which the secret - name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object credentialsVersion: @@ -487,8 +415,7 @@ spec: type: integer storage: items: - description: Storage describes one storage device (disk, SSD, - etc.) on the host. + description: Storage describes one storage device (disk, SSD, etc.) on the host. properties: hctl: description: The SCSI location of the device @@ -529,8 +456,7 @@ spec: type: object type: array systemVendor: - description: HardwareSystemVendor stores details about the whole - hardware system. + description: HardwareSystemVendor stores details about the whole hardware system. properties: manufacturer: type: string @@ -569,12 +495,10 @@ spec: description: Information tracked by the provisioner. properties: ID: - description: The machine's UUID from the underlying provisioning - tool + description: The machine's UUID from the underlying provisioning tool type: string image: - description: Image holds the details of the last image successfully - provisioned to the host. + description: Image holds the details of the last image successfully provisioned to the host. properties: checksum: description: Checksum is the checksum for the image. @@ -587,8 +511,7 @@ spec: - url type: object state: - description: An indiciator for what the provisioner is doing with - the host. + description: An indiciator for what the provisioner is doing with the host. type: string required: - ID @@ -598,16 +521,13 @@ spec: description: the last credentials we sent to the provisioning backend properties: credentials: - description: SecretReference represents a Secret Reference. It has - enough information to retrieve secret in any namespace + description: SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace properties: name: - description: Name is unique within a namespace to reference - a secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which the secret - name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object credentialsVersion: @@ -668,14 +588,10 @@ spec: description: BareMetalMachine is the Schema for the baremetalmachines API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -683,21 +599,16 @@ spec: description: BareMetalMachineSpec defines the desired state of BareMetalMachine properties: hostSelector: - description: HostSelector specifies matching criteria for labels on - BareMetalHosts. This is used to limit the set of BareMetalHost objects - considered for claiming for a BaremetalMachine. + description: HostSelector specifies matching criteria for labels on BareMetalHosts. This is used to limit the set of BareMetalHost objects considered for claiming for a BaremetalMachine. properties: matchExpressions: - description: Label match expressions that must be true on a chosen - BareMetalHost + description: Label match expressions that must be true on a chosen BareMetalHost items: properties: key: type: string operator: - description: Operator represents a key/field's relationship - to value(s). See labels.Requirement and fields.Requirement - for more details. + description: Operator represents a key/field's relationship to value(s). See labels.Requirement and fields.Requirement for more details. type: string values: items: @@ -712,8 +623,7 @@ spec: matchLabels: additionalProperties: type: string - description: Key/value pairs of labels that must exist on a chosen - BareMetalHost + description: Key/value pairs of labels that must exist on a chosen BareMetalHost type: object type: object image: @@ -730,21 +640,16 @@ spec: - url type: object providerID: - description: ProviderID will be the baremetal machine in ProviderID - format (baremetal:////) + description: ProviderID will be the baremetal machine in ProviderID format (baremetal:////) type: string userData: - description: UserData references the Secret that holds user data needed - by the bare metal operator. The Namespace is optional; it will default - to the BaremetalMachine's namespace if not specified. + description: UserData references the Secret that holds user data needed by the bare metal operator. The Namespace is optional; it will default to the BaremetalMachine's namespace if not specified. properties: name: - description: Name is unique within a namespace to reference a secret - resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which the secret - name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object required: @@ -754,8 +659,7 @@ spec: description: BareMetalMachineStatus defines the observed state of BareMetalMachine properties: addresses: - description: Addresses is a list of addresses assigned to the machine. - This field is copied from the infrastructure provider reference. + 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: @@ -763,8 +667,7 @@ spec: description: The machine address. type: string type: - description: Machine address type, one of Hostname, ExternalIP - or InternalIP. + description: Machine address type, one of Hostname, ExternalIP or InternalIP. type: string required: - address @@ -772,48 +675,20 @@ spec: type: object type: array errorMessage: - description: "ErrorMessage will be set in the event that there is a - terminal problem reconciling the BaremetalMachine 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 BaremetalMachine'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 BaremetalMachines can - be added as events to the BaremetalMachine object and/or logged in - the controller's output." + description: "ErrorMessage will be set in the event that there is a terminal problem reconciling the BaremetalMachine 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 BaremetalMachine'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 BaremetalMachines can be added as events to the BaremetalMachine object and/or logged in the controller's output." type: string errorReason: - description: "ErrorReason will be set in the event that there is a terminal - problem reconciling the BaremetalMachine 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 BaremetalMachine'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 BaremetalMachines - can be added as events to the BaremetalMachine object and/or logged - in the controller's output." + description: "ErrorReason will be set in the event that there is a terminal problem reconciling the BaremetalMachine 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 BaremetalMachine'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 BaremetalMachines can be added as events to the BaremetalMachine object and/or logged in the controller's output." type: string lastUpdated: description: LastUpdated identifies when this status was last observed. format: date-time type: string phase: - description: Phase represents the current phase of machine actuation. - E.g. Pending, Running, Terminating, Failed etc. + description: Phase represents the current phase of machine actuation. E.g. Pending, Running, Terminating, Failed etc. type: string ready: - description: 'Ready is the state of the metal3. TODO : Document the - variable : mhrivnak: " it would be good to document what this means, - how to interpret it, under what circumstances the value changes, etc."' + description: 'Ready is the state of the metal3. TODO : Document the variable : mhrivnak: " it would be good to document what this means, how to interpret it, under what circumstances the value changes, etc."' type: boolean type: object type: object @@ -846,18 +721,13 @@ spec: scope: Namespaced validation: openAPIV3Schema: - description: BareMetalMachineTemplate is the Schema for the baremetalmachinetemplates - API + description: BareMetalMachineTemplate is the Schema for the baremetalmachinetemplates API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -865,29 +735,22 @@ spec: description: BareMetalMachineTemplateSpec defines the desired state of BareMetalMachineTemplate properties: template: - description: BareMetalMachineTemplateResource describes the data needed - to create a BareMetalMachine from a template + description: BareMetalMachineTemplateResource describes the data needed to create a BareMetalMachine from a template properties: spec: - description: Spec is the specification of the desired behavior of - the machine. + description: Spec is the specification of the desired behavior of the machine. properties: hostSelector: - description: HostSelector specifies matching criteria for labels - on BareMetalHosts. This is used to limit the set of BareMetalHost - objects considered for claiming for a BaremetalMachine. + description: HostSelector specifies matching criteria for labels on BareMetalHosts. This is used to limit the set of BareMetalHost objects considered for claiming for a BaremetalMachine. properties: matchExpressions: - description: Label match expressions that must be true on - a chosen BareMetalHost + description: Label match expressions that must be true on a chosen BareMetalHost items: properties: key: type: string operator: - description: Operator represents a key/field's relationship - to value(s). See labels.Requirement and fields.Requirement - for more details. + description: Operator represents a key/field's relationship to value(s). See labels.Requirement and fields.Requirement for more details. type: string values: items: @@ -902,16 +765,14 @@ spec: matchLabels: additionalProperties: type: string - description: Key/value pairs of labels that must exist on - a chosen BareMetalHost + description: Key/value pairs of labels that must exist on a chosen BareMetalHost type: object type: object image: description: Image is the image to be provisioned. properties: checksum: - description: Checksum is a md5sum value or a URL to retrieve - one. + description: Checksum is a md5sum value or a URL to retrieve one. type: string url: description: URL is a location of an image to deploy. @@ -921,22 +782,16 @@ spec: - url type: object providerID: - description: ProviderID will be the baremetal machine in ProviderID - format (baremetal:////) + description: ProviderID will be the baremetal machine in ProviderID format (baremetal:////) type: string userData: - description: UserData references the Secret that holds user - data needed by the bare metal operator. The Namespace is optional; - it will default to the BaremetalMachine's namespace if not - specified. + description: UserData references the Secret that holds user data needed by the bare metal operator. The Namespace is optional; it will default to the BaremetalMachine's namespace if not specified. properties: name: - description: Name is unique within a namespace to reference - a secret resource. + description: Name is unique within a namespace to reference a secret resource. type: string namespace: - description: Namespace defines the space within which the - secret name must be unique. + description: Namespace defines the space within which the secret name must be unique. type: string type: object required: @@ -990,14 +845,10 @@ spec: 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/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/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/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' type: string metadata: type: object @@ -1008,8 +859,7 @@ spec: description: Cluster network configuration properties: apiServerPort: - description: APIServerPort specifies the port the API Server should - bind to. Defaults to 6443. + description: APIServerPort specifies the port the API Server should bind to. Defaults to 6443. format: int32 type: integer pods: @@ -1037,25 +887,13 @@ spec: type: object type: object infrastructureRef: - description: InfrastructureRef is a reference to a provider-specific - resource that holds the details for provisioning infrastructure for - a cluster in said provider. + 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.' + 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/api-conventions.md#types-kinds' @@ -1067,8 +905,7 @@ spec: 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/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/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' @@ -1079,8 +916,7 @@ spec: description: ClusterStatus defines the observed state of Cluster properties: apiEndpoints: - description: APIEndpoints represents the endpoints to communicate with - the control plane. + description: APIEndpoints represents the endpoints to communicate with the control plane. items: description: APIEndpoint represents a reachable Kubernetes API endpoint. properties: @@ -1096,25 +932,19 @@ spec: type: object type: array controlPlaneInitialized: - description: ControlPlaneInitialized defines if the control plane has - been initialized. + description: ControlPlaneInitialized defines if the control plane has been initialized. type: boolean errorMessage: - description: ErrorMessage indicates that there is a problem reconciling - the state, and will be set to a descriptive error message. + description: ErrorMessage indicates that there is a problem reconciling the state, and will be set to a descriptive error message. type: string errorReason: - description: ErrorReason indicates that there is a problem reconciling - the state, and will be set to a token value suitable for programmatic - interpretation. + description: ErrorReason 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean phase: - description: Phase represents the current phase of cluster actuation. - E.g. Pending, Running, Terminating, Failed etc. + description: Phase represents the current phase of cluster actuation. E.g. Pending, Running, Terminating, Failed etc. type: string type: object type: object @@ -1152,58 +982,42 @@ spec: description: KubeadmConfig is the Schema for the kubeadmconfigs 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/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/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/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' type: string metadata: type: object spec: - description: KubeadmConfigSpec defines the desired state of KubeadmConfig. - Either ClusterConfiguration and InitConfiguration should be defined or - the JoinConfiguration should be defined. + description: KubeadmConfigSpec defines the desired state of KubeadmConfig. Either ClusterConfiguration and InitConfiguration should be defined or the JoinConfiguration should be defined. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration are the - configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for the API server - control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative Names for - the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and ideally - we would like to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, mounted - to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing volumes - that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that will - be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod where - hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -1221,64 +1035,39 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the timeout that - we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object 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/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' type: string certificatesDir: - description: CertificatesDir specifies where to store or look for - all required certificates. + description: CertificatesDir specifies where to store or look for all required certificates. type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP address or DNS - name for the control plane; it can be a valid IP address or a - RFC-1123 DNS subdomain, both with optional TCP port. In case the - ControlPlaneEndpoint is not specified, the AdvertiseAddress + - BindPort are used; in case the ControlPlaneEndpoint is specified - but without a TCP port, the BindPort is used. Possible usages - are: e.g. In a cluster with more than one control plane instances, - this field should be assigned the address of the external load - balancer in front of the control plane instances. e.g. in environments - with enforced node recycling, the ControlPlaneEndpoint could be - used for assigning a stable DNS to the control plane. NB: This - value defaults to the first value in the Cluster object status.apiEndpoints - array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings for the controller - manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and ideally - we would like to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, mounted - to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing volumes - that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that will - be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod where - hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -1297,18 +1086,13 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on installed - in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container registry to - pull images from. if not set, the ImageRepository defined - in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for the image. - In case this value is set, kubeadm does not change automatically - the version of the above components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: description: Type defines the DNS add-on to be used @@ -1320,18 +1104,13 @@ spec: description: Etcd holds configuration for etcd. properties: external: - description: External describes how to connect to an external - etcd cluster Local and External are mutually exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate Authority file - used to secure etcd communication. Required if using a - TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification file used - to secure etcd communication. Required if using a TLS - connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: description: Endpoints of etcd members. Required for ExternalEtcd. @@ -1339,8 +1118,7 @@ spec: type: string type: array keyFile: - description: KeyFile is an SSL key file used to secure etcd - communication. Required if using a TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -1349,38 +1127,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs for configuring - the local etcd instance Local and External are mutually exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd will place its - data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments provided to the - etcd binary when run inside a static pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository defined - in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for the image. - In case this value is set, kubeadm does not change automatically - the version of the above components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject Alternative - Names for the etcd server signing cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -1394,38 +1163,25 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry to pull - images from. If empty, `k8s.gcr.io` will be used by default; in - case of kubernetes version is a CI build (kubernetes version starts - with `ci/` or `ci-cross/`) `gcr.io/kubernetes-ci-images` will - be used as a default for control plane components and for kube-proxy, - while `k8s.gcr.io` will be used for all the other images. + description: ImageRepository sets the container registry to pull images from. If empty, `k8s.gcr.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/kubernetes-ci-images` will be used as a default for control plane components and for kube-proxy, while `k8s.gcr.io` will be used for all the other images. 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/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version of the control - plane. NB: This value defaults to the Machine object spec.kuberentesVersion' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.kuberentesVersion' type: string networking: - description: 'Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to the Cluster - object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used by k8s services. - Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: description: PodSubnet is the subnet used by pods. type: string serviceSubnet: - description: ServiceSubnet is the subnet used by k8s services. - Defaults to "10.96.0.0/12". + description: ServiceSubnet is the subnet used by k8s services. Defaults to "10.96.0.0/12". type: string required: - dnsDomain @@ -1433,31 +1189,23 @@ spec: - serviceSubnet type: object scheduler: - description: Scheduler contains extra settings for the scheduler - control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to pass to - the control plane component. TODO: This is temporary and ideally - we would like to switch all components to use ComponentConfig - + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, mounted - to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing volumes - that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host that will - be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the pod where - hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: description: Name of the volume inside the pod template. @@ -1476,17 +1224,13 @@ spec: type: array type: object useHyperKubeImage: - description: UseHyperKubeImage controls if hyperkube should be used - for Kubernetes components instead of their respective separate - images + description: UseHyperKubeImage controls if hyperkube should be used for Kubernetes components instead of their respective separate images type: boolean type: object files: - description: Files specifies extra files to be passed to user_data upon - creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files in - cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: content: description: Content is the actual content of the file. @@ -1502,12 +1246,10 @@ spec: description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk where to store - the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions to assign to - the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - content @@ -1520,54 +1262,36 @@ spec: - cloud-config type: string initConfiguration: - description: InitConfiguration along with ClusterConfiguration are the - configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command 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/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm init` time - and describes a set of Bootstrap Tokens to create. This information - IS NOT uploaded to the kubeadm cluster configmap, partly because - of its sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap token, stored - as a Secret in the cluster + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster properties: description: - description: Description sets a human-friendly message why - this token exists and what it's used for, so other administrators - can know its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp when this token - expires. Defaults to being set dynamically at runtime based - on the TTL. Expires and TTL are mutually exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups that this token - will authenticate as when/if used for authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing bidirectional - trust between nodes and control-planes. Used for joining - nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: object ttl: - description: TTL defines the time to live for this token. - Defaults to 24h. Expires and TTL are mutually exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which this token - can be used. Can by default be used for establishing bidirectional - trust, but that can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -1576,30 +1300,16 @@ spec: type: object type: array 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/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint of the API - server instance that's deployed on this control plane node In - HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global endpoint - for the cluster, which then loadbalances the requests to each - individual API server. This configuration object lets you customize - what IP/DNS name and port the local API server advertises it's - accessible on. By default, kubeadm tries to auto-detect the IP - of the default interface and use that, but in case that process - fails you may set the desired value here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address for the API - server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the API Server - to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer required: @@ -1607,60 +1317,36 @@ spec: - bindPort type: object nodeRegistration: - description: NodeRegistration holds fields that relate to registering - the new control-plane node to the cluster + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node API object, - for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the kubelet - command line via the environment file kubeadm writes at runtime - for the kubelet to source. This overrides the generic base-level - configuration in the kubelet-config-1.X ConfigMap Flags have - higher priority when parsing. These values are local and specific - to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the Node - API object that will be created in this `kubeadm init` or - `kubeadm join` operation. This field is also used in the CommonName - field of the kubelet's client certificate to the API server. - Defaults to the hostname of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API object - should be registered with. If this field is unset, i.e. nil, - in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, set this - field to an empty slice, i.e. `taints: {}` in the YAML file. - This field is solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has the "effect" - on any pod that does not tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on pods - that do not tolerate the taint. Valid effects are NoSchedule, - PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied to - a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which the - taint was added. It is only written for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: Required. The taint value corresponding to - the taint key. + description: Required. The taint value corresponding to the taint key. type: string required: - effect @@ -1670,37 +1356,25 @@ spec: type: object type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration for the - join command + description: JoinConfiguration is the kubeadm configuration for the join command 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/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate authority - used to secure comunications between node and control-plane. Defaults - to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting - from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control plane instance - to be deployed on the joining node. If nil, no additional control - plane instance will be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint of the - API server instance to be deployed on this node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address for the - API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the API Server - to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer required: @@ -1709,57 +1383,34 @@ spec: type: object type: object discovery: - description: 'Discovery specifies the options for the kubelet to - use during the TLS Bootstrap process TODO: revisit when there - is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the options for bootstrap - token based discovery BootstrapToken and File are mutually - exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or domain name to - the API server from which info will be fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set of public key - pins to verify when token-based discovery is used. The - root CA found during discovery must match one of these - values. Specifying an empty set disables root CA pinning, - which can be unsafe. Each hash is specified as ":", - where the only currently supported type is "sha256". This - is a hex-encoded SHA-256 hash of the Subject Public Key - Info (SPKI) object in DER-encoded ASN.1. These hashes - can be calculated using, for example, OpenSSL: openssl - x509 -pubkey -in ca.crt openssl rsa -pubin -outform der - 2>&/dev/null | openssl dgst -sha256 -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate cluster information - fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. This - can weaken the security of kubeadm since other nodes can - impersonate the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token - unsafeSkipCAVerification type: object file: - description: File is used to specify a file or URL to a kubeconfig - file from which to load cluster information BootstrapToken - and File are mutually exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify the actual - file path or URL to the kubeconfig file from which to - load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -1768,75 +1419,43 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: 'TLSBootstrapToken is a token used for TLS bootstrapping. - If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, - but can be overridden. If .File is set, this field **must - be set** in case the KubeConfigFile does not contain any other - authentication information TODO: revisit when there is defaulting - from k/k' + description: 'TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information TODO: revisit when there is defaulting from k/k' type: string type: object 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/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate to registering - the new control-plane node to the cluster + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster properties: criSocket: - description: CRISocket is used to retrieve container runtime - info. This information will be annotated to the Node API object, - for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the kubelet - command line via the environment file kubeadm writes at runtime - for the kubelet to source. This overrides the generic base-level - configuration in the kubelet-config-1.X ConfigMap Flags have - higher priority when parsing. These values are local and specific - to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the Node - API object that will be created in this `kubeadm init` or - `kubeadm join` operation. This field is also used in the CommonName - field of the kubelet's client certificate to the API server. - Defaults to the hostname of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API object - should be registered with. If this field is unset, i.e. nil, - in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, set this - field to an empty slice, i.e. `taints: {}` in the YAML file. - This field is solely used for Node registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has the "effect" - on any pod that does not tolerate the Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on pods - that do not tolerate the taint. Valid effects are NoSchedule, - PreferNoSchedule and NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied to - a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which the - taint was added. It is only written for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: Required. The taint value corresponding to - the taint key. + description: Required. The taint value corresponding to the taint key. type: string required: - effect @@ -1860,14 +1479,12 @@ spec: type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands to run after - kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands to run before - kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array @@ -1883,15 +1500,13 @@ spec: description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory to use for the - user + description: HomeDir specifies the home directory to use for the user type: string inactive: description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password login should be - disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name @@ -1900,15 +1515,13 @@ spec: description: Passwd specifies a hashed password for the user type: string primaryGroup: - description: PrimaryGroup specifies the primary group for the - user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list of ssh authorized - keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array @@ -1934,8 +1547,7 @@ spec: description: ErrorReason will be set on non-retryable errors type: string ready: - description: Ready indicates the BootstrapData field is ready to be - consumed + description: Ready indicates the BootstrapData field is ready to be consumed type: boolean type: object type: object @@ -1968,18 +1580,13 @@ spec: scope: Namespaced validation: openAPIV3Schema: - description: KubeadmConfigTemplate is the Schema for the kubeadmconfigtemplates - API + description: KubeadmConfigTemplate is the Schema for the kubeadmconfigtemplates 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/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/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/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' type: string metadata: type: object @@ -1990,57 +1597,43 @@ spec: description: KubeadmConfigTemplateResource defines the Template structure properties: spec: - description: KubeadmConfigSpec defines the desired state of KubeadmConfig. - Either ClusterConfiguration and InitConfiguration should be defined - or the JoinConfiguration should be defined. + description: KubeadmConfigSpec defines the desired state of KubeadmConfig. Either ClusterConfiguration and InitConfiguration should be defined or the JoinConfiguration should be defined. properties: clusterConfiguration: - description: ClusterConfiguration along with InitConfiguration - are the configurations necessary for the init command + description: ClusterConfiguration along with InitConfiguration are the configurations necessary for the init command properties: apiServer: - description: APIServer contains extra settings for the API - server control plane component + description: APIServer contains extra settings for the API server control plane component properties: certSANs: - description: CertSANs sets extra Subject Alternative - Names for the API Server signing cert. + description: CertSANs sets extra Subject Alternative Names for the API Server signing cert. items: type: string type: array extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This is - temporary and ideally we would like to switch all - components to use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host - that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the - pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the pod - template. + description: Name of the volume inside the pod template. type: string pathType: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to - the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -2049,76 +1642,48 @@ spec: type: object type: array timeoutForControlPlane: - description: TimeoutForControlPlane controls the timeout - that we use for API server to appear + description: TimeoutForControlPlane controls the timeout that we use for API server to appear type: string type: object 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/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' type: string certificatesDir: - description: CertificatesDir specifies where to store or - look for all required certificates. + description: CertificatesDir specifies where to store or look for all required certificates. type: string clusterName: description: The cluster name type: string controlPlaneEndpoint: - description: 'ControlPlaneEndpoint sets a stable IP address - or DNS name for the control plane; it can be a valid IP - address or a RFC-1123 DNS subdomain, both with optional - TCP port. In case the ControlPlaneEndpoint is not specified, - the AdvertiseAddress + BindPort are used; in case the - ControlPlaneEndpoint is specified but without a TCP port, - the BindPort is used. Possible usages are: e.g. In a cluster - with more than one control plane instances, this field - should be assigned the address of the external load balancer - in front of the control plane instances. e.g. in environments - with enforced node recycling, the ControlPlaneEndpoint - could be used for assigning a stable DNS to the control - plane. NB: This value defaults to the first value in the - Cluster object status.apiEndpoints array.' + description: 'ControlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port. In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort are used; in case the ControlPlaneEndpoint is specified but without a TCP port, the BindPort is used. Possible usages are: e.g. In a cluster with more than one control plane instances, this field should be assigned the address of the external load balancer in front of the control plane instances. e.g. in environments with enforced node recycling, the ControlPlaneEndpoint could be used for assigning a stable DNS to the control plane. NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.' type: string controllerManager: - description: ControllerManager contains extra settings for - the controller manager control plane component + description: ControllerManager contains extra settings for the controller manager control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This is - temporary and ideally we would like to switch all - components to use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host - that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the - pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the pod - template. + description: Name of the volume inside the pod template. type: string pathType: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to - the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -2128,19 +1693,13 @@ spec: type: array type: object dns: - description: DNS defines the options for the DNS add-on - installed in the cluster. + description: DNS defines the options for the DNS add-on installed in the cluster. properties: imageRepository: - description: ImageRepository sets the container registry - to pull images from. if not set, the ImageRepository - defined in ClusterConfiguration will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for the - image. In case this value is set, kubeadm does not - change automatically the version of the above components - during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string type: description: Type defines the DNS add-on to be used @@ -2152,30 +1711,21 @@ spec: description: Etcd holds configuration for etcd. properties: external: - description: External describes how to connect to an - external etcd cluster Local and External are mutually - exclusive + description: External describes how to connect to an external etcd cluster Local and External are mutually exclusive properties: caFile: - description: CAFile is an SSL Certificate Authority - file used to secure etcd communication. Required - if using a TLS connection. + description: CAFile is an SSL Certificate Authority file used to secure etcd communication. Required if using a TLS connection. type: string certFile: - description: CertFile is an SSL certification file - used to secure etcd communication. Required if - using a TLS connection. + description: CertFile is an SSL certification file used to secure etcd communication. Required if using a TLS connection. type: string endpoints: - description: Endpoints of etcd members. Required - for ExternalEtcd. + description: Endpoints of etcd members. Required for ExternalEtcd. items: type: string type: array keyFile: - description: KeyFile is an SSL key file used to - secure etcd communication. Required if using a - TLS connection. + description: KeyFile is an SSL key file used to secure etcd communication. Required if using a TLS connection. type: string required: - caFile @@ -2184,41 +1734,29 @@ spec: - keyFile type: object local: - description: Local provides configuration knobs for - configuring the local etcd instance Local and External - are mutually exclusive + description: Local provides configuration knobs for configuring the local etcd instance Local and External are mutually exclusive properties: dataDir: - description: DataDir is the directory etcd will - place its data. Defaults to "/var/lib/etcd". + description: DataDir is the directory etcd will place its data. Defaults to "/var/lib/etcd". type: string extraArgs: additionalProperties: type: string - description: ExtraArgs are extra arguments provided - to the etcd binary when run inside a static pod. + description: ExtraArgs are extra arguments provided to the etcd binary when run inside a static pod. type: object imageRepository: - description: ImageRepository sets the container - registry to pull images from. if not set, the - ImageRepository defined in ClusterConfiguration - will be used instead. + description: ImageRepository sets the container registry to pull images from. if not set, the ImageRepository defined in ClusterConfiguration will be used instead. type: string imageTag: - description: ImageTag allows to specify a tag for - the image. In case this value is set, kubeadm - does not change automatically the version of the - above components during upgrades. + description: ImageTag allows to specify a tag for the image. In case this value is set, kubeadm does not change automatically the version of the above components during upgrades. type: string peerCertSANs: - description: PeerCertSANs sets extra Subject Alternative - Names for the etcd peer signing cert. + description: PeerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. items: type: string type: array serverCertSANs: - description: ServerCertSANs sets extra Subject Alternative - Names for the etcd server signing cert. + description: ServerCertSANs sets extra Subject Alternative Names for the etcd server signing cert. items: type: string type: array @@ -2232,40 +1770,25 @@ spec: description: FeatureGates enabled by the user. type: object imageRepository: - description: ImageRepository sets the container registry - to pull images from. If empty, `k8s.gcr.io` will be used - by default; in case of kubernetes version is a CI build - (kubernetes version starts with `ci/` or `ci-cross/`) - `gcr.io/kubernetes-ci-images` will be used as a default - for control plane components and for kube-proxy, while - `k8s.gcr.io` will be used for all the other images. + description: ImageRepository sets the container registry to pull images from. If empty, `k8s.gcr.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`) `gcr.io/kubernetes-ci-images` will be used as a default for control plane components and for kube-proxy, while `k8s.gcr.io` will be used for all the other images. 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/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' type: string kubernetesVersion: - description: 'KubernetesVersion is the target version of - the control plane. NB: This value defaults to the Machine - object spec.kuberentesVersion' + description: 'KubernetesVersion is the target version of the control plane. NB: This value defaults to the Machine object spec.kuberentesVersion' type: string networking: - description: 'Networking holds configuration for the networking - topology of the cluster. NB: This value defaults to the - Cluster object spec.clusterNetwork.' + description: 'Networking holds configuration for the networking topology of the cluster. NB: This value defaults to the Cluster object spec.clusterNetwork.' properties: dnsDomain: - description: DNSDomain is the dns domain used by k8s - services. Defaults to "cluster.local". + description: DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local". type: string podSubnet: description: PodSubnet is the subnet used by pods. type: string serviceSubnet: - description: ServiceSubnet is the subnet used by k8s - services. Defaults to "10.96.0.0/12". + description: ServiceSubnet is the subnet used by k8s services. Defaults to "10.96.0.0/12". type: string required: - dnsDomain @@ -2273,42 +1796,32 @@ spec: - serviceSubnet type: object scheduler: - description: Scheduler contains extra settings for the scheduler - control plane component + description: Scheduler contains extra settings for the scheduler control plane component properties: extraArgs: additionalProperties: type: string - description: 'ExtraArgs is an extra set of flags to - pass to the control plane component. TODO: This is - temporary and ideally we would like to switch all - components to use ComponentConfig + ConfigMaps.' + description: 'ExtraArgs is an extra set of flags to pass to the control plane component. TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.' type: object extraVolumes: - description: ExtraVolumes is an extra set of host volumes, - mounted to the control plane component. + description: ExtraVolumes is an extra set of host volumes, mounted to the control plane component. items: - description: HostPathMount contains elements describing - volumes that are mounted from the host. + description: HostPathMount contains elements describing volumes that are mounted from the host. properties: hostPath: - description: HostPath is the path in the host - that will be mounted inside the pod. + description: HostPath is the path in the host that will be mounted inside the pod. type: string mountPath: - description: MountPath is the path inside the - pod where hostPath will be mounted. + description: MountPath is the path inside the pod where hostPath will be mounted. type: string name: - description: Name of the volume inside the pod - template. + description: Name of the volume inside the pod template. type: string pathType: description: PathType is the type of the HostPath. type: string readOnly: - description: ReadOnly controls write access to - the volume + description: ReadOnly controls write access to the volume type: boolean required: - hostPath @@ -2318,40 +1831,32 @@ spec: type: array type: object useHyperKubeImage: - description: UseHyperKubeImage controls if hyperkube should - be used for Kubernetes components instead of their respective - separate images + description: UseHyperKubeImage controls if hyperkube should be used for Kubernetes components instead of their respective separate images type: boolean type: object files: - description: Files specifies extra files to be passed to user_data - upon creation. + description: Files specifies extra files to be passed to user_data upon creation. items: - description: File defines the input for generating write_files - in cloud-init. + description: File defines the input for generating write_files in cloud-init. properties: content: description: Content is the actual content of the file. type: string encoding: - description: Encoding specifies the encoding of the file - contents. + description: Encoding specifies the encoding of the file contents. enum: - base64 - gzip - gzip+base64 type: string owner: - description: Owner specifies the ownership of the file, - e.g. "root:root". + description: Owner specifies the ownership of the file, e.g. "root:root". type: string path: - description: Path specifies the full path on disk where - to store the file. + description: Path specifies the full path on disk where to store the file. type: string permissions: - description: Permissions specifies the permissions to - assign to the file, e.g. "0640". + description: Permissions specifies the permissions to assign to the file, e.g. "0640". type: string required: - content @@ -2359,63 +1864,41 @@ spec: type: object type: array format: - description: Format specifies the output format of the bootstrap - data + description: Format specifies the output format of the bootstrap data enum: - cloud-config type: string initConfiguration: - description: InitConfiguration along with ClusterConfiguration - are the configurations necessary for the init command + description: InitConfiguration along with ClusterConfiguration are the configurations necessary for the init command 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/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' type: string bootstrapTokens: - description: BootstrapTokens is respected at `kubeadm init` - time and describes a set of Bootstrap Tokens to create. - This information IS NOT uploaded to the kubeadm cluster - configmap, partly because of its sensitive nature + description: BootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create. This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature items: - description: BootstrapToken describes one bootstrap token, - stored as a Secret in the cluster + description: BootstrapToken describes one bootstrap token, stored as a Secret in the cluster properties: description: - description: Description sets a human-friendly message - why this token exists and what it's used for, so - other administrators can know its purpose. + description: Description sets a human-friendly message why this token exists and what it's used for, so other administrators can know its purpose. type: string expires: - description: Expires specifies the timestamp when - this token expires. Defaults to being set dynamically - at runtime based on the TTL. Expires and TTL are - mutually exclusive. + description: Expires specifies the timestamp when this token expires. Defaults to being set dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive. format: date-time type: string groups: - description: Groups specifies the extra groups that - this token will authenticate as when/if used for - authentication + description: Groups specifies the extra groups that this token will authenticate as when/if used for authentication items: type: string type: array token: - description: Token is used for establishing bidirectional - trust between nodes and control-planes. Used for - joining nodes in the cluster. + description: Token is used for establishing bidirectional trust between nodes and control-planes. Used for joining nodes in the cluster. type: object ttl: - description: TTL defines the time to live for this - token. Defaults to 24h. Expires and TTL are mutually - exclusive. + description: TTL defines the time to live for this token. Defaults to 24h. Expires and TTL are mutually exclusive. type: string usages: - description: Usages describes the ways in which this - token can be used. Can by default be used for establishing - bidirectional trust, but that can be changed here. + description: Usages describes the ways in which this token can be used. Can by default be used for establishing bidirectional trust, but that can be changed here. items: type: string type: array @@ -2424,31 +1907,16 @@ spec: type: object type: array 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/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' type: string localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint of - the API server instance that's deployed on this control - plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint - in the sense that ControlPlaneEndpoint is the global endpoint - for the cluster, which then loadbalances the requests - to each individual API server. This configuration object - lets you customize what IP/DNS name and port the local - API server advertises it's accessible on. By default, - kubeadm tries to auto-detect the IP of the default interface - and use that, but in case that process fails you may set - the desired value here. + description: LocalAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process fails you may set the desired value here. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address for - the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the API - Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer required: @@ -2456,67 +1924,36 @@ spec: - bindPort type: object nodeRegistration: - description: NodeRegistration holds fields that relate to - registering the new control-plane node to the cluster + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated to - the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the - kubelet command line via the environment file kubeadm - writes at runtime for the kubelet to source. This - overrides the generic base-level configuration in - the kubelet-config-1.X ConfigMap Flags have higher - priority when parsing. These values are local and - specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the - Node API object that will be created in this `kubeadm - init` or `kubeadm join` operation. This field is also - used in the CommonName field of the kubelet's client - certificate to the API server. Defaults to the hostname - of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API - object should be registered with. If this field is - unset, i.e. nil, in the `kubeadm init` process it - will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: {}` - in the YAML file. This field is solely used for Node - registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has - the "effect" on any pod that does not tolerate the - Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint - on pods that do not tolerate the taint. Valid - effects are NoSchedule, PreferNoSchedule and - NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at - which the taint was added. It is only written - for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: Required. The taint value corresponding - to the taint key. + description: Required. The taint value corresponding to the taint key. type: string required: - effect @@ -2526,38 +1963,25 @@ spec: type: object type: object joinConfiguration: - description: JoinConfiguration is the kubeadm configuration - for the join command + description: JoinConfiguration is the kubeadm configuration for the join command 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/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' type: string caCertPath: - description: 'CACertPath is the path to the SSL certificate - authority used to secure comunications between node and - control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". - TODO: revisit when there is defaulting from k/k' + description: 'CACertPath is the path to the SSL certificate authority used to secure comunications between node and control-plane. Defaults to "/etc/kubernetes/pki/ca.crt". TODO: revisit when there is defaulting from k/k' type: string controlPlane: - description: ControlPlane defines the additional control - plane instance to be deployed on the joining node. If - nil, no additional control plane instance will be deployed. + description: ControlPlane defines the additional control plane instance to be deployed on the joining node. If nil, no additional control plane instance will be deployed. properties: localAPIEndpoint: - description: LocalAPIEndpoint represents the endpoint - of the API server instance to be deployed on this - node. + description: LocalAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. properties: advertiseAddress: - description: AdvertiseAddress sets the IP address - for the API server to advertise. + description: AdvertiseAddress sets the IP address for the API server to advertise. type: string bindPort: - description: BindPort sets the secure port for the - API Server to bind to. Defaults to 6443. + description: BindPort sets the secure port for the API Server to bind to. Defaults to 6443. format: int32 type: integer required: @@ -2566,60 +1990,34 @@ spec: type: object type: object discovery: - description: 'Discovery specifies the options for the kubelet - to use during the TLS Bootstrap process TODO: revisit - when there is defaulting from k/k' + description: 'Discovery specifies the options for the kubelet to use during the TLS Bootstrap process TODO: revisit when there is defaulting from k/k' properties: bootstrapToken: - description: BootstrapToken is used to set the options - for bootstrap token based discovery BootstrapToken - and File are mutually exclusive + description: BootstrapToken is used to set the options for bootstrap token based discovery BootstrapToken and File are mutually exclusive properties: apiServerEndpoint: - description: APIServerEndpoint is an IP or domain - name to the API server from which info will be - fetched. + description: APIServerEndpoint is an IP or domain name to the API server from which info will be fetched. type: string caCertHashes: - description: 'CACertHashes specifies a set of public - key pins to verify when token-based discovery - is used. The root CA found during discovery must - match one of these values. Specifying an empty - set disables root CA pinning, which can be unsafe. - Each hash is specified as ":", where - the only currently supported type is "sha256". - This is a hex-encoded SHA-256 hash of the Subject - Public Key Info (SPKI) object in DER-encoded ASN.1. - These hashes can be calculated using, for example, - OpenSSL: openssl x509 -pubkey -in ca.crt openssl - rsa -pubin -outform der 2>&/dev/null | openssl - dgst -sha256 -hex' + description: 'CACertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. Each hash is specified as ":", where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL: openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex' items: type: string type: array token: - description: Token is a token used to validate cluster - information fetched from the control-plane. + description: Token is a token used to validate cluster information fetched from the control-plane. type: string unsafeSkipCAVerification: - description: UnsafeSkipCAVerification allows token-based - discovery without CA verification via CACertHashes. - This can weaken the security of kubeadm since - other nodes can impersonate the control-plane. + description: UnsafeSkipCAVerification allows token-based discovery without CA verification via CACertHashes. This can weaken the security of kubeadm since other nodes can impersonate the control-plane. type: boolean required: - token - unsafeSkipCAVerification type: object file: - description: File is used to specify a file or URL to - a kubeconfig file from which to load cluster information - BootstrapToken and File are mutually exclusive + description: File is used to specify a file or URL to a kubeconfig file from which to load cluster information BootstrapToken and File are mutually exclusive properties: kubeConfigPath: - description: KubeConfigPath is used to specify the - actual file path or URL to the kubeconfig file - from which to load cluster information + description: KubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information type: string required: - kubeConfigPath @@ -2628,83 +2026,43 @@ spec: description: Timeout modifies the discovery timeout type: string tlsBootstrapToken: - description: 'TLSBootstrapToken is a token used for - TLS bootstrapping. If .BootstrapToken is set, this - field is defaulted to .BootstrapToken.Token, but can - be overridden. If .File is set, this field **must - be set** in case the KubeConfigFile does not contain - any other authentication information TODO: revisit - when there is defaulting from k/k' + description: 'TLSBootstrapToken is a token used for TLS bootstrapping. If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden. If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information TODO: revisit when there is defaulting from k/k' type: string type: object 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/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' type: string nodeRegistration: - description: NodeRegistration holds fields that relate to - registering the new control-plane node to the cluster + description: NodeRegistration holds fields that relate to registering the new control-plane node to the cluster properties: criSocket: - description: CRISocket is used to retrieve container - runtime info. This information will be annotated to - the Node API object, for later re-use + description: CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use type: string kubeletExtraArgs: additionalProperties: type: string - description: KubeletExtraArgs passes through extra arguments - to the kubelet. The arguments here are passed to the - kubelet command line via the environment file kubeadm - writes at runtime for the kubelet to source. This - overrides the generic base-level configuration in - the kubelet-config-1.X ConfigMap Flags have higher - priority when parsing. These values are local and - specific to the node kubeadm is executing on. + description: KubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. type: object name: - description: Name is the `.Metadata.Name` field of the - Node API object that will be created in this `kubeadm - init` or `kubeadm join` operation. This field is also - used in the CommonName field of the kubelet's client - certificate to the API server. Defaults to the hostname - of the node if not provided. + description: Name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation. This field is also used in the CommonName field of the kubelet's client certificate to the API server. Defaults to the hostname of the node if not provided. type: string taints: - description: 'Taints specifies the taints the Node API - object should be registered with. If this field is - unset, i.e. nil, in the `kubeadm init` process it - will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. - If you don''t want to taint your control-plane node, - set this field to an empty slice, i.e. `taints: {}` - in the YAML file. This field is solely used for Node - registration.' + description: 'Taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process it will be defaulted to []v1.Taint{''node-role.kubernetes.io/master=""''}. If you don''t want to taint your control-plane node, set this field to an empty slice, i.e. `taints: {}` in the YAML file. This field is solely used for Node registration.' items: - description: The node this Taint is attached to has - the "effect" on any pod that does not tolerate the - Taint. + description: The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint - on pods that do not tolerate the taint. Valid - effects are NoSchedule, PreferNoSchedule and - NoExecute. + description: Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Required. The taint key to be applied - to a node. + description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at - which the taint was added. It is only written - for NoExecute taints. + description: TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: - description: Required. The taint value corresponding - to the taint key. + description: Required. The taint value corresponding to the taint key. type: string required: - effect @@ -2728,60 +2086,49 @@ spec: type: array type: object postKubeadmCommands: - description: PostKubeadmCommands specifies extra commands to - run after kubeadm runs + description: PostKubeadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preKubeadmCommands: - description: PreKubeadmCommands specifies extra commands to - run before kubeadm runs + description: PreKubeadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array users: description: Users specifies extra users to add items: - description: User defines the input for a generated user in - cloud-init. + description: User defines the input for a generated user in cloud-init. properties: gecos: - description: Gecos specifies the gecos to use for the - user + description: Gecos specifies the gecos to use for the user type: string groups: - description: Groups specifies the additional groups for - the user + description: Groups specifies the additional groups for the user type: string homeDir: - description: HomeDir specifies the home directory to use - for the user + description: HomeDir specifies the home directory to use for the user type: string inactive: - description: Inactive specifies whether to mark the user - as inactive + description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: - description: LockPassword specifies if password login - should be disabled + description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name type: string passwd: - description: Passwd specifies a hashed password for the - user + description: Passwd specifies a hashed password for the user type: string primaryGroup: - description: PrimaryGroup specifies the primary group - for the user + description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: - description: SSHAuthorizedKeys specifies a list of ssh - authorized keys for the user + description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array @@ -2838,14 +2185,10 @@ spec: 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/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/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/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' type: string metadata: type: object @@ -2853,61 +2196,40 @@ spec: description: MachineDeploymentSpec defines the desired state of MachineDeployment properties: 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) + 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. + 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. + 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. + 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. + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that contains - values, a key, and an operator that relates the key and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the operator - is In or NotIn, the values array must be non-empty. If the - operator is Exists or DoesNotExist, the values array must - be empty. This array is replaced during a strategic merge - patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -2919,56 +2241,28 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator is - "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object strategy: - description: The deployment strategy to use to replace existing machines - with new ones. + 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. + description: Rolling update config params. Present only if MachineDeploymentStrategyType = RollingUpdate. properties: maxSurge: anyOf: - type: string - type: integer - 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.' + 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.' maxUnavailable: anyOf: - type: string - type: integer - 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.' + 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.' type: object type: - description: Type of deployment. Currently the only supported strategy - is "RollingUpdate". Default is RollingUpdate. + description: Type of deployment. Currently the only supported strategy is "RollingUpdate". Default is RollingUpdate. type: string type: object template: @@ -2980,78 +2274,35 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map stored - with a resource that may be set by external tools to store - and retrieve arbitrary metadata. They are not queryable and - should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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" + 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" 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' + 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' + 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' 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" + 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" 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. + 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. 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. + 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. Defaults - to false. To set this field, a user needs "delete" permission - of the owner, otherwise 422 (Unprocessable Entity) will - be returned. + 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. 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. + 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/api-conventions.md#types-kinds' @@ -3071,36 +2322,19 @@ spec: 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' + 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. + 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. + 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.' + 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/api-conventions.md#types-kinds' @@ -3109,43 +2343,27 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/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 data: - description: Data contains the bootstrap data, such as cloud-init - details scripts. If nil, the Machine should remain in - the Pending state. + description: Data contains the bootstrap data, such as cloud-init details scripts. If nil, the Machine should remain in the Pending state. type: string type: object infrastructureRef: - description: InfrastructureRef is a required reference to a - custom resource offered by an infrastructure provider. + 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.' + 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/api-conventions.md#types-kinds' @@ -3157,95 +2375,47 @@ spec: 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/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/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 metadata: - description: 'DEPRECATED: ObjectMeta has no function and isn''t - used anywhere.' + description: 'DEPRECATED: ObjectMeta has no function and isn''t used anywhere.' 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' + 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" + 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" 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' + 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' + 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' 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" + 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" 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. + 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. 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. + 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. - Defaults to false. To set this field, a user needs - "delete" permission of the owner, otherwise 422 - (Unprocessable Entity) will be returned. + 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. 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. + 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/api-conventions.md#types-kinds' @@ -3265,26 +2435,10 @@ spec: type: array type: object 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -3299,8 +2453,7 @@ spec: 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. + description: Total number of available machines (ready for at least minReadySeconds) targeted by this deployment. format: int32 type: integer observedGeneration: @@ -3312,27 +2465,18 @@ spec: format: int32 type: integer replicas: - description: Total number of non-terminated machines targeted by this - deployment (their labels match the selector). + 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' + 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. + 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. + description: Total number of non-terminated machines targeted by this deployment that have the desired template spec. format: int32 type: integer type: object @@ -3387,14 +2531,10 @@ spec: 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/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/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/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' type: string metadata: type: object @@ -3402,30 +2542,16 @@ 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. + 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. + 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.' + 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/api-conventions.md#types-kinds' @@ -3437,38 +2563,24 @@ spec: 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/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/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 data: - description: Data contains the bootstrap data, such as cloud-init - details scripts. If nil, the Machine should remain in the Pending - state. + description: Data contains the bootstrap data, such as cloud-init details scripts. If nil, the Machine should remain in the Pending state. type: string type: object infrastructureRef: - description: InfrastructureRef is a required reference to a custom resource - offered by an infrastructure provider. + 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.' + 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/api-conventions.md#types-kinds' @@ -3480,89 +2592,47 @@ spec: 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/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/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 metadata: - description: 'DEPRECATED: ObjectMeta has no function and isn''t used - anywhere.' + description: 'DEPRECATED: ObjectMeta has no function and isn''t used anywhere.' 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' + 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" + 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" 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' + 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' + 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' 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" + 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" 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. + 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. 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. + 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. Defaults to false. - To set this field, a user needs "delete" permission of the - owner, otherwise 422 (Unprocessable Entity) will be returned. + 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. 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. + 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/api-conventions.md#types-kinds' @@ -3582,24 +2652,10 @@ spec: type: array type: object 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -3609,8 +2665,7 @@ spec: 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. + 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: @@ -3618,8 +2673,7 @@ spec: description: The machine address. type: string type: - description: Machine address type, one of Hostname, ExternalIP - or InternalIP. + description: Machine address type, one of Hostname, ExternalIP or InternalIP. type: string required: - address @@ -3630,38 +2684,13 @@ spec: description: BootstrapReady is the state of the bootstrap provider. type: boolean errorMessage: - description: "ErrorMessage 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." + description: "ErrorMessage 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 errorReason: - description: "ErrorReason 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." + description: "ErrorReason 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. + description: InfrastructureReady is the state of the infrastructure provider. type: boolean lastUpdated: description: LastUpdated identifies when this status was last observed. @@ -3674,17 +2703,7 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of an - entire object, this string should contain a valid JSON/Go field - access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen only - to have some well-defined way of referencing a part of an object. - TODO: this design is not final and this field is subject to change - in the future.' + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' type: string kind: description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' @@ -3696,22 +2715,17 @@ spec: 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/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/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 phase: - description: Phase represents the current phase of machine actuation. - E.g. Pending, Running, Terminating, Failed etc. + 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. + 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 @@ -3755,14 +2769,10 @@ spec: 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/api-conventions.md#resources' + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/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/api-conventions.md#types-kinds' + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' type: string metadata: type: object @@ -3770,54 +2780,36 @@ spec: description: MachineSetSpec defines the desired state of MachineSet properties: deletePolicy: - description: DeletePolicy defines the policy used to identify nodes - to delete when downscaling. Defaults to "Random". Valid values are - "Random, "Newest", "Oldest" + 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) + 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. + 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' + 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. + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that contains - values, a key, and an operator that relates the key and values. + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies - to. + 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. + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the operator - is In or NotIn, the values array must be non-empty. If the - operator is Exists or DoesNotExist, the values array must - be empty. This array is replaced during a strategic merge - patch. + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array @@ -3829,17 +2821,11 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator is - "In", and the values array contains only "value". The requirements - are ANDed. + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object template: - description: Template is the object that describes the machine that - will be created if insufficient replicas are detected. Object references - to custom resources resources are treated as templates. + description: Template is the object that describes the machine that will be created if insufficient replicas are detected. Object references to custom resources 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' @@ -3847,78 +2833,35 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map stored - with a resource that may be set by external tools to store - and retrieve arbitrary metadata. They are not queryable and - should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' + description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: 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" + 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" 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' + 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' + 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' 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" + 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" 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. + 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. 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. + 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. Defaults - to false. To set this field, a user needs "delete" permission - of the owner, otherwise 422 (Unprocessable Entity) will - be returned. + 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. 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. + 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/api-conventions.md#types-kinds' @@ -3938,36 +2881,19 @@ spec: 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' + 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. + 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. + 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.' + 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/api-conventions.md#types-kinds' @@ -3976,43 +2902,27 @@ spec: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: - description: 'Namespace of the referent. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string resourceVersion: - description: 'Specific resourceVersion to which this - reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/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 data: - description: Data contains the bootstrap data, such as cloud-init - details scripts. If nil, the Machine should remain in - the Pending state. + description: Data contains the bootstrap data, such as cloud-init details scripts. If nil, the Machine should remain in the Pending state. type: string type: object infrastructureRef: - description: InfrastructureRef is a required reference to a - custom resource offered by an infrastructure provider. + 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.' + 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/api-conventions.md#types-kinds' @@ -4024,95 +2934,47 @@ spec: 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/api-conventions.md#concurrency-control-and-consistency' + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/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 metadata: - description: 'DEPRECATED: ObjectMeta has no function and isn''t - used anywhere.' + description: 'DEPRECATED: ObjectMeta has no function and isn''t used anywhere.' 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' + 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" + 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" 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' + 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' + 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' 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" + 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" 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. + 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. 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. + 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. - Defaults to false. To set this field, a user needs - "delete" permission of the owner, otherwise 422 - (Unprocessable Entity) will be returned. + 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. 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. + 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/api-conventions.md#types-kinds' @@ -4132,26 +2994,10 @@ spec: type: array type: object 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. + 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. + description: Version defines the desired Kubernetes version. This field is meant to be optionally used by bootstrap providers. type: string required: - bootstrap @@ -4165,42 +3011,24 @@ spec: description: MachineSetStatus defines the observed state of MachineSet properties: availableReplicas: - description: The number of available replicas (ready for at least minReadySeconds) - for this MachineSet. + description: The number of available replicas (ready for at least minReadySeconds) for this MachineSet. format: int32 type: integer errorMessage: type: string errorReason: - description: "In the event that there is a terminal problem reconciling - the replicas, both ErrorReason and ErrorMessage will be set. ErrorReason - will be populated with a succinct value suitable for machine interpretation, - while ErrorMessage 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." + description: "In the event that there is a terminal problem reconciling the replicas, both ErrorReason and ErrorMessage will be set. ErrorReason will be populated with a succinct value suitable for machine interpretation, while ErrorMessage 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. + 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. + 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". + 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: @@ -4208,10 +3036,7 @@ spec: 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' + 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 required: - replicas diff --git a/security/kubelogin-poc/k8s/config.yaml b/security/kubelogin-poc/k8s/config.yaml index 7233636f..2c66283d 100644 --- a/security/kubelogin-poc/k8s/config.yaml +++ b/security/kubelogin-poc/k8s/config.yaml @@ -88,7 +88,7 @@ connectors: # String representation of the user. idAttr: uidNumber # Required. Attribute to map to Email. - emailAttr: sn # email + emailAttr: sn # email # Maps to display name of users. No default value. nameAttr: cn # Maps to preferred username of users. No default value. @@ -118,8 +118,7 @@ oauth2: enablePasswordDB: true staticPasswords: - - email: "admin@example.com" - hash: "$2a$10$2b2cU8CPhOTaGrs1HRQuAueS7JTT5ZHsHSzYiFPm1leZck7Mc8T4W" - username: "admin" - userID: "08a8684b-db88-4b73-90a9-3cd1661f5466" - +- email: "admin@example.com" + hash: "$2a$10$2b2cU8CPhOTaGrs1HRQuAueS7JTT5ZHsHSzYiFPm1leZck7Mc8T4W" + username: "admin" + userID: "08a8684b-db88-4b73-90a9-3cd1661f5466" diff --git a/vms-in-kubernetes/kubevirt-vm.yml b/vms-in-kubernetes/kubevirt-vm.yml index 9300f44c..1df1dcd2 100644 --- a/vms-in-kubernetes/kubevirt-vm.yml +++ b/vms-in-kubernetes/kubevirt-vm.yml @@ -17,15 +17,15 @@ spec: cores: 4 devices: disks: - - name: containervolume - disk: - bus: virtio - - name: mypvcdisk - disk: - bus: virtio - - name: cloudinitvolume - disk: - bus: virtio + - name: containervolume + disk: + bus: virtio + - name: mypvcdisk + disk: + bus: virtio + - name: cloudinitvolume + disk: + bus: virtio interfaces: - name: default bridge: {} @@ -37,18 +37,18 @@ spec: - name: default pod: {} volumes: - - name: containervolume - containerDisk: - image: tedezed/ubuntu-container-disk:16.0 - - name: mypvcdisk - persistentVolumeClaim: - claimName: kubevirt-pv-claim - - name: cloudinitvolume - cloudInitNoCloud: - userData: |- - #cloud-config - chpasswd: - list: | - ubuntu:mypassword - root:root - expire: False + - name: containervolume + containerDisk: + image: tedezed/ubuntu-container-disk:16.0 + - name: mypvcdisk + persistentVolumeClaim: + claimName: kubevirt-pv-claim + - name: cloudinitvolume + cloudInitNoCloud: + userData: |- + #cloud-config + chpasswd: + list: | + ubuntu:mypassword + root:root + expire: False diff --git a/vms-in-kubernetes/virtlet-vm.yml b/vms-in-kubernetes/virtlet-vm.yml index 311cb9c8..ea370e71 100644 --- a/vms-in-kubernetes/virtlet-vm.yml +++ b/vms-in-kubernetes/virtlet-vm.yml @@ -6,7 +6,7 @@ metadata: name: virtlet-vm annotations: kubernetes.io/target-runtime: virtlet.cloud - VirtletSSHKeys: | + VirtletSSHKeys: "" # Paste your ssh public key here VirtletVCPUCount: "4" spec: