github.com/verrazzano/verrazzano@v1.7.1/platform-operator/capi/cluster-api/v1.5.3/core-components.yaml (about) 1 # Copyright (c) 2023, Oracle and/or its affiliates. 2 # Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. 3 4 5 apiVersion: v1 6 kind: Namespace 7 metadata: 8 labels: 9 cluster.x-k8s.io/provider: cluster-api 10 control-plane: controller-manager 11 name: capi-system 12 --- 13 apiVersion: apiextensions.k8s.io/v1 14 kind: CustomResourceDefinition 15 metadata: 16 annotations: 17 cert-manager.io/inject-ca-from: capi-system/capi-serving-cert 18 controller-gen.kubebuilder.io/version: v0.12.0 19 labels: 20 cluster.x-k8s.io/provider: cluster-api 21 name: clusterclasses.cluster.x-k8s.io 22 spec: 23 conversion: 24 strategy: Webhook 25 webhook: 26 clientConfig: 27 caBundle: Cg== 28 service: 29 name: capi-webhook-service 30 namespace: capi-system 31 path: /convert 32 conversionReviewVersions: 33 - v1 34 - v1beta1 35 group: cluster.x-k8s.io 36 names: 37 categories: 38 - cluster-api 39 kind: ClusterClass 40 listKind: ClusterClassList 41 plural: clusterclasses 42 shortNames: 43 - cc 44 singular: clusterclass 45 scope: Namespaced 46 versions: 47 - additionalPrinterColumns: 48 - description: Time duration since creation of ClusterClass 49 jsonPath: .metadata.creationTimestamp 50 name: Age 51 type: date 52 deprecated: true 53 name: v1alpha4 54 schema: 55 openAPIV3Schema: 56 description: "ClusterClass is a template which can be used to create managed 57 topologies. \n Deprecated: This type will be removed in one of the next 58 releases." 59 properties: 60 apiVersion: 61 description: 'APIVersion defines the versioned schema of this representation 62 of an object. Servers should convert recognized schemas to the latest 63 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 64 type: string 65 kind: 66 description: 'Kind is a string value representing the REST resource this 67 object represents. Servers may infer this from the endpoint the client 68 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 69 type: string 70 metadata: 71 type: object 72 spec: 73 description: ClusterClassSpec describes the desired state of the ClusterClass. 74 properties: 75 controlPlane: 76 description: ControlPlane is a reference to a local struct that holds 77 the details for provisioning the Control Plane for the Cluster. 78 properties: 79 machineInfrastructure: 80 description: "MachineTemplate defines the metadata and infrastructure 81 information for control plane machines. \n This field is supported 82 if and only if the control plane provider template referenced 83 above is Machine based and supports setting replicas." 84 properties: 85 ref: 86 description: Ref is a required reference to a custom resource 87 offered by a provider. 88 properties: 89 apiVersion: 90 description: API version of the referent. 91 type: string 92 fieldPath: 93 description: 'If referring to a piece of an object instead 94 of an entire object, this string should contain a valid 95 JSON/Go field access statement, such as desiredState.manifest.containers[2]. 96 For example, if the object reference is to a container 97 within a pod, this would take on a value like: "spec.containers{name}" 98 (where "name" refers to the name of the container that 99 triggered the event) or if no container name is specified 100 "spec.containers[2]" (container with index 2 in this 101 pod). This syntax is chosen only to have some well-defined 102 way of referencing a part of an object. TODO: this design 103 is not final and this field is subject to change in 104 the future.' 105 type: string 106 kind: 107 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 108 type: string 109 name: 110 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 111 type: string 112 namespace: 113 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 114 type: string 115 resourceVersion: 116 description: 'Specific resourceVersion to which this reference 117 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 118 type: string 119 uid: 120 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 121 type: string 122 type: object 123 x-kubernetes-map-type: atomic 124 required: 125 - ref 126 type: object 127 metadata: 128 description: "Metadata is the metadata applied to the machines 129 of the ControlPlane. At runtime this metadata is merged with 130 the corresponding metadata from the topology. \n This field 131 is supported if and only if the control plane provider template 132 referenced is Machine based." 133 properties: 134 annotations: 135 additionalProperties: 136 type: string 137 description: 'Annotations is an unstructured key value map 138 stored with a resource that may be set by external tools 139 to store and retrieve arbitrary metadata. They are not queryable 140 and should be preserved when modifying objects. More info: 141 http://kubernetes.io/docs/user-guide/annotations' 142 type: object 143 labels: 144 additionalProperties: 145 type: string 146 description: 'Map of string keys and values that can be used 147 to organize and categorize (scope and select) objects. May 148 match selectors of replication controllers and services. 149 More info: http://kubernetes.io/docs/user-guide/labels' 150 type: object 151 type: object 152 ref: 153 description: Ref is a required reference to a custom resource 154 offered by a provider. 155 properties: 156 apiVersion: 157 description: API version of the referent. 158 type: string 159 fieldPath: 160 description: 'If referring to a piece of an object instead 161 of an entire object, this string should contain a valid 162 JSON/Go field access statement, such as desiredState.manifest.containers[2]. 163 For example, if the object reference is to a container within 164 a pod, this would take on a value like: "spec.containers{name}" 165 (where "name" refers to the name of the container that triggered 166 the event) or if no container name is specified "spec.containers[2]" 167 (container with index 2 in this pod). This syntax is chosen 168 only to have some well-defined way of referencing a part 169 of an object. TODO: this design is not final and this field 170 is subject to change in the future.' 171 type: string 172 kind: 173 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 174 type: string 175 name: 176 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 177 type: string 178 namespace: 179 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 180 type: string 181 resourceVersion: 182 description: 'Specific resourceVersion to which this reference 183 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 184 type: string 185 uid: 186 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 187 type: string 188 type: object 189 x-kubernetes-map-type: atomic 190 required: 191 - ref 192 type: object 193 infrastructure: 194 description: Infrastructure is a reference to a provider-specific 195 template that holds the details for provisioning infrastructure 196 specific cluster for the underlying provider. The underlying provider 197 is responsible for the implementation of the template to an infrastructure 198 cluster. 199 properties: 200 ref: 201 description: Ref is a required reference to a custom resource 202 offered by a provider. 203 properties: 204 apiVersion: 205 description: API version of the referent. 206 type: string 207 fieldPath: 208 description: 'If referring to a piece of an object instead 209 of an entire object, this string should contain a valid 210 JSON/Go field access statement, such as desiredState.manifest.containers[2]. 211 For example, if the object reference is to a container within 212 a pod, this would take on a value like: "spec.containers{name}" 213 (where "name" refers to the name of the container that triggered 214 the event) or if no container name is specified "spec.containers[2]" 215 (container with index 2 in this pod). This syntax is chosen 216 only to have some well-defined way of referencing a part 217 of an object. TODO: this design is not final and this field 218 is subject to change in the future.' 219 type: string 220 kind: 221 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 222 type: string 223 name: 224 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 225 type: string 226 namespace: 227 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 228 type: string 229 resourceVersion: 230 description: 'Specific resourceVersion to which this reference 231 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 232 type: string 233 uid: 234 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 235 type: string 236 type: object 237 x-kubernetes-map-type: atomic 238 required: 239 - ref 240 type: object 241 workers: 242 description: Workers describes the worker nodes for the cluster. It 243 is a collection of node types which can be used to create the worker 244 nodes of the cluster. 245 properties: 246 machineDeployments: 247 description: MachineDeployments is a list of machine deployment 248 classes that can be used to create a set of worker nodes. 249 items: 250 description: MachineDeploymentClass serves as a template to 251 define a set of worker nodes of the cluster provisioned using 252 the `ClusterClass`. 253 properties: 254 class: 255 description: Class denotes a type of worker node present 256 in the cluster, this name MUST be unique within a ClusterClass 257 and can be referenced in the Cluster to create a managed 258 MachineDeployment. 259 type: string 260 template: 261 description: Template is a local struct containing a collection 262 of templates for creation of MachineDeployment objects 263 representing a set of worker nodes. 264 properties: 265 bootstrap: 266 description: Bootstrap contains the bootstrap template 267 reference to be used for the creation of worker Machines. 268 properties: 269 ref: 270 description: Ref is a required reference to a custom 271 resource offered by a provider. 272 properties: 273 apiVersion: 274 description: API version of the referent. 275 type: string 276 fieldPath: 277 description: 'If referring to a piece of an 278 object instead of an entire object, this string 279 should contain a valid JSON/Go field access 280 statement, such as desiredState.manifest.containers[2]. 281 For example, if the object reference is to 282 a container within a pod, this would take 283 on a value like: "spec.containers{name}" (where 284 "name" refers to the name of the container 285 that triggered the event) or if no container 286 name is specified "spec.containers[2]" (container 287 with index 2 in this pod). This syntax is 288 chosen only to have some well-defined way 289 of referencing a part of an object. TODO: 290 this design is not final and this field is 291 subject to change in the future.' 292 type: string 293 kind: 294 description: 'Kind of the referent. More info: 295 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 296 type: string 297 name: 298 description: 'Name of the referent. More info: 299 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 300 type: string 301 namespace: 302 description: 'Namespace of the referent. More 303 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 304 type: string 305 resourceVersion: 306 description: 'Specific resourceVersion to which 307 this reference is made, if any. More info: 308 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 309 type: string 310 uid: 311 description: 'UID of the referent. More info: 312 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 313 type: string 314 type: object 315 x-kubernetes-map-type: atomic 316 required: 317 - ref 318 type: object 319 infrastructure: 320 description: Infrastructure contains the infrastructure 321 template reference to be used for the creation of 322 worker Machines. 323 properties: 324 ref: 325 description: Ref is a required reference to a custom 326 resource offered by a provider. 327 properties: 328 apiVersion: 329 description: API version of the referent. 330 type: string 331 fieldPath: 332 description: 'If referring to a piece of an 333 object instead of an entire object, this string 334 should contain a valid JSON/Go field access 335 statement, such as desiredState.manifest.containers[2]. 336 For example, if the object reference is to 337 a container within a pod, this would take 338 on a value like: "spec.containers{name}" (where 339 "name" refers to the name of the container 340 that triggered the event) or if no container 341 name is specified "spec.containers[2]" (container 342 with index 2 in this pod). This syntax is 343 chosen only to have some well-defined way 344 of referencing a part of an object. TODO: 345 this design is not final and this field is 346 subject to change in the future.' 347 type: string 348 kind: 349 description: 'Kind of the referent. More info: 350 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 351 type: string 352 name: 353 description: 'Name of the referent. More info: 354 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 355 type: string 356 namespace: 357 description: 'Namespace of the referent. More 358 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 359 type: string 360 resourceVersion: 361 description: 'Specific resourceVersion to which 362 this reference is made, if any. More info: 363 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 364 type: string 365 uid: 366 description: 'UID of the referent. More info: 367 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 368 type: string 369 type: object 370 x-kubernetes-map-type: atomic 371 required: 372 - ref 373 type: object 374 metadata: 375 description: Metadata is the metadata applied to the 376 machines of the MachineDeployment. At runtime this 377 metadata is merged with the corresponding metadata 378 from the topology. 379 properties: 380 annotations: 381 additionalProperties: 382 type: string 383 description: 'Annotations is an unstructured key 384 value map stored with a resource that may be set 385 by external tools to store and retrieve arbitrary 386 metadata. They are not queryable and should be 387 preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' 388 type: object 389 labels: 390 additionalProperties: 391 type: string 392 description: 'Map of string keys and values that 393 can be used to organize and categorize (scope 394 and select) objects. May match selectors of replication 395 controllers and services. More info: http://kubernetes.io/docs/user-guide/labels' 396 type: object 397 type: object 398 required: 399 - bootstrap 400 - infrastructure 401 type: object 402 required: 403 - class 404 - template 405 type: object 406 type: array 407 type: object 408 type: object 409 type: object 410 served: true 411 storage: false 412 subresources: {} 413 - additionalPrinterColumns: 414 - description: Time duration since creation of ClusterClass 415 jsonPath: .metadata.creationTimestamp 416 name: Age 417 type: date 418 name: v1beta1 419 schema: 420 openAPIV3Schema: 421 description: ClusterClass is a template which can be used to create managed 422 topologies. 423 properties: 424 apiVersion: 425 description: 'APIVersion defines the versioned schema of this representation 426 of an object. Servers should convert recognized schemas to the latest 427 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 428 type: string 429 kind: 430 description: 'Kind is a string value representing the REST resource this 431 object represents. Servers may infer this from the endpoint the client 432 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 433 type: string 434 metadata: 435 type: object 436 spec: 437 description: ClusterClassSpec describes the desired state of the ClusterClass. 438 properties: 439 controlPlane: 440 description: ControlPlane is a reference to a local struct that holds 441 the details for provisioning the Control Plane for the Cluster. 442 properties: 443 machineHealthCheck: 444 description: MachineHealthCheck defines a MachineHealthCheck for 445 this ControlPlaneClass. This field is supported if and only 446 if the ControlPlane provider template referenced above is Machine 447 based and supports setting replicas. 448 properties: 449 maxUnhealthy: 450 anyOf: 451 - type: integer 452 - type: string 453 description: Any further remediation is only allowed if at 454 most "MaxUnhealthy" machines selected by "selector" are 455 not healthy. 456 x-kubernetes-int-or-string: true 457 nodeStartupTimeout: 458 description: Machines older than this duration without a node 459 will be considered to have failed and will be remediated. 460 If you wish to disable this feature, set the value explicitly 461 to 0. 462 type: string 463 remediationTemplate: 464 description: "RemediationTemplate is a reference to a remediation 465 template provided by an infrastructure provider. \n This 466 field is completely optional, when filled, the MachineHealthCheck 467 controller creates a new object from the template referenced 468 and hands off remediation of the machine to a controller 469 that lives outside of Cluster API." 470 properties: 471 apiVersion: 472 description: API version of the referent. 473 type: string 474 fieldPath: 475 description: 'If referring to a piece of an object instead 476 of an entire object, this string should contain a valid 477 JSON/Go field access statement, such as desiredState.manifest.containers[2]. 478 For example, if the object reference is to a container 479 within a pod, this would take on a value like: "spec.containers{name}" 480 (where "name" refers to the name of the container that 481 triggered the event) or if no container name is specified 482 "spec.containers[2]" (container with index 2 in this 483 pod). This syntax is chosen only to have some well-defined 484 way of referencing a part of an object. TODO: this design 485 is not final and this field is subject to change in 486 the future.' 487 type: string 488 kind: 489 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 490 type: string 491 name: 492 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 493 type: string 494 namespace: 495 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 496 type: string 497 resourceVersion: 498 description: 'Specific resourceVersion to which this reference 499 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 500 type: string 501 uid: 502 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 503 type: string 504 type: object 505 x-kubernetes-map-type: atomic 506 unhealthyConditions: 507 description: UnhealthyConditions contains a list of the conditions 508 that determine whether a node is considered unhealthy. The 509 conditions are combined in a logical OR, i.e. if any of 510 the conditions is met, the node is unhealthy. 511 items: 512 description: UnhealthyCondition represents a Node condition 513 type and value with a timeout specified as a duration. When 514 the named condition has been in the given status for at 515 least the timeout value, a node is considered unhealthy. 516 properties: 517 status: 518 minLength: 1 519 type: string 520 timeout: 521 type: string 522 type: 523 minLength: 1 524 type: string 525 required: 526 - status 527 - timeout 528 - type 529 type: object 530 type: array 531 unhealthyRange: 532 description: 'Any further remediation is only allowed if the 533 number of machines selected by "selector" as not healthy 534 is within the range of "UnhealthyRange". Takes precedence 535 over MaxUnhealthy. Eg. "[3-5]" - This means that remediation 536 will be allowed only when: (a) there are at least 3 unhealthy 537 machines (and) (b) there are at most 5 unhealthy machines' 538 pattern: ^\[[0-9]+-[0-9]+\]$ 539 type: string 540 type: object 541 machineInfrastructure: 542 description: "MachineInfrastructure defines the metadata and infrastructure 543 information for control plane machines. \n This field is supported 544 if and only if the control plane provider template referenced 545 above is Machine based and supports setting replicas." 546 properties: 547 ref: 548 description: Ref is a required reference to a custom resource 549 offered by a provider. 550 properties: 551 apiVersion: 552 description: API version of the referent. 553 type: string 554 fieldPath: 555 description: 'If referring to a piece of an object instead 556 of an entire object, this string should contain a valid 557 JSON/Go field access statement, such as desiredState.manifest.containers[2]. 558 For example, if the object reference is to a container 559 within a pod, this would take on a value like: "spec.containers{name}" 560 (where "name" refers to the name of the container that 561 triggered the event) or if no container name is specified 562 "spec.containers[2]" (container with index 2 in this 563 pod). This syntax is chosen only to have some well-defined 564 way of referencing a part of an object. TODO: this design 565 is not final and this field is subject to change in 566 the future.' 567 type: string 568 kind: 569 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 570 type: string 571 name: 572 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 573 type: string 574 namespace: 575 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 576 type: string 577 resourceVersion: 578 description: 'Specific resourceVersion to which this reference 579 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 580 type: string 581 uid: 582 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 583 type: string 584 type: object 585 x-kubernetes-map-type: atomic 586 required: 587 - ref 588 type: object 589 metadata: 590 description: "Metadata is the metadata applied to the ControlPlane 591 and the Machines of the ControlPlane if the ControlPlaneTemplate 592 referenced is machine based. If not, it is applied only to the 593 ControlPlane. At runtime this metadata is merged with the corresponding 594 metadata from the topology. \n This field is supported if and 595 only if the control plane provider template referenced is Machine 596 based." 597 properties: 598 annotations: 599 additionalProperties: 600 type: string 601 description: 'Annotations is an unstructured key value map 602 stored with a resource that may be set by external tools 603 to store and retrieve arbitrary metadata. They are not queryable 604 and should be preserved when modifying objects. More info: 605 http://kubernetes.io/docs/user-guide/annotations' 606 type: object 607 labels: 608 additionalProperties: 609 type: string 610 description: 'Map of string keys and values that can be used 611 to organize and categorize (scope and select) objects. May 612 match selectors of replication controllers and services. 613 More info: http://kubernetes.io/docs/user-guide/labels' 614 type: object 615 type: object 616 namingStrategy: 617 description: NamingStrategy allows changing the naming pattern 618 used when creating the control plane provider object. 619 properties: 620 template: 621 description: 'Template defines the template to use for generating 622 the name of the ControlPlane object. If not defined, it 623 will fallback to `{{ .cluster.name }}-{{ .random }}`. If 624 the templated string exceeds 63 characters, it will be trimmed 625 to 58 characters and will get concatenated with a random 626 suffix of length 5. The templating mechanism provides the 627 following arguments: * `.cluster.name`: The name of the 628 cluster object. * `.random`: A random alphanumeric string, 629 without vowels, of length 5.' 630 type: string 631 type: object 632 nodeDeletionTimeout: 633 description: 'NodeDeletionTimeout defines how long the controller 634 will attempt to delete the Node that the Machine hosts after 635 the Machine is marked for deletion. A duration of 0 will retry 636 deletion indefinitely. Defaults to 10 seconds. NOTE: This value 637 can be overridden while defining a Cluster.Topology.' 638 type: string 639 nodeDrainTimeout: 640 description: 'NodeDrainTimeout is the total amount of time that 641 the controller will spend on draining a node. The default value 642 is 0, meaning that the node can be drained without any time 643 limitations. NOTE: NodeDrainTimeout is different from `kubectl 644 drain --timeout` NOTE: This value can be overridden while defining 645 a Cluster.Topology.' 646 type: string 647 nodeVolumeDetachTimeout: 648 description: 'NodeVolumeDetachTimeout is the total amount of time 649 that the controller will spend on waiting for all volumes to 650 be detached. The default value is 0, meaning that the volumes 651 can be detached without any time limitations. NOTE: This value 652 can be overridden while defining a Cluster.Topology.' 653 type: string 654 ref: 655 description: Ref is a required reference to a custom resource 656 offered by a provider. 657 properties: 658 apiVersion: 659 description: API version of the referent. 660 type: string 661 fieldPath: 662 description: 'If referring to a piece of an object instead 663 of an entire object, this string should contain a valid 664 JSON/Go field access statement, such as desiredState.manifest.containers[2]. 665 For example, if the object reference is to a container within 666 a pod, this would take on a value like: "spec.containers{name}" 667 (where "name" refers to the name of the container that triggered 668 the event) or if no container name is specified "spec.containers[2]" 669 (container with index 2 in this pod). This syntax is chosen 670 only to have some well-defined way of referencing a part 671 of an object. TODO: this design is not final and this field 672 is subject to change in the future.' 673 type: string 674 kind: 675 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 676 type: string 677 name: 678 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 679 type: string 680 namespace: 681 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 682 type: string 683 resourceVersion: 684 description: 'Specific resourceVersion to which this reference 685 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 686 type: string 687 uid: 688 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 689 type: string 690 type: object 691 x-kubernetes-map-type: atomic 692 required: 693 - ref 694 type: object 695 infrastructure: 696 description: Infrastructure is a reference to a provider-specific 697 template that holds the details for provisioning infrastructure 698 specific cluster for the underlying provider. The underlying provider 699 is responsible for the implementation of the template to an infrastructure 700 cluster. 701 properties: 702 ref: 703 description: Ref is a required reference to a custom resource 704 offered by a provider. 705 properties: 706 apiVersion: 707 description: API version of the referent. 708 type: string 709 fieldPath: 710 description: 'If referring to a piece of an object instead 711 of an entire object, this string should contain a valid 712 JSON/Go field access statement, such as desiredState.manifest.containers[2]. 713 For example, if the object reference is to a container within 714 a pod, this would take on a value like: "spec.containers{name}" 715 (where "name" refers to the name of the container that triggered 716 the event) or if no container name is specified "spec.containers[2]" 717 (container with index 2 in this pod). This syntax is chosen 718 only to have some well-defined way of referencing a part 719 of an object. TODO: this design is not final and this field 720 is subject to change in the future.' 721 type: string 722 kind: 723 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 724 type: string 725 name: 726 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 727 type: string 728 namespace: 729 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 730 type: string 731 resourceVersion: 732 description: 'Specific resourceVersion to which this reference 733 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 734 type: string 735 uid: 736 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 737 type: string 738 type: object 739 x-kubernetes-map-type: atomic 740 required: 741 - ref 742 type: object 743 patches: 744 description: 'Patches defines the patches which are applied to customize 745 referenced templates of a ClusterClass. Note: Patches will be applied 746 in the order of the array.' 747 items: 748 description: ClusterClassPatch defines a patch which is applied 749 to customize the referenced templates. 750 properties: 751 definitions: 752 description: 'Definitions define inline patches. Note: Patches 753 will be applied in the order of the array. Note: Exactly one 754 of Definitions or External must be set.' 755 items: 756 description: PatchDefinition defines a patch which is applied 757 to customize the referenced templates. 758 properties: 759 jsonPatches: 760 description: 'JSONPatches defines the patches which should 761 be applied on the templates matching the selector. Note: 762 Patches will be applied in the order of the array.' 763 items: 764 description: JSONPatch defines a JSON patch. 765 properties: 766 op: 767 description: 'Op defines the operation of the patch. 768 Note: Only `add`, `replace` and `remove` are supported.' 769 type: string 770 path: 771 description: 'Path defines the path of the patch. 772 Note: Only the spec of a template can be patched, 773 thus the path has to start with /spec/. Note: 774 For now the only allowed array modifications are 775 `append` and `prepend`, i.e.: * for op: `add`: 776 only index 0 (prepend) and - (append) are allowed 777 * for op: `replace` or `remove`: no indexes are 778 allowed' 779 type: string 780 value: 781 description: 'Value defines the value of the patch. 782 Note: Either Value or ValueFrom is required for 783 add and replace operations. Only one of them is 784 allowed to be set at the same time. Note: We have 785 to use apiextensionsv1.JSON instead of our JSON 786 type, because controller-tools has a hard-coded 787 schema for apiextensionsv1.JSON which cannot be 788 produced by another type (unset type field). Ref: 789 https://github.com/kubernetes-sigs/controller-tools/blob/d0e03a142d0ecdd5491593e941ee1d6b5d91dba6/pkg/crd/known_types.go#L106-L111' 790 x-kubernetes-preserve-unknown-fields: true 791 valueFrom: 792 description: 'ValueFrom defines the value of the 793 patch. Note: Either Value or ValueFrom is required 794 for add and replace operations. Only one of them 795 is allowed to be set at the same time.' 796 properties: 797 template: 798 description: 'Template is the Go template to 799 be used to calculate the value. A template 800 can reference variables defined in .spec.variables 801 and builtin variables. Note: The template 802 must evaluate to a valid YAML or JSON value.' 803 type: string 804 variable: 805 description: Variable is the variable to be 806 used as value. Variable can be one of the 807 variables defined in .spec.variables or a 808 builtin variable. 809 type: string 810 type: object 811 required: 812 - op 813 - path 814 type: object 815 type: array 816 selector: 817 description: Selector defines on which templates the patch 818 should be applied. 819 properties: 820 apiVersion: 821 description: APIVersion filters templates by apiVersion. 822 type: string 823 kind: 824 description: Kind filters templates by kind. 825 type: string 826 matchResources: 827 description: MatchResources selects templates based 828 on where they are referenced. 829 properties: 830 controlPlane: 831 description: 'ControlPlane selects templates referenced 832 in .spec.ControlPlane. Note: this will match 833 the controlPlane and also the controlPlane machineInfrastructure 834 (depending on the kind and apiVersion).' 835 type: boolean 836 infrastructureCluster: 837 description: InfrastructureCluster selects templates 838 referenced in .spec.infrastructure. 839 type: boolean 840 machineDeploymentClass: 841 description: MachineDeploymentClass selects templates 842 referenced in specific MachineDeploymentClasses 843 in .spec.workers.machineDeployments. 844 properties: 845 names: 846 description: Names selects templates by class 847 names. 848 items: 849 type: string 850 type: array 851 type: object 852 type: object 853 required: 854 - apiVersion 855 - kind 856 - matchResources 857 type: object 858 required: 859 - jsonPatches 860 - selector 861 type: object 862 type: array 863 description: 864 description: Description is a human-readable description of 865 this patch. 866 type: string 867 enabledIf: 868 description: EnabledIf is a Go template to be used to calculate 869 if a patch should be enabled. It can reference variables defined 870 in .spec.variables and builtin variables. The patch will be 871 enabled if the template evaluates to `true`, otherwise it 872 will be disabled. If EnabledIf is not set, the patch will 873 be enabled per default. 874 type: string 875 external: 876 description: 'External defines an external patch. Note: Exactly 877 one of Definitions or External must be set.' 878 properties: 879 discoverVariablesExtension: 880 description: DiscoverVariablesExtension references an extension 881 which is called to discover variables. 882 type: string 883 generateExtension: 884 description: GenerateExtension references an extension which 885 is called to generate patches. 886 type: string 887 settings: 888 additionalProperties: 889 type: string 890 description: Settings defines key value pairs to be passed 891 to the extensions. Values defined here take precedence 892 over the values defined in the corresponding ExtensionConfig. 893 type: object 894 validateExtension: 895 description: ValidateExtension references an extension which 896 is called to validate the topology. 897 type: string 898 type: object 899 name: 900 description: Name of the patch. 901 type: string 902 required: 903 - name 904 type: object 905 type: array 906 variables: 907 description: Variables defines the variables which can be configured 908 in the Cluster topology and are then used in patches. 909 items: 910 description: ClusterClassVariable defines a variable which can be 911 configured in the Cluster topology and used in patches. 912 properties: 913 name: 914 description: Name of the variable. 915 type: string 916 required: 917 description: 'Required specifies if the variable is required. 918 Note: this applies to the variable as a whole and thus the 919 top-level object defined in the schema. If nested fields are 920 required, this will be specified inside the schema.' 921 type: boolean 922 schema: 923 description: Schema defines the schema of the variable. 924 properties: 925 openAPIV3Schema: 926 description: OpenAPIV3Schema defines the schema of a variable 927 via OpenAPI v3 schema. The schema is a subset of the schema 928 used in Kubernetes CRDs. 929 properties: 930 additionalProperties: 931 description: 'AdditionalProperties specifies the schema 932 of values in a map (keys are always strings). NOTE: 933 Can only be set if type is object. NOTE: AdditionalProperties 934 is mutually exclusive with Properties. NOTE: This 935 field uses PreserveUnknownFields and Schemaless, because 936 recursive validation is not possible.' 937 x-kubernetes-preserve-unknown-fields: true 938 default: 939 description: 'Default is the default value of the variable. 940 NOTE: Can be set for all types.' 941 x-kubernetes-preserve-unknown-fields: true 942 description: 943 description: Description is a human-readable description 944 of this variable. 945 type: string 946 enum: 947 description: 'Enum is the list of valid values of the 948 variable. NOTE: Can be set for all types.' 949 items: 950 x-kubernetes-preserve-unknown-fields: true 951 type: array 952 example: 953 description: Example is an example for this variable. 954 x-kubernetes-preserve-unknown-fields: true 955 exclusiveMaximum: 956 description: 'ExclusiveMaximum specifies if the Maximum 957 is exclusive. NOTE: Can only be set if type is integer 958 or number.' 959 type: boolean 960 exclusiveMinimum: 961 description: 'ExclusiveMinimum specifies if the Minimum 962 is exclusive. NOTE: Can only be set if type is integer 963 or number.' 964 type: boolean 965 format: 966 description: 'Format is an OpenAPI v3 format string. 967 Unknown formats are ignored. For a list of supported 968 formats please see: (of the k8s.io/apiextensions-apiserver 969 version we''re currently using) https://github.com/kubernetes/apiextensions-apiserver/blob/master/pkg/apiserver/validation/formats.go 970 NOTE: Can only be set if type is string.' 971 type: string 972 items: 973 description: 'Items specifies fields of an array. NOTE: 974 Can only be set if type is array. NOTE: This field 975 uses PreserveUnknownFields and Schemaless, because 976 recursive validation is not possible.' 977 x-kubernetes-preserve-unknown-fields: true 978 maxItems: 979 description: 'MaxItems is the max length of an array 980 variable. NOTE: Can only be set if type is array.' 981 format: int64 982 type: integer 983 maxLength: 984 description: 'MaxLength is the max length of a string 985 variable. NOTE: Can only be set if type is string.' 986 format: int64 987 type: integer 988 maximum: 989 description: 'Maximum is the maximum of an integer or 990 number variable. If ExclusiveMaximum is false, the 991 variable is valid if it is lower than, or equal to, 992 the value of Maximum. If ExclusiveMaximum is true, 993 the variable is valid if it is strictly lower than 994 the value of Maximum. NOTE: Can only be set if type 995 is integer or number.' 996 format: int64 997 type: integer 998 minItems: 999 description: 'MinItems is the min length of an array 1000 variable. NOTE: Can only be set if type is array.' 1001 format: int64 1002 type: integer 1003 minLength: 1004 description: 'MinLength is the min length of a string 1005 variable. NOTE: Can only be set if type is string.' 1006 format: int64 1007 type: integer 1008 minimum: 1009 description: 'Minimum is the minimum of an integer or 1010 number variable. If ExclusiveMinimum is false, the 1011 variable is valid if it is greater than, or equal 1012 to, the value of Minimum. If ExclusiveMinimum is true, 1013 the variable is valid if it is strictly greater than 1014 the value of Minimum. NOTE: Can only be set if type 1015 is integer or number.' 1016 format: int64 1017 type: integer 1018 pattern: 1019 description: 'Pattern is the regex which a string variable 1020 must match. NOTE: Can only be set if type is string.' 1021 type: string 1022 properties: 1023 description: 'Properties specifies fields of an object. 1024 NOTE: Can only be set if type is object. NOTE: Properties 1025 is mutually exclusive with AdditionalProperties. NOTE: 1026 This field uses PreserveUnknownFields and Schemaless, 1027 because recursive validation is not possible.' 1028 x-kubernetes-preserve-unknown-fields: true 1029 required: 1030 description: 'Required specifies which fields of an 1031 object are required. NOTE: Can only be set if type 1032 is object.' 1033 items: 1034 type: string 1035 type: array 1036 type: 1037 description: 'Type is the type of the variable. Valid 1038 values are: object, array, string, integer, number 1039 or boolean.' 1040 type: string 1041 uniqueItems: 1042 description: 'UniqueItems specifies if items in an array 1043 must be unique. NOTE: Can only be set if type is array.' 1044 type: boolean 1045 x-kubernetes-preserve-unknown-fields: 1046 description: XPreserveUnknownFields allows setting fields 1047 in a variable object which are not defined in the 1048 variable schema. This affects fields recursively, 1049 except if nested properties or additionalProperties 1050 are specified in the schema. 1051 type: boolean 1052 required: 1053 - type 1054 type: object 1055 required: 1056 - openAPIV3Schema 1057 type: object 1058 required: 1059 - name 1060 - required 1061 - schema 1062 type: object 1063 type: array 1064 workers: 1065 description: Workers describes the worker nodes for the cluster. It 1066 is a collection of node types which can be used to create the worker 1067 nodes of the cluster. 1068 properties: 1069 machineDeployments: 1070 description: MachineDeployments is a list of machine deployment 1071 classes that can be used to create a set of worker nodes. 1072 items: 1073 description: MachineDeploymentClass serves as a template to 1074 define a set of worker nodes of the cluster provisioned using 1075 the `ClusterClass`. 1076 properties: 1077 class: 1078 description: Class denotes a type of worker node present 1079 in the cluster, this name MUST be unique within a ClusterClass 1080 and can be referenced in the Cluster to create a managed 1081 MachineDeployment. 1082 type: string 1083 failureDomain: 1084 description: 'FailureDomain is the failure domain the machines 1085 will be created in. Must match a key in the FailureDomains 1086 map stored on the cluster object. NOTE: This value can 1087 be overridden while defining a Cluster.Topology using 1088 this MachineDeploymentClass.' 1089 type: string 1090 machineHealthCheck: 1091 description: MachineHealthCheck defines a MachineHealthCheck 1092 for this MachineDeploymentClass. 1093 properties: 1094 maxUnhealthy: 1095 anyOf: 1096 - type: integer 1097 - type: string 1098 description: Any further remediation is only allowed 1099 if at most "MaxUnhealthy" machines selected by "selector" 1100 are not healthy. 1101 x-kubernetes-int-or-string: true 1102 nodeStartupTimeout: 1103 description: Machines older than this duration without 1104 a node will be considered to have failed and will 1105 be remediated. If you wish to disable this feature, 1106 set the value explicitly to 0. 1107 type: string 1108 remediationTemplate: 1109 description: "RemediationTemplate is a reference to 1110 a remediation template provided by an infrastructure 1111 provider. \n This field is completely optional, when 1112 filled, the MachineHealthCheck controller creates 1113 a new object from the template referenced and hands 1114 off remediation of the machine to a controller that 1115 lives outside of Cluster API." 1116 properties: 1117 apiVersion: 1118 description: API version of the referent. 1119 type: string 1120 fieldPath: 1121 description: 'If referring to a piece of an object 1122 instead of an entire object, this string should 1123 contain a valid JSON/Go field access statement, 1124 such as desiredState.manifest.containers[2]. For 1125 example, if the object reference is to a container 1126 within a pod, this would take on a value like: 1127 "spec.containers{name}" (where "name" refers to 1128 the name of the container that triggered the event) 1129 or if no container name is specified "spec.containers[2]" 1130 (container with index 2 in this pod). This syntax 1131 is chosen only to have some well-defined way of 1132 referencing a part of an object. TODO: this design 1133 is not final and this field is subject to change 1134 in the future.' 1135 type: string 1136 kind: 1137 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 1138 type: string 1139 name: 1140 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 1141 type: string 1142 namespace: 1143 description: 'Namespace of the referent. More info: 1144 https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 1145 type: string 1146 resourceVersion: 1147 description: 'Specific resourceVersion to which 1148 this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 1149 type: string 1150 uid: 1151 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 1152 type: string 1153 type: object 1154 x-kubernetes-map-type: atomic 1155 unhealthyConditions: 1156 description: UnhealthyConditions contains a list of 1157 the conditions that determine whether a node is considered 1158 unhealthy. The conditions are combined in a logical 1159 OR, i.e. if any of the conditions is met, the node 1160 is unhealthy. 1161 items: 1162 description: UnhealthyCondition represents a Node 1163 condition type and value with a timeout specified 1164 as a duration. When the named condition has been 1165 in the given status for at least the timeout value, 1166 a node is considered unhealthy. 1167 properties: 1168 status: 1169 minLength: 1 1170 type: string 1171 timeout: 1172 type: string 1173 type: 1174 minLength: 1 1175 type: string 1176 required: 1177 - status 1178 - timeout 1179 - type 1180 type: object 1181 type: array 1182 unhealthyRange: 1183 description: 'Any further remediation is only allowed 1184 if the number of machines selected by "selector" as 1185 not healthy is within the range of "UnhealthyRange". 1186 Takes precedence over MaxUnhealthy. Eg. "[3-5]" - 1187 This means that remediation will be allowed only when: 1188 (a) there are at least 3 unhealthy machines (and) 1189 (b) there are at most 5 unhealthy machines' 1190 pattern: ^\[[0-9]+-[0-9]+\]$ 1191 type: string 1192 type: object 1193 minReadySeconds: 1194 description: 'Minimum number of seconds for which a newly 1195 created machine should be ready. Defaults to 0 (machine 1196 will be considered available as soon as it is ready) NOTE: 1197 This value can be overridden while defining a Cluster.Topology 1198 using this MachineDeploymentClass.' 1199 format: int32 1200 type: integer 1201 namingStrategy: 1202 description: NamingStrategy allows changing the naming pattern 1203 used when creating the MachineDeployment. 1204 properties: 1205 template: 1206 description: 'Template defines the template to use for 1207 generating the name of the MachineDeployment object. 1208 If not defined, it will fallback to `{{ .cluster.name 1209 }}-{{ .machineDeployment.topologyName }}-{{ .random 1210 }}`. If the templated string exceeds 63 characters, 1211 it will be trimmed to 58 characters and will get concatenated 1212 with a random suffix of length 5. The templating mechanism 1213 provides the following arguments: * `.cluster.name`: 1214 The name of the cluster object. * `.random`: A random 1215 alphanumeric string, without vowels, of length 5. 1216 * `.machineDeployment.topologyName`: The name of the 1217 MachineDeployment topology (Cluster.spec.topology.workers.machineDeployments[].name).' 1218 type: string 1219 type: object 1220 nodeDeletionTimeout: 1221 description: 'NodeDeletionTimeout defines how long the controller 1222 will attempt to delete the Node that the Machine hosts 1223 after the Machine is marked for deletion. A duration of 1224 0 will retry deletion indefinitely. Defaults to 10 seconds. 1225 NOTE: This value can be overridden while defining a Cluster.Topology 1226 using this MachineDeploymentClass.' 1227 type: string 1228 nodeDrainTimeout: 1229 description: 'NodeDrainTimeout is the total amount of time 1230 that the controller will spend on draining a node. The 1231 default value is 0, meaning that the node can be drained 1232 without any time limitations. NOTE: NodeDrainTimeout is 1233 different from `kubectl drain --timeout` NOTE: This value 1234 can be overridden while defining a Cluster.Topology using 1235 this MachineDeploymentClass.' 1236 type: string 1237 nodeVolumeDetachTimeout: 1238 description: 'NodeVolumeDetachTimeout is the total amount 1239 of time that the controller will spend on waiting for 1240 all volumes to be detached. The default value is 0, meaning 1241 that the volumes can be detached without any time limitations. 1242 NOTE: This value can be overridden while defining a Cluster.Topology 1243 using this MachineDeploymentClass.' 1244 type: string 1245 strategy: 1246 description: 'The deployment strategy to use to replace 1247 existing machines with new ones. NOTE: This value can 1248 be overridden while defining a Cluster.Topology using 1249 this MachineDeploymentClass.' 1250 properties: 1251 rollingUpdate: 1252 description: Rolling update config params. Present only 1253 if MachineDeploymentStrategyType = RollingUpdate. 1254 properties: 1255 deletePolicy: 1256 description: DeletePolicy defines the policy used 1257 by the MachineDeployment to identify nodes to 1258 delete when downscaling. Valid values are "Random, 1259 "Newest", "Oldest" When no value is supplied, 1260 the default DeletePolicy of MachineSet is used 1261 enum: 1262 - Random 1263 - Newest 1264 - Oldest 1265 type: string 1266 maxSurge: 1267 anyOf: 1268 - type: integer 1269 - type: string 1270 description: 'The maximum number of machines that 1271 can be scheduled above the desired number of machines. 1272 Value can be an absolute number (ex: 5) or a percentage 1273 of desired machines (ex: 10%). This can not be 1274 0 if MaxUnavailable is 0. Absolute number is calculated 1275 from percentage by rounding up. Defaults to 1. 1276 Example: when this is set to 30%, the new MachineSet 1277 can be scaled up immediately when the rolling 1278 update starts, such that the total number of old 1279 and new machines do not exceed 130% of desired 1280 machines. Once old machines have been killed, 1281 new MachineSet can be scaled up further, ensuring 1282 that total number of machines running at any time 1283 during the update is at most 130% of desired machines.' 1284 x-kubernetes-int-or-string: true 1285 maxUnavailable: 1286 anyOf: 1287 - type: integer 1288 - type: string 1289 description: 'The maximum number of machines that 1290 can be unavailable during the update. Value can 1291 be an absolute number (ex: 5) or a percentage 1292 of desired machines (ex: 10%). Absolute number 1293 is calculated from percentage by rounding down. 1294 This can not be 0 if MaxSurge is 0. Defaults to 1295 0. Example: when this is set to 30%, the old MachineSet 1296 can be scaled down to 70% of desired machines 1297 immediately when the rolling update starts. Once 1298 new machines are ready, old MachineSet can be 1299 scaled down further, followed by scaling up the 1300 new MachineSet, ensuring that the total number 1301 of machines available at all times during the 1302 update is at least 70% of desired machines.' 1303 x-kubernetes-int-or-string: true 1304 type: object 1305 type: 1306 description: Type of deployment. Default is RollingUpdate. 1307 enum: 1308 - RollingUpdate 1309 - OnDelete 1310 type: string 1311 type: object 1312 template: 1313 description: Template is a local struct containing a collection 1314 of templates for creation of MachineDeployment objects 1315 representing a set of worker nodes. 1316 properties: 1317 bootstrap: 1318 description: Bootstrap contains the bootstrap template 1319 reference to be used for the creation of worker Machines. 1320 properties: 1321 ref: 1322 description: Ref is a required reference to a custom 1323 resource offered by a provider. 1324 properties: 1325 apiVersion: 1326 description: API version of the referent. 1327 type: string 1328 fieldPath: 1329 description: 'If referring to a piece of an 1330 object instead of an entire object, this string 1331 should contain a valid JSON/Go field access 1332 statement, such as desiredState.manifest.containers[2]. 1333 For example, if the object reference is to 1334 a container within a pod, this would take 1335 on a value like: "spec.containers{name}" (where 1336 "name" refers to the name of the container 1337 that triggered the event) or if no container 1338 name is specified "spec.containers[2]" (container 1339 with index 2 in this pod). This syntax is 1340 chosen only to have some well-defined way 1341 of referencing a part of an object. TODO: 1342 this design is not final and this field is 1343 subject to change in the future.' 1344 type: string 1345 kind: 1346 description: 'Kind of the referent. More info: 1347 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 1348 type: string 1349 name: 1350 description: 'Name of the referent. More info: 1351 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 1352 type: string 1353 namespace: 1354 description: 'Namespace of the referent. More 1355 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 1356 type: string 1357 resourceVersion: 1358 description: 'Specific resourceVersion to which 1359 this reference is made, if any. More info: 1360 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 1361 type: string 1362 uid: 1363 description: 'UID of the referent. More info: 1364 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 1365 type: string 1366 type: object 1367 x-kubernetes-map-type: atomic 1368 required: 1369 - ref 1370 type: object 1371 infrastructure: 1372 description: Infrastructure contains the infrastructure 1373 template reference to be used for the creation of 1374 worker Machines. 1375 properties: 1376 ref: 1377 description: Ref is a required reference to a custom 1378 resource offered by a provider. 1379 properties: 1380 apiVersion: 1381 description: API version of the referent. 1382 type: string 1383 fieldPath: 1384 description: 'If referring to a piece of an 1385 object instead of an entire object, this string 1386 should contain a valid JSON/Go field access 1387 statement, such as desiredState.manifest.containers[2]. 1388 For example, if the object reference is to 1389 a container within a pod, this would take 1390 on a value like: "spec.containers{name}" (where 1391 "name" refers to the name of the container 1392 that triggered the event) or if no container 1393 name is specified "spec.containers[2]" (container 1394 with index 2 in this pod). This syntax is 1395 chosen only to have some well-defined way 1396 of referencing a part of an object. TODO: 1397 this design is not final and this field is 1398 subject to change in the future.' 1399 type: string 1400 kind: 1401 description: 'Kind of the referent. More info: 1402 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 1403 type: string 1404 name: 1405 description: 'Name of the referent. More info: 1406 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 1407 type: string 1408 namespace: 1409 description: 'Namespace of the referent. More 1410 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 1411 type: string 1412 resourceVersion: 1413 description: 'Specific resourceVersion to which 1414 this reference is made, if any. More info: 1415 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 1416 type: string 1417 uid: 1418 description: 'UID of the referent. More info: 1419 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 1420 type: string 1421 type: object 1422 x-kubernetes-map-type: atomic 1423 required: 1424 - ref 1425 type: object 1426 metadata: 1427 description: Metadata is the metadata applied to the 1428 MachineDeployment and the machines of the MachineDeployment. 1429 At runtime this metadata is merged with the corresponding 1430 metadata from the topology. 1431 properties: 1432 annotations: 1433 additionalProperties: 1434 type: string 1435 description: 'Annotations is an unstructured key 1436 value map stored with a resource that may be set 1437 by external tools to store and retrieve arbitrary 1438 metadata. They are not queryable and should be 1439 preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' 1440 type: object 1441 labels: 1442 additionalProperties: 1443 type: string 1444 description: 'Map of string keys and values that 1445 can be used to organize and categorize (scope 1446 and select) objects. May match selectors of replication 1447 controllers and services. More info: http://kubernetes.io/docs/user-guide/labels' 1448 type: object 1449 type: object 1450 required: 1451 - bootstrap 1452 - infrastructure 1453 type: object 1454 required: 1455 - class 1456 - template 1457 type: object 1458 type: array 1459 type: object 1460 type: object 1461 status: 1462 description: ClusterClassStatus defines the observed state of the ClusterClass. 1463 properties: 1464 conditions: 1465 description: Conditions defines current observed state of the ClusterClass. 1466 items: 1467 description: Condition defines an observation of a Cluster API resource 1468 operational state. 1469 properties: 1470 lastTransitionTime: 1471 description: Last time the condition transitioned from one status 1472 to another. This should be when the underlying condition changed. 1473 If that is not known, then using the time when the API field 1474 changed is acceptable. 1475 format: date-time 1476 type: string 1477 message: 1478 description: A human readable message indicating details about 1479 the transition. This field may be empty. 1480 type: string 1481 reason: 1482 description: The reason for the condition's last transition 1483 in CamelCase. The specific API may choose whether or not this 1484 field is considered a guaranteed API. This field may not be 1485 empty. 1486 type: string 1487 severity: 1488 description: Severity provides an explicit classification of 1489 Reason code, so the users or machines can immediately understand 1490 the current situation and act accordingly. The Severity field 1491 MUST be set only when Status=False. 1492 type: string 1493 status: 1494 description: Status of the condition, one of True, False, Unknown. 1495 type: string 1496 type: 1497 description: Type of condition in CamelCase or in foo.example.com/CamelCase. 1498 Many .condition.type values are consistent across resources 1499 like Available, but because arbitrary conditions can be useful 1500 (see .node.status.conditions), the ability to deconflict is 1501 important. 1502 type: string 1503 required: 1504 - lastTransitionTime 1505 - status 1506 - type 1507 type: object 1508 type: array 1509 observedGeneration: 1510 description: ObservedGeneration is the latest generation observed 1511 by the controller. 1512 format: int64 1513 type: integer 1514 variables: 1515 description: Variables is a list of ClusterClassStatusVariable that 1516 are defined for the ClusterClass. 1517 items: 1518 description: ClusterClassStatusVariable defines a variable which 1519 appears in the status of a ClusterClass. 1520 properties: 1521 definitions: 1522 description: Definitions is a list of definitions for a variable. 1523 items: 1524 description: ClusterClassStatusVariableDefinition defines 1525 a variable which appears in the status of a ClusterClass. 1526 properties: 1527 from: 1528 description: From specifies the origin of the variable 1529 definition. This will be `inline` for variables defined 1530 in the ClusterClass or the name of a patch defined in 1531 the ClusterClass for variables discovered from a DiscoverVariables 1532 runtime extensions. 1533 type: string 1534 required: 1535 description: 'Required specifies if the variable is required. 1536 Note: this applies to the variable as a whole and thus 1537 the top-level object defined in the schema. If nested 1538 fields are required, this will be specified inside the 1539 schema.' 1540 type: boolean 1541 schema: 1542 description: Schema defines the schema of the variable. 1543 properties: 1544 openAPIV3Schema: 1545 description: OpenAPIV3Schema defines the schema of 1546 a variable via OpenAPI v3 schema. The schema is 1547 a subset of the schema used in Kubernetes CRDs. 1548 properties: 1549 additionalProperties: 1550 description: 'AdditionalProperties specifies the 1551 schema of values in a map (keys are always strings). 1552 NOTE: Can only be set if type is object. NOTE: 1553 AdditionalProperties is mutually exclusive with 1554 Properties. NOTE: This field uses PreserveUnknownFields 1555 and Schemaless, because recursive validation 1556 is not possible.' 1557 x-kubernetes-preserve-unknown-fields: true 1558 default: 1559 description: 'Default is the default value of 1560 the variable. NOTE: Can be set for all types.' 1561 x-kubernetes-preserve-unknown-fields: true 1562 description: 1563 description: Description is a human-readable description 1564 of this variable. 1565 type: string 1566 enum: 1567 description: 'Enum is the list of valid values 1568 of the variable. NOTE: Can be set for all types.' 1569 items: 1570 x-kubernetes-preserve-unknown-fields: true 1571 type: array 1572 example: 1573 description: Example is an example for this variable. 1574 x-kubernetes-preserve-unknown-fields: true 1575 exclusiveMaximum: 1576 description: 'ExclusiveMaximum specifies if the 1577 Maximum is exclusive. NOTE: Can only be set 1578 if type is integer or number.' 1579 type: boolean 1580 exclusiveMinimum: 1581 description: 'ExclusiveMinimum specifies if the 1582 Minimum is exclusive. NOTE: Can only be set 1583 if type is integer or number.' 1584 type: boolean 1585 format: 1586 description: 'Format is an OpenAPI v3 format string. 1587 Unknown formats are ignored. For a list of supported 1588 formats please see: (of the k8s.io/apiextensions-apiserver 1589 version we''re currently using) https://github.com/kubernetes/apiextensions-apiserver/blob/master/pkg/apiserver/validation/formats.go 1590 NOTE: Can only be set if type is string.' 1591 type: string 1592 items: 1593 description: 'Items specifies fields of an array. 1594 NOTE: Can only be set if type is array. NOTE: 1595 This field uses PreserveUnknownFields and Schemaless, 1596 because recursive validation is not possible.' 1597 x-kubernetes-preserve-unknown-fields: true 1598 maxItems: 1599 description: 'MaxItems is the max length of an 1600 array variable. NOTE: Can only be set if type 1601 is array.' 1602 format: int64 1603 type: integer 1604 maxLength: 1605 description: 'MaxLength is the max length of a 1606 string variable. NOTE: Can only be set if type 1607 is string.' 1608 format: int64 1609 type: integer 1610 maximum: 1611 description: 'Maximum is the maximum of an integer 1612 or number variable. If ExclusiveMaximum is false, 1613 the variable is valid if it is lower than, or 1614 equal to, the value of Maximum. If ExclusiveMaximum 1615 is true, the variable is valid if it is strictly 1616 lower than the value of Maximum. NOTE: Can only 1617 be set if type is integer or number.' 1618 format: int64 1619 type: integer 1620 minItems: 1621 description: 'MinItems is the min length of an 1622 array variable. NOTE: Can only be set if type 1623 is array.' 1624 format: int64 1625 type: integer 1626 minLength: 1627 description: 'MinLength is the min length of a 1628 string variable. NOTE: Can only be set if type 1629 is string.' 1630 format: int64 1631 type: integer 1632 minimum: 1633 description: 'Minimum is the minimum of an integer 1634 or number variable. If ExclusiveMinimum is false, 1635 the variable is valid if it is greater than, 1636 or equal to, the value of Minimum. If ExclusiveMinimum 1637 is true, the variable is valid if it is strictly 1638 greater than the value of Minimum. NOTE: Can 1639 only be set if type is integer or number.' 1640 format: int64 1641 type: integer 1642 pattern: 1643 description: 'Pattern is the regex which a string 1644 variable must match. NOTE: Can only be set if 1645 type is string.' 1646 type: string 1647 properties: 1648 description: 'Properties specifies fields of an 1649 object. NOTE: Can only be set if type is object. 1650 NOTE: Properties is mutually exclusive with 1651 AdditionalProperties. NOTE: This field uses 1652 PreserveUnknownFields and Schemaless, because 1653 recursive validation is not possible.' 1654 x-kubernetes-preserve-unknown-fields: true 1655 required: 1656 description: 'Required specifies which fields 1657 of an object are required. NOTE: Can only be 1658 set if type is object.' 1659 items: 1660 type: string 1661 type: array 1662 type: 1663 description: 'Type is the type of the variable. 1664 Valid values are: object, array, string, integer, 1665 number or boolean.' 1666 type: string 1667 uniqueItems: 1668 description: 'UniqueItems specifies if items in 1669 an array must be unique. NOTE: Can only be set 1670 if type is array.' 1671 type: boolean 1672 x-kubernetes-preserve-unknown-fields: 1673 description: XPreserveUnknownFields allows setting 1674 fields in a variable object which are not defined 1675 in the variable schema. This affects fields 1676 recursively, except if nested properties or 1677 additionalProperties are specified in the schema. 1678 type: boolean 1679 required: 1680 - type 1681 type: object 1682 required: 1683 - openAPIV3Schema 1684 type: object 1685 required: 1686 - from 1687 - required 1688 - schema 1689 type: object 1690 type: array 1691 definitionsConflict: 1692 description: DefinitionsConflict specifies whether or not there 1693 are conflicting definitions for a single variable name. 1694 type: boolean 1695 name: 1696 description: Name is the name of the variable. 1697 type: string 1698 required: 1699 - definitions 1700 - name 1701 type: object 1702 type: array 1703 type: object 1704 type: object 1705 served: true 1706 storage: true 1707 subresources: 1708 status: {} 1709 --- 1710 apiVersion: apiextensions.k8s.io/v1 1711 kind: CustomResourceDefinition 1712 metadata: 1713 annotations: 1714 cert-manager.io/inject-ca-from: capi-system/capi-serving-cert 1715 controller-gen.kubebuilder.io/version: v0.12.0 1716 labels: 1717 cluster.x-k8s.io/provider: cluster-api 1718 name: clusterresourcesetbindings.addons.cluster.x-k8s.io 1719 spec: 1720 conversion: 1721 strategy: Webhook 1722 webhook: 1723 clientConfig: 1724 caBundle: Cg== 1725 service: 1726 name: capi-webhook-service 1727 namespace: capi-system 1728 path: /convert 1729 conversionReviewVersions: 1730 - v1 1731 - v1beta1 1732 group: addons.cluster.x-k8s.io 1733 names: 1734 categories: 1735 - cluster-api 1736 kind: ClusterResourceSetBinding 1737 listKind: ClusterResourceSetBindingList 1738 plural: clusterresourcesetbindings 1739 singular: clusterresourcesetbinding 1740 scope: Namespaced 1741 versions: 1742 - deprecated: true 1743 name: v1alpha3 1744 schema: 1745 openAPIV3Schema: 1746 description: "ClusterResourceSetBinding lists all matching ClusterResourceSets 1747 with the cluster it belongs to. \n Deprecated: This type will be removed 1748 in one of the next releases." 1749 properties: 1750 apiVersion: 1751 description: 'APIVersion defines the versioned schema of this representation 1752 of an object. Servers should convert recognized schemas to the latest 1753 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 1754 type: string 1755 kind: 1756 description: 'Kind is a string value representing the REST resource this 1757 object represents. Servers may infer this from the endpoint the client 1758 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 1759 type: string 1760 metadata: 1761 type: object 1762 spec: 1763 description: ClusterResourceSetBindingSpec defines the desired state of 1764 ClusterResourceSetBinding. 1765 properties: 1766 bindings: 1767 description: Bindings is a list of ClusterResourceSets and their resources. 1768 items: 1769 description: ResourceSetBinding keeps info on all of the resources 1770 in a ClusterResourceSet. 1771 properties: 1772 clusterResourceSetName: 1773 description: ClusterResourceSetName is the name of the ClusterResourceSet 1774 that is applied to the owner cluster of the binding. 1775 type: string 1776 resources: 1777 description: Resources is a list of resources that the ClusterResourceSet 1778 has. 1779 items: 1780 description: ResourceBinding shows the status of a resource 1781 that belongs to a ClusterResourceSet matched by the owner 1782 cluster of the ClusterResourceSetBinding object. 1783 properties: 1784 applied: 1785 description: Applied is to track if a resource is applied 1786 to the cluster or not. 1787 type: boolean 1788 hash: 1789 description: Hash is the hash of a resource's data. This 1790 can be used to decide if a resource is changed. For 1791 "ApplyOnce" ClusterResourceSet.spec.strategy, this is 1792 no-op as that strategy does not act on change. 1793 type: string 1794 kind: 1795 description: 'Kind of the resource. Supported kinds are: 1796 Secrets and ConfigMaps.' 1797 enum: 1798 - Secret 1799 - ConfigMap 1800 type: string 1801 lastAppliedTime: 1802 description: LastAppliedTime identifies when this resource 1803 was last applied to the cluster. 1804 format: date-time 1805 type: string 1806 name: 1807 description: Name of the resource that is in the same 1808 namespace with ClusterResourceSet object. 1809 minLength: 1 1810 type: string 1811 required: 1812 - applied 1813 - kind 1814 - name 1815 type: object 1816 type: array 1817 required: 1818 - clusterResourceSetName 1819 type: object 1820 type: array 1821 type: object 1822 type: object 1823 served: false 1824 storage: false 1825 subresources: 1826 status: {} 1827 - additionalPrinterColumns: 1828 - description: Time duration since creation of ClusterResourceSetBinding 1829 jsonPath: .metadata.creationTimestamp 1830 name: Age 1831 type: date 1832 deprecated: true 1833 name: v1alpha4 1834 schema: 1835 openAPIV3Schema: 1836 description: "ClusterResourceSetBinding lists all matching ClusterResourceSets 1837 with the cluster it belongs to. \n Deprecated: This type will be removed 1838 in one of the next releases." 1839 properties: 1840 apiVersion: 1841 description: 'APIVersion defines the versioned schema of this representation 1842 of an object. Servers should convert recognized schemas to the latest 1843 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 1844 type: string 1845 kind: 1846 description: 'Kind is a string value representing the REST resource this 1847 object represents. Servers may infer this from the endpoint the client 1848 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 1849 type: string 1850 metadata: 1851 type: object 1852 spec: 1853 description: ClusterResourceSetBindingSpec defines the desired state of 1854 ClusterResourceSetBinding. 1855 properties: 1856 bindings: 1857 description: Bindings is a list of ClusterResourceSets and their resources. 1858 items: 1859 description: ResourceSetBinding keeps info on all of the resources 1860 in a ClusterResourceSet. 1861 properties: 1862 clusterResourceSetName: 1863 description: ClusterResourceSetName is the name of the ClusterResourceSet 1864 that is applied to the owner cluster of the binding. 1865 type: string 1866 resources: 1867 description: Resources is a list of resources that the ClusterResourceSet 1868 has. 1869 items: 1870 description: ResourceBinding shows the status of a resource 1871 that belongs to a ClusterResourceSet matched by the owner 1872 cluster of the ClusterResourceSetBinding object. 1873 properties: 1874 applied: 1875 description: Applied is to track if a resource is applied 1876 to the cluster or not. 1877 type: boolean 1878 hash: 1879 description: Hash is the hash of a resource's data. This 1880 can be used to decide if a resource is changed. For 1881 "ApplyOnce" ClusterResourceSet.spec.strategy, this is 1882 no-op as that strategy does not act on change. 1883 type: string 1884 kind: 1885 description: 'Kind of the resource. Supported kinds are: 1886 Secrets and ConfigMaps.' 1887 enum: 1888 - Secret 1889 - ConfigMap 1890 type: string 1891 lastAppliedTime: 1892 description: LastAppliedTime identifies when this resource 1893 was last applied to the cluster. 1894 format: date-time 1895 type: string 1896 name: 1897 description: Name of the resource that is in the same 1898 namespace with ClusterResourceSet object. 1899 minLength: 1 1900 type: string 1901 required: 1902 - applied 1903 - kind 1904 - name 1905 type: object 1906 type: array 1907 required: 1908 - clusterResourceSetName 1909 type: object 1910 type: array 1911 type: object 1912 type: object 1913 served: true 1914 storage: false 1915 subresources: 1916 status: {} 1917 - additionalPrinterColumns: 1918 - description: Time duration since creation of ClusterResourceSetBinding 1919 jsonPath: .metadata.creationTimestamp 1920 name: Age 1921 type: date 1922 name: v1beta1 1923 schema: 1924 openAPIV3Schema: 1925 description: ClusterResourceSetBinding lists all matching ClusterResourceSets 1926 with the cluster it belongs to. 1927 properties: 1928 apiVersion: 1929 description: 'APIVersion defines the versioned schema of this representation 1930 of an object. Servers should convert recognized schemas to the latest 1931 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 1932 type: string 1933 kind: 1934 description: 'Kind is a string value representing the REST resource this 1935 object represents. Servers may infer this from the endpoint the client 1936 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 1937 type: string 1938 metadata: 1939 type: object 1940 spec: 1941 description: ClusterResourceSetBindingSpec defines the desired state of 1942 ClusterResourceSetBinding. 1943 properties: 1944 bindings: 1945 description: Bindings is a list of ClusterResourceSets and their resources. 1946 items: 1947 description: ResourceSetBinding keeps info on all of the resources 1948 in a ClusterResourceSet. 1949 properties: 1950 clusterResourceSetName: 1951 description: ClusterResourceSetName is the name of the ClusterResourceSet 1952 that is applied to the owner cluster of the binding. 1953 type: string 1954 resources: 1955 description: Resources is a list of resources that the ClusterResourceSet 1956 has. 1957 items: 1958 description: ResourceBinding shows the status of a resource 1959 that belongs to a ClusterResourceSet matched by the owner 1960 cluster of the ClusterResourceSetBinding object. 1961 properties: 1962 applied: 1963 description: Applied is to track if a resource is applied 1964 to the cluster or not. 1965 type: boolean 1966 hash: 1967 description: Hash is the hash of a resource's data. This 1968 can be used to decide if a resource is changed. For 1969 "ApplyOnce" ClusterResourceSet.spec.strategy, this is 1970 no-op as that strategy does not act on change. 1971 type: string 1972 kind: 1973 description: 'Kind of the resource. Supported kinds are: 1974 Secrets and ConfigMaps.' 1975 enum: 1976 - Secret 1977 - ConfigMap 1978 type: string 1979 lastAppliedTime: 1980 description: LastAppliedTime identifies when this resource 1981 was last applied to the cluster. 1982 format: date-time 1983 type: string 1984 name: 1985 description: Name of the resource that is in the same 1986 namespace with ClusterResourceSet object. 1987 minLength: 1 1988 type: string 1989 required: 1990 - applied 1991 - kind 1992 - name 1993 type: object 1994 type: array 1995 required: 1996 - clusterResourceSetName 1997 type: object 1998 type: array 1999 clusterName: 2000 description: 'ClusterName is the name of the Cluster this binding 2001 applies to. Note: this field mandatory in v1beta2.' 2002 type: string 2003 type: object 2004 type: object 2005 served: true 2006 storage: true 2007 subresources: 2008 status: {} 2009 --- 2010 apiVersion: apiextensions.k8s.io/v1 2011 kind: CustomResourceDefinition 2012 metadata: 2013 annotations: 2014 cert-manager.io/inject-ca-from: capi-system/capi-serving-cert 2015 controller-gen.kubebuilder.io/version: v0.12.0 2016 labels: 2017 cluster.x-k8s.io/provider: cluster-api 2018 name: clusterresourcesets.addons.cluster.x-k8s.io 2019 spec: 2020 conversion: 2021 strategy: Webhook 2022 webhook: 2023 clientConfig: 2024 caBundle: Cg== 2025 service: 2026 name: capi-webhook-service 2027 namespace: capi-system 2028 path: /convert 2029 conversionReviewVersions: 2030 - v1 2031 - v1beta1 2032 group: addons.cluster.x-k8s.io 2033 names: 2034 categories: 2035 - cluster-api 2036 kind: ClusterResourceSet 2037 listKind: ClusterResourceSetList 2038 plural: clusterresourcesets 2039 singular: clusterresourceset 2040 scope: Namespaced 2041 versions: 2042 - deprecated: true 2043 name: v1alpha3 2044 schema: 2045 openAPIV3Schema: 2046 description: "ClusterResourceSet is the Schema for the clusterresourcesets 2047 API. \n Deprecated: This type will be removed in one of the next releases." 2048 properties: 2049 apiVersion: 2050 description: 'APIVersion defines the versioned schema of this representation 2051 of an object. Servers should convert recognized schemas to the latest 2052 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 2053 type: string 2054 kind: 2055 description: 'Kind is a string value representing the REST resource this 2056 object represents. Servers may infer this from the endpoint the client 2057 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 2058 type: string 2059 metadata: 2060 type: object 2061 spec: 2062 description: ClusterResourceSetSpec defines the desired state of ClusterResourceSet. 2063 properties: 2064 clusterSelector: 2065 description: Label selector for Clusters. The Clusters that are selected 2066 by this will be the ones affected by this ClusterResourceSet. It 2067 must match the Cluster labels. This field is immutable. 2068 properties: 2069 matchExpressions: 2070 description: matchExpressions is a list of label selector requirements. 2071 The requirements are ANDed. 2072 items: 2073 description: A label selector requirement is a selector that 2074 contains values, a key, and an operator that relates the key 2075 and values. 2076 properties: 2077 key: 2078 description: key is the label key that the selector applies 2079 to. 2080 type: string 2081 operator: 2082 description: operator represents a key's relationship to 2083 a set of values. Valid operators are In, NotIn, Exists 2084 and DoesNotExist. 2085 type: string 2086 values: 2087 description: values is an array of string values. If the 2088 operator is In or NotIn, the values array must be non-empty. 2089 If the operator is Exists or DoesNotExist, the values 2090 array must be empty. This array is replaced during a strategic 2091 merge patch. 2092 items: 2093 type: string 2094 type: array 2095 required: 2096 - key 2097 - operator 2098 type: object 2099 type: array 2100 matchLabels: 2101 additionalProperties: 2102 type: string 2103 description: matchLabels is a map of {key,value} pairs. A single 2104 {key,value} in the matchLabels map is equivalent to an element 2105 of matchExpressions, whose key field is "key", the operator 2106 is "In", and the values array contains only "value". The requirements 2107 are ANDed. 2108 type: object 2109 type: object 2110 resources: 2111 description: Resources is a list of Secrets/ConfigMaps where each 2112 contains 1 or more resources to be applied to remote clusters. 2113 items: 2114 description: ResourceRef specifies a resource. 2115 properties: 2116 kind: 2117 description: 'Kind of the resource. Supported kinds are: Secrets 2118 and ConfigMaps.' 2119 enum: 2120 - Secret 2121 - ConfigMap 2122 type: string 2123 name: 2124 description: Name of the resource that is in the same namespace 2125 with ClusterResourceSet object. 2126 minLength: 1 2127 type: string 2128 required: 2129 - kind 2130 - name 2131 type: object 2132 type: array 2133 strategy: 2134 description: Strategy is the strategy to be used during applying resources. 2135 Defaults to ApplyOnce. This field is immutable. 2136 enum: 2137 - ApplyOnce 2138 type: string 2139 required: 2140 - clusterSelector 2141 type: object 2142 status: 2143 description: ClusterResourceSetStatus defines the observed state of ClusterResourceSet. 2144 properties: 2145 conditions: 2146 description: Conditions defines current state of the ClusterResourceSet. 2147 items: 2148 description: Condition defines an observation of a Cluster API resource 2149 operational state. 2150 properties: 2151 lastTransitionTime: 2152 description: Last time the condition transitioned from one status 2153 to another. This should be when the underlying condition changed. 2154 If that is not known, then using the time when the API field 2155 changed is acceptable. 2156 format: date-time 2157 type: string 2158 message: 2159 description: A human readable message indicating details about 2160 the transition. This field may be empty. 2161 type: string 2162 reason: 2163 description: The reason for the condition's last transition 2164 in CamelCase. The specific API may choose whether or not this 2165 field is considered a guaranteed API. This field may not be 2166 empty. 2167 type: string 2168 severity: 2169 description: Severity provides an explicit classification of 2170 Reason code, so the users or machines can immediately understand 2171 the current situation and act accordingly. The Severity field 2172 MUST be set only when Status=False. 2173 type: string 2174 status: 2175 description: Status of the condition, one of True, False, Unknown. 2176 type: string 2177 type: 2178 description: Type of condition in CamelCase or in foo.example.com/CamelCase. 2179 Many .condition.type values are consistent across resources 2180 like Available, but because arbitrary conditions can be useful 2181 (see .node.status.conditions), the ability to deconflict is 2182 important. 2183 type: string 2184 required: 2185 - status 2186 - type 2187 type: object 2188 type: array 2189 observedGeneration: 2190 description: ObservedGeneration reflects the generation of the most 2191 recently observed ClusterResourceSet. 2192 format: int64 2193 type: integer 2194 type: object 2195 type: object 2196 served: false 2197 storage: false 2198 subresources: 2199 status: {} 2200 - additionalPrinterColumns: 2201 - description: Time duration since creation of ClusterResourceSet 2202 jsonPath: .metadata.creationTimestamp 2203 name: Age 2204 type: date 2205 deprecated: true 2206 name: v1alpha4 2207 schema: 2208 openAPIV3Schema: 2209 description: "ClusterResourceSet is the Schema for the clusterresourcesets 2210 API. \n Deprecated: This type will be removed in one of the next releases." 2211 properties: 2212 apiVersion: 2213 description: 'APIVersion defines the versioned schema of this representation 2214 of an object. Servers should convert recognized schemas to the latest 2215 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 2216 type: string 2217 kind: 2218 description: 'Kind is a string value representing the REST resource this 2219 object represents. Servers may infer this from the endpoint the client 2220 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 2221 type: string 2222 metadata: 2223 type: object 2224 spec: 2225 description: ClusterResourceSetSpec defines the desired state of ClusterResourceSet. 2226 properties: 2227 clusterSelector: 2228 description: Label selector for Clusters. The Clusters that are selected 2229 by this will be the ones affected by this ClusterResourceSet. It 2230 must match the Cluster labels. This field is immutable. Label selector 2231 cannot be empty. 2232 properties: 2233 matchExpressions: 2234 description: matchExpressions is a list of label selector requirements. 2235 The requirements are ANDed. 2236 items: 2237 description: A label selector requirement is a selector that 2238 contains values, a key, and an operator that relates the key 2239 and values. 2240 properties: 2241 key: 2242 description: key is the label key that the selector applies 2243 to. 2244 type: string 2245 operator: 2246 description: operator represents a key's relationship to 2247 a set of values. Valid operators are In, NotIn, Exists 2248 and DoesNotExist. 2249 type: string 2250 values: 2251 description: values is an array of string values. If the 2252 operator is In or NotIn, the values array must be non-empty. 2253 If the operator is Exists or DoesNotExist, the values 2254 array must be empty. This array is replaced during a strategic 2255 merge patch. 2256 items: 2257 type: string 2258 type: array 2259 required: 2260 - key 2261 - operator 2262 type: object 2263 type: array 2264 matchLabels: 2265 additionalProperties: 2266 type: string 2267 description: matchLabels is a map of {key,value} pairs. A single 2268 {key,value} in the matchLabels map is equivalent to an element 2269 of matchExpressions, whose key field is "key", the operator 2270 is "In", and the values array contains only "value". The requirements 2271 are ANDed. 2272 type: object 2273 type: object 2274 resources: 2275 description: Resources is a list of Secrets/ConfigMaps where each 2276 contains 1 or more resources to be applied to remote clusters. 2277 items: 2278 description: ResourceRef specifies a resource. 2279 properties: 2280 kind: 2281 description: 'Kind of the resource. Supported kinds are: Secrets 2282 and ConfigMaps.' 2283 enum: 2284 - Secret 2285 - ConfigMap 2286 type: string 2287 name: 2288 description: Name of the resource that is in the same namespace 2289 with ClusterResourceSet object. 2290 minLength: 1 2291 type: string 2292 required: 2293 - kind 2294 - name 2295 type: object 2296 type: array 2297 strategy: 2298 description: Strategy is the strategy to be used during applying resources. 2299 Defaults to ApplyOnce. This field is immutable. 2300 enum: 2301 - ApplyOnce 2302 type: string 2303 required: 2304 - clusterSelector 2305 type: object 2306 status: 2307 description: ClusterResourceSetStatus defines the observed state of ClusterResourceSet. 2308 properties: 2309 conditions: 2310 description: Conditions defines current state of the ClusterResourceSet. 2311 items: 2312 description: Condition defines an observation of a Cluster API resource 2313 operational state. 2314 properties: 2315 lastTransitionTime: 2316 description: Last time the condition transitioned from one status 2317 to another. This should be when the underlying condition changed. 2318 If that is not known, then using the time when the API field 2319 changed is acceptable. 2320 format: date-time 2321 type: string 2322 message: 2323 description: A human readable message indicating details about 2324 the transition. This field may be empty. 2325 type: string 2326 reason: 2327 description: The reason for the condition's last transition 2328 in CamelCase. The specific API may choose whether or not this 2329 field is considered a guaranteed API. This field may not be 2330 empty. 2331 type: string 2332 severity: 2333 description: Severity provides an explicit classification of 2334 Reason code, so the users or machines can immediately understand 2335 the current situation and act accordingly. The Severity field 2336 MUST be set only when Status=False. 2337 type: string 2338 status: 2339 description: Status of the condition, one of True, False, Unknown. 2340 type: string 2341 type: 2342 description: Type of condition in CamelCase or in foo.example.com/CamelCase. 2343 Many .condition.type values are consistent across resources 2344 like Available, but because arbitrary conditions can be useful 2345 (see .node.status.conditions), the ability to deconflict is 2346 important. 2347 type: string 2348 required: 2349 - status 2350 - type 2351 type: object 2352 type: array 2353 observedGeneration: 2354 description: ObservedGeneration reflects the generation of the most 2355 recently observed ClusterResourceSet. 2356 format: int64 2357 type: integer 2358 type: object 2359 type: object 2360 served: true 2361 storage: false 2362 subresources: 2363 status: {} 2364 - additionalPrinterColumns: 2365 - description: Time duration since creation of ClusterResourceSet 2366 jsonPath: .metadata.creationTimestamp 2367 name: Age 2368 type: date 2369 name: v1beta1 2370 schema: 2371 openAPIV3Schema: 2372 description: ClusterResourceSet is the Schema for the clusterresourcesets 2373 API. 2374 properties: 2375 apiVersion: 2376 description: 'APIVersion defines the versioned schema of this representation 2377 of an object. Servers should convert recognized schemas to the latest 2378 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 2379 type: string 2380 kind: 2381 description: 'Kind is a string value representing the REST resource this 2382 object represents. Servers may infer this from the endpoint the client 2383 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 2384 type: string 2385 metadata: 2386 type: object 2387 spec: 2388 description: ClusterResourceSetSpec defines the desired state of ClusterResourceSet. 2389 properties: 2390 clusterSelector: 2391 description: Label selector for Clusters. The Clusters that are selected 2392 by this will be the ones affected by this ClusterResourceSet. It 2393 must match the Cluster labels. This field is immutable. Label selector 2394 cannot be empty. 2395 properties: 2396 matchExpressions: 2397 description: matchExpressions is a list of label selector requirements. 2398 The requirements are ANDed. 2399 items: 2400 description: A label selector requirement is a selector that 2401 contains values, a key, and an operator that relates the key 2402 and values. 2403 properties: 2404 key: 2405 description: key is the label key that the selector applies 2406 to. 2407 type: string 2408 operator: 2409 description: operator represents a key's relationship to 2410 a set of values. Valid operators are In, NotIn, Exists 2411 and DoesNotExist. 2412 type: string 2413 values: 2414 description: values is an array of string values. If the 2415 operator is In or NotIn, the values array must be non-empty. 2416 If the operator is Exists or DoesNotExist, the values 2417 array must be empty. This array is replaced during a strategic 2418 merge patch. 2419 items: 2420 type: string 2421 type: array 2422 required: 2423 - key 2424 - operator 2425 type: object 2426 type: array 2427 matchLabels: 2428 additionalProperties: 2429 type: string 2430 description: matchLabels is a map of {key,value} pairs. A single 2431 {key,value} in the matchLabels map is equivalent to an element 2432 of matchExpressions, whose key field is "key", the operator 2433 is "In", and the values array contains only "value". The requirements 2434 are ANDed. 2435 type: object 2436 type: object 2437 resources: 2438 description: Resources is a list of Secrets/ConfigMaps where each 2439 contains 1 or more resources to be applied to remote clusters. 2440 items: 2441 description: ResourceRef specifies a resource. 2442 properties: 2443 kind: 2444 description: 'Kind of the resource. Supported kinds are: Secrets 2445 and ConfigMaps.' 2446 enum: 2447 - Secret 2448 - ConfigMap 2449 type: string 2450 name: 2451 description: Name of the resource that is in the same namespace 2452 with ClusterResourceSet object. 2453 minLength: 1 2454 type: string 2455 required: 2456 - kind 2457 - name 2458 type: object 2459 type: array 2460 strategy: 2461 description: Strategy is the strategy to be used during applying resources. 2462 Defaults to ApplyOnce. This field is immutable. 2463 enum: 2464 - ApplyOnce 2465 - Reconcile 2466 type: string 2467 required: 2468 - clusterSelector 2469 type: object 2470 status: 2471 description: ClusterResourceSetStatus defines the observed state of ClusterResourceSet. 2472 properties: 2473 conditions: 2474 description: Conditions defines current state of the ClusterResourceSet. 2475 items: 2476 description: Condition defines an observation of a Cluster API resource 2477 operational state. 2478 properties: 2479 lastTransitionTime: 2480 description: Last time the condition transitioned from one status 2481 to another. This should be when the underlying condition changed. 2482 If that is not known, then using the time when the API field 2483 changed is acceptable. 2484 format: date-time 2485 type: string 2486 message: 2487 description: A human readable message indicating details about 2488 the transition. This field may be empty. 2489 type: string 2490 reason: 2491 description: The reason for the condition's last transition 2492 in CamelCase. The specific API may choose whether or not this 2493 field is considered a guaranteed API. This field may not be 2494 empty. 2495 type: string 2496 severity: 2497 description: Severity provides an explicit classification of 2498 Reason code, so the users or machines can immediately understand 2499 the current situation and act accordingly. The Severity field 2500 MUST be set only when Status=False. 2501 type: string 2502 status: 2503 description: Status of the condition, one of True, False, Unknown. 2504 type: string 2505 type: 2506 description: Type of condition in CamelCase or in foo.example.com/CamelCase. 2507 Many .condition.type values are consistent across resources 2508 like Available, but because arbitrary conditions can be useful 2509 (see .node.status.conditions), the ability to deconflict is 2510 important. 2511 type: string 2512 required: 2513 - lastTransitionTime 2514 - status 2515 - type 2516 type: object 2517 type: array 2518 observedGeneration: 2519 description: ObservedGeneration reflects the generation of the most 2520 recently observed ClusterResourceSet. 2521 format: int64 2522 type: integer 2523 type: object 2524 type: object 2525 served: true 2526 storage: true 2527 subresources: 2528 status: {} 2529 --- 2530 apiVersion: apiextensions.k8s.io/v1 2531 kind: CustomResourceDefinition 2532 metadata: 2533 annotations: 2534 cert-manager.io/inject-ca-from: capi-system/capi-serving-cert 2535 controller-gen.kubebuilder.io/version: v0.12.0 2536 labels: 2537 cluster.x-k8s.io/provider: cluster-api 2538 name: clusters.cluster.x-k8s.io 2539 spec: 2540 conversion: 2541 strategy: Webhook 2542 webhook: 2543 clientConfig: 2544 caBundle: Cg== 2545 service: 2546 name: capi-webhook-service 2547 namespace: capi-system 2548 path: /convert 2549 conversionReviewVersions: 2550 - v1 2551 - v1beta1 2552 group: cluster.x-k8s.io 2553 names: 2554 categories: 2555 - cluster-api 2556 kind: Cluster 2557 listKind: ClusterList 2558 plural: clusters 2559 shortNames: 2560 - cl 2561 singular: cluster 2562 scope: Namespaced 2563 versions: 2564 - additionalPrinterColumns: 2565 - description: Cluster status such as Pending/Provisioning/Provisioned/Deleting/Failed 2566 jsonPath: .status.phase 2567 name: Phase 2568 type: string 2569 deprecated: true 2570 name: v1alpha3 2571 schema: 2572 openAPIV3Schema: 2573 description: Cluster is the Schema for the clusters API. 2574 properties: 2575 apiVersion: 2576 description: 'APIVersion defines the versioned schema of this representation 2577 of an object. Servers should convert recognized schemas to the latest 2578 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 2579 type: string 2580 kind: 2581 description: 'Kind is a string value representing the REST resource this 2582 object represents. Servers may infer this from the endpoint the client 2583 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 2584 type: string 2585 metadata: 2586 type: object 2587 spec: 2588 description: ClusterSpec defines the desired state of Cluster. 2589 properties: 2590 clusterNetwork: 2591 description: Cluster network configuration. 2592 properties: 2593 apiServerPort: 2594 description: APIServerPort specifies the port the API Server should 2595 bind to. Defaults to 6443. 2596 format: int32 2597 type: integer 2598 pods: 2599 description: The network ranges from which Pod networks are allocated. 2600 properties: 2601 cidrBlocks: 2602 items: 2603 type: string 2604 type: array 2605 required: 2606 - cidrBlocks 2607 type: object 2608 serviceDomain: 2609 description: Domain name for services. 2610 type: string 2611 services: 2612 description: The network ranges from which service VIPs are allocated. 2613 properties: 2614 cidrBlocks: 2615 items: 2616 type: string 2617 type: array 2618 required: 2619 - cidrBlocks 2620 type: object 2621 type: object 2622 controlPlaneEndpoint: 2623 description: ControlPlaneEndpoint represents the endpoint used to 2624 communicate with the control plane. 2625 properties: 2626 host: 2627 description: The hostname on which the API server is serving. 2628 type: string 2629 port: 2630 description: The port on which the API server is serving. 2631 format: int32 2632 type: integer 2633 required: 2634 - host 2635 - port 2636 type: object 2637 controlPlaneRef: 2638 description: ControlPlaneRef is an optional reference to a provider-specific 2639 resource that holds the details for provisioning the Control Plane 2640 for a Cluster. 2641 properties: 2642 apiVersion: 2643 description: API version of the referent. 2644 type: string 2645 fieldPath: 2646 description: 'If referring to a piece of an object instead of 2647 an entire object, this string should contain a valid JSON/Go 2648 field access statement, such as desiredState.manifest.containers[2]. 2649 For example, if the object reference is to a container within 2650 a pod, this would take on a value like: "spec.containers{name}" 2651 (where "name" refers to the name of the container that triggered 2652 the event) or if no container name is specified "spec.containers[2]" 2653 (container with index 2 in this pod). This syntax is chosen 2654 only to have some well-defined way of referencing a part of 2655 an object. TODO: this design is not final and this field is 2656 subject to change in the future.' 2657 type: string 2658 kind: 2659 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 2660 type: string 2661 name: 2662 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 2663 type: string 2664 namespace: 2665 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 2666 type: string 2667 resourceVersion: 2668 description: 'Specific resourceVersion to which this reference 2669 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 2670 type: string 2671 uid: 2672 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 2673 type: string 2674 type: object 2675 x-kubernetes-map-type: atomic 2676 infrastructureRef: 2677 description: InfrastructureRef is a reference to a provider-specific 2678 resource that holds the details for provisioning infrastructure 2679 for a cluster in said provider. 2680 properties: 2681 apiVersion: 2682 description: API version of the referent. 2683 type: string 2684 fieldPath: 2685 description: 'If referring to a piece of an object instead of 2686 an entire object, this string should contain a valid JSON/Go 2687 field access statement, such as desiredState.manifest.containers[2]. 2688 For example, if the object reference is to a container within 2689 a pod, this would take on a value like: "spec.containers{name}" 2690 (where "name" refers to the name of the container that triggered 2691 the event) or if no container name is specified "spec.containers[2]" 2692 (container with index 2 in this pod). This syntax is chosen 2693 only to have some well-defined way of referencing a part of 2694 an object. TODO: this design is not final and this field is 2695 subject to change in the future.' 2696 type: string 2697 kind: 2698 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 2699 type: string 2700 name: 2701 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 2702 type: string 2703 namespace: 2704 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 2705 type: string 2706 resourceVersion: 2707 description: 'Specific resourceVersion to which this reference 2708 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 2709 type: string 2710 uid: 2711 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 2712 type: string 2713 type: object 2714 x-kubernetes-map-type: atomic 2715 paused: 2716 description: Paused can be used to prevent controllers from processing 2717 the Cluster and all its associated objects. 2718 type: boolean 2719 type: object 2720 status: 2721 description: ClusterStatus defines the observed state of Cluster. 2722 properties: 2723 conditions: 2724 description: Conditions defines current service state of the cluster. 2725 items: 2726 description: Condition defines an observation of a Cluster API resource 2727 operational state. 2728 properties: 2729 lastTransitionTime: 2730 description: Last time the condition transitioned from one status 2731 to another. This should be when the underlying condition changed. 2732 If that is not known, then using the time when the API field 2733 changed is acceptable. 2734 format: date-time 2735 type: string 2736 message: 2737 description: A human readable message indicating details about 2738 the transition. This field may be empty. 2739 type: string 2740 reason: 2741 description: The reason for the condition's last transition 2742 in CamelCase. The specific API may choose whether or not this 2743 field is considered a guaranteed API. This field may not be 2744 empty. 2745 type: string 2746 severity: 2747 description: Severity provides an explicit classification of 2748 Reason code, so the users or machines can immediately understand 2749 the current situation and act accordingly. The Severity field 2750 MUST be set only when Status=False. 2751 type: string 2752 status: 2753 description: Status of the condition, one of True, False, Unknown. 2754 type: string 2755 type: 2756 description: Type of condition in CamelCase or in foo.example.com/CamelCase. 2757 Many .condition.type values are consistent across resources 2758 like Available, but because arbitrary conditions can be useful 2759 (see .node.status.conditions), the ability to deconflict is 2760 important. 2761 type: string 2762 required: 2763 - status 2764 - type 2765 type: object 2766 type: array 2767 controlPlaneInitialized: 2768 description: ControlPlaneInitialized defines if the control plane 2769 has been initialized. 2770 type: boolean 2771 controlPlaneReady: 2772 description: ControlPlaneReady defines if the control plane is ready. 2773 type: boolean 2774 failureDomains: 2775 additionalProperties: 2776 description: FailureDomainSpec is the Schema for Cluster API failure 2777 domains. It allows controllers to understand how many failure 2778 domains a cluster can optionally span across. 2779 properties: 2780 attributes: 2781 additionalProperties: 2782 type: string 2783 description: Attributes is a free form map of attributes an 2784 infrastructure provider might use or require. 2785 type: object 2786 controlPlane: 2787 description: ControlPlane determines if this failure domain 2788 is suitable for use by control plane machines. 2789 type: boolean 2790 type: object 2791 description: FailureDomains is a slice of failure domain objects synced 2792 from the infrastructure provider. 2793 type: object 2794 failureMessage: 2795 description: FailureMessage indicates that there is a fatal problem 2796 reconciling the state, and will be set to a descriptive error message. 2797 type: string 2798 failureReason: 2799 description: FailureReason indicates that there is a fatal problem 2800 reconciling the state, and will be set to a token value suitable 2801 for programmatic interpretation. 2802 type: string 2803 infrastructureReady: 2804 description: InfrastructureReady is the state of the infrastructure 2805 provider. 2806 type: boolean 2807 observedGeneration: 2808 description: ObservedGeneration is the latest generation observed 2809 by the controller. 2810 format: int64 2811 type: integer 2812 phase: 2813 description: Phase represents the current phase of cluster actuation. 2814 E.g. Pending, Running, Terminating, Failed etc. 2815 type: string 2816 type: object 2817 type: object 2818 served: false 2819 storage: false 2820 subresources: 2821 status: {} 2822 - additionalPrinterColumns: 2823 - description: Time duration since creation of Cluster 2824 jsonPath: .metadata.creationTimestamp 2825 name: Age 2826 type: date 2827 - description: Cluster status such as Pending/Provisioning/Provisioned/Deleting/Failed 2828 jsonPath: .status.phase 2829 name: Phase 2830 type: string 2831 deprecated: true 2832 name: v1alpha4 2833 schema: 2834 openAPIV3Schema: 2835 description: "Cluster is the Schema for the clusters API. \n Deprecated: This 2836 type will be removed in one of the next releases." 2837 properties: 2838 apiVersion: 2839 description: 'APIVersion defines the versioned schema of this representation 2840 of an object. Servers should convert recognized schemas to the latest 2841 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 2842 type: string 2843 kind: 2844 description: 'Kind is a string value representing the REST resource this 2845 object represents. Servers may infer this from the endpoint the client 2846 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 2847 type: string 2848 metadata: 2849 type: object 2850 spec: 2851 description: ClusterSpec defines the desired state of Cluster. 2852 properties: 2853 clusterNetwork: 2854 description: Cluster network configuration. 2855 properties: 2856 apiServerPort: 2857 description: APIServerPort specifies the port the API Server should 2858 bind to. Defaults to 6443. 2859 format: int32 2860 type: integer 2861 pods: 2862 description: The network ranges from which Pod networks are allocated. 2863 properties: 2864 cidrBlocks: 2865 items: 2866 type: string 2867 type: array 2868 required: 2869 - cidrBlocks 2870 type: object 2871 serviceDomain: 2872 description: Domain name for services. 2873 type: string 2874 services: 2875 description: The network ranges from which service VIPs are allocated. 2876 properties: 2877 cidrBlocks: 2878 items: 2879 type: string 2880 type: array 2881 required: 2882 - cidrBlocks 2883 type: object 2884 type: object 2885 controlPlaneEndpoint: 2886 description: ControlPlaneEndpoint represents the endpoint used to 2887 communicate with the control plane. 2888 properties: 2889 host: 2890 description: The hostname on which the API server is serving. 2891 type: string 2892 port: 2893 description: The port on which the API server is serving. 2894 format: int32 2895 type: integer 2896 required: 2897 - host 2898 - port 2899 type: object 2900 controlPlaneRef: 2901 description: ControlPlaneRef is an optional reference to a provider-specific 2902 resource that holds the details for provisioning the Control Plane 2903 for a Cluster. 2904 properties: 2905 apiVersion: 2906 description: API version of the referent. 2907 type: string 2908 fieldPath: 2909 description: 'If referring to a piece of an object instead of 2910 an entire object, this string should contain a valid JSON/Go 2911 field access statement, such as desiredState.manifest.containers[2]. 2912 For example, if the object reference is to a container within 2913 a pod, this would take on a value like: "spec.containers{name}" 2914 (where "name" refers to the name of the container that triggered 2915 the event) or if no container name is specified "spec.containers[2]" 2916 (container with index 2 in this pod). This syntax is chosen 2917 only to have some well-defined way of referencing a part of 2918 an object. TODO: this design is not final and this field is 2919 subject to change in the future.' 2920 type: string 2921 kind: 2922 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 2923 type: string 2924 name: 2925 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 2926 type: string 2927 namespace: 2928 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 2929 type: string 2930 resourceVersion: 2931 description: 'Specific resourceVersion to which this reference 2932 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 2933 type: string 2934 uid: 2935 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 2936 type: string 2937 type: object 2938 x-kubernetes-map-type: atomic 2939 infrastructureRef: 2940 description: InfrastructureRef is a reference to a provider-specific 2941 resource that holds the details for provisioning infrastructure 2942 for a cluster in said provider. 2943 properties: 2944 apiVersion: 2945 description: API version of the referent. 2946 type: string 2947 fieldPath: 2948 description: 'If referring to a piece of an object instead of 2949 an entire object, this string should contain a valid JSON/Go 2950 field access statement, such as desiredState.manifest.containers[2]. 2951 For example, if the object reference is to a container within 2952 a pod, this would take on a value like: "spec.containers{name}" 2953 (where "name" refers to the name of the container that triggered 2954 the event) or if no container name is specified "spec.containers[2]" 2955 (container with index 2 in this pod). This syntax is chosen 2956 only to have some well-defined way of referencing a part of 2957 an object. TODO: this design is not final and this field is 2958 subject to change in the future.' 2959 type: string 2960 kind: 2961 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 2962 type: string 2963 name: 2964 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 2965 type: string 2966 namespace: 2967 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 2968 type: string 2969 resourceVersion: 2970 description: 'Specific resourceVersion to which this reference 2971 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 2972 type: string 2973 uid: 2974 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 2975 type: string 2976 type: object 2977 x-kubernetes-map-type: atomic 2978 paused: 2979 description: Paused can be used to prevent controllers from processing 2980 the Cluster and all its associated objects. 2981 type: boolean 2982 topology: 2983 description: 'This encapsulates the topology for the cluster. NOTE: 2984 It is required to enable the ClusterTopology feature gate flag to 2985 activate managed topologies support; this feature is highly experimental, 2986 and parts of it might still be not implemented.' 2987 properties: 2988 class: 2989 description: The name of the ClusterClass object to create the 2990 topology. 2991 type: string 2992 controlPlane: 2993 description: ControlPlane describes the cluster control plane. 2994 properties: 2995 metadata: 2996 description: "Metadata is the metadata applied to the machines 2997 of the ControlPlane. At runtime this metadata is merged 2998 with the corresponding metadata from the ClusterClass. \n 2999 This field is supported if and only if the control plane 3000 provider template referenced in the ClusterClass is Machine 3001 based." 3002 properties: 3003 annotations: 3004 additionalProperties: 3005 type: string 3006 description: 'Annotations is an unstructured key value 3007 map stored with a resource that may be set by external 3008 tools to store and retrieve arbitrary metadata. They 3009 are not queryable and should be preserved when modifying 3010 objects. More info: http://kubernetes.io/docs/user-guide/annotations' 3011 type: object 3012 labels: 3013 additionalProperties: 3014 type: string 3015 description: 'Map of string keys and values that can be 3016 used to organize and categorize (scope and select) objects. 3017 May match selectors of replication controllers and services. 3018 More info: http://kubernetes.io/docs/user-guide/labels' 3019 type: object 3020 type: object 3021 replicas: 3022 description: Replicas is the number of control plane nodes. 3023 If the value is nil, the ControlPlane object is created 3024 without the number of Replicas and it's assumed that the 3025 control plane controller does not implement support for 3026 this field. When specified against a control plane provider 3027 that lacks support for this field, this value will be ignored. 3028 format: int32 3029 type: integer 3030 type: object 3031 rolloutAfter: 3032 description: RolloutAfter performs a rollout of the entire cluster 3033 one component at a time, control plane first and then machine 3034 deployments. 3035 format: date-time 3036 type: string 3037 version: 3038 description: The Kubernetes version of the cluster. 3039 type: string 3040 workers: 3041 description: Workers encapsulates the different constructs that 3042 form the worker nodes for the cluster. 3043 properties: 3044 machineDeployments: 3045 description: MachineDeployments is a list of machine deployments 3046 in the cluster. 3047 items: 3048 description: MachineDeploymentTopology specifies the different 3049 parameters for a set of worker nodes in the topology. 3050 This set of nodes is managed by a MachineDeployment object 3051 whose lifecycle is managed by the Cluster controller. 3052 properties: 3053 class: 3054 description: Class is the name of the MachineDeploymentClass 3055 used to create the set of worker nodes. This should 3056 match one of the deployment classes defined in the 3057 ClusterClass object mentioned in the `Cluster.Spec.Class` 3058 field. 3059 type: string 3060 metadata: 3061 description: Metadata is the metadata applied to the 3062 machines of the MachineDeployment. At runtime this 3063 metadata is merged with the corresponding metadata 3064 from the ClusterClass. 3065 properties: 3066 annotations: 3067 additionalProperties: 3068 type: string 3069 description: 'Annotations is an unstructured key 3070 value map stored with a resource that may be set 3071 by external tools to store and retrieve arbitrary 3072 metadata. They are not queryable and should be 3073 preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' 3074 type: object 3075 labels: 3076 additionalProperties: 3077 type: string 3078 description: 'Map of string keys and values that 3079 can be used to organize and categorize (scope 3080 and select) objects. May match selectors of replication 3081 controllers and services. More info: http://kubernetes.io/docs/user-guide/labels' 3082 type: object 3083 type: object 3084 name: 3085 description: Name is the unique identifier for this 3086 MachineDeploymentTopology. The value is used with 3087 other unique identifiers to create a MachineDeployment's 3088 Name (e.g. cluster's name, etc). In case the name 3089 is greater than the allowed maximum length, the values 3090 are hashed together. 3091 type: string 3092 replicas: 3093 description: Replicas is the number of worker nodes 3094 belonging to this set. If the value is nil, the MachineDeployment 3095 is created without the number of Replicas (defaulting 3096 to zero) and it's assumed that an external entity 3097 (like cluster autoscaler) is responsible for the management 3098 of this value. 3099 format: int32 3100 type: integer 3101 required: 3102 - class 3103 - name 3104 type: object 3105 type: array 3106 type: object 3107 required: 3108 - class 3109 - version 3110 type: object 3111 type: object 3112 status: 3113 description: ClusterStatus defines the observed state of Cluster. 3114 properties: 3115 conditions: 3116 description: Conditions defines current service state of the cluster. 3117 items: 3118 description: Condition defines an observation of a Cluster API resource 3119 operational state. 3120 properties: 3121 lastTransitionTime: 3122 description: Last time the condition transitioned from one status 3123 to another. This should be when the underlying condition changed. 3124 If that is not known, then using the time when the API field 3125 changed is acceptable. 3126 format: date-time 3127 type: string 3128 message: 3129 description: A human readable message indicating details about 3130 the transition. This field may be empty. 3131 type: string 3132 reason: 3133 description: The reason for the condition's last transition 3134 in CamelCase. The specific API may choose whether or not this 3135 field is considered a guaranteed API. This field may not be 3136 empty. 3137 type: string 3138 severity: 3139 description: Severity provides an explicit classification of 3140 Reason code, so the users or machines can immediately understand 3141 the current situation and act accordingly. The Severity field 3142 MUST be set only when Status=False. 3143 type: string 3144 status: 3145 description: Status of the condition, one of True, False, Unknown. 3146 type: string 3147 type: 3148 description: Type of condition in CamelCase or in foo.example.com/CamelCase. 3149 Many .condition.type values are consistent across resources 3150 like Available, but because arbitrary conditions can be useful 3151 (see .node.status.conditions), the ability to deconflict is 3152 important. 3153 type: string 3154 required: 3155 - status 3156 - type 3157 type: object 3158 type: array 3159 controlPlaneReady: 3160 description: ControlPlaneReady defines if the control plane is ready. 3161 type: boolean 3162 failureDomains: 3163 additionalProperties: 3164 description: FailureDomainSpec is the Schema for Cluster API failure 3165 domains. It allows controllers to understand how many failure 3166 domains a cluster can optionally span across. 3167 properties: 3168 attributes: 3169 additionalProperties: 3170 type: string 3171 description: Attributes is a free form map of attributes an 3172 infrastructure provider might use or require. 3173 type: object 3174 controlPlane: 3175 description: ControlPlane determines if this failure domain 3176 is suitable for use by control plane machines. 3177 type: boolean 3178 type: object 3179 description: FailureDomains is a slice of failure domain objects synced 3180 from the infrastructure provider. 3181 type: object 3182 failureMessage: 3183 description: FailureMessage indicates that there is a fatal problem 3184 reconciling the state, and will be set to a descriptive error message. 3185 type: string 3186 failureReason: 3187 description: FailureReason indicates that there is a fatal problem 3188 reconciling the state, and will be set to a token value suitable 3189 for programmatic interpretation. 3190 type: string 3191 infrastructureReady: 3192 description: InfrastructureReady is the state of the infrastructure 3193 provider. 3194 type: boolean 3195 observedGeneration: 3196 description: ObservedGeneration is the latest generation observed 3197 by the controller. 3198 format: int64 3199 type: integer 3200 phase: 3201 description: Phase represents the current phase of cluster actuation. 3202 E.g. Pending, Running, Terminating, Failed etc. 3203 type: string 3204 type: object 3205 type: object 3206 served: true 3207 storage: false 3208 subresources: 3209 status: {} 3210 - additionalPrinterColumns: 3211 - description: Cluster status such as Pending/Provisioning/Provisioned/Deleting/Failed 3212 jsonPath: .status.phase 3213 name: Phase 3214 type: string 3215 - description: Time duration since creation of Cluster 3216 jsonPath: .metadata.creationTimestamp 3217 name: Age 3218 type: date 3219 - description: Kubernetes version associated with this Cluster 3220 jsonPath: .spec.topology.version 3221 name: Version 3222 type: string 3223 name: v1beta1 3224 schema: 3225 openAPIV3Schema: 3226 description: Cluster is the Schema for the clusters API. 3227 properties: 3228 apiVersion: 3229 description: 'APIVersion defines the versioned schema of this representation 3230 of an object. Servers should convert recognized schemas to the latest 3231 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 3232 type: string 3233 kind: 3234 description: 'Kind is a string value representing the REST resource this 3235 object represents. Servers may infer this from the endpoint the client 3236 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 3237 type: string 3238 metadata: 3239 type: object 3240 spec: 3241 description: ClusterSpec defines the desired state of Cluster. 3242 properties: 3243 clusterNetwork: 3244 description: Cluster network configuration. 3245 properties: 3246 apiServerPort: 3247 description: APIServerPort specifies the port the API Server should 3248 bind to. Defaults to 6443. 3249 format: int32 3250 type: integer 3251 pods: 3252 description: The network ranges from which Pod networks are allocated. 3253 properties: 3254 cidrBlocks: 3255 items: 3256 type: string 3257 type: array 3258 required: 3259 - cidrBlocks 3260 type: object 3261 serviceDomain: 3262 description: Domain name for services. 3263 type: string 3264 services: 3265 description: The network ranges from which service VIPs are allocated. 3266 properties: 3267 cidrBlocks: 3268 items: 3269 type: string 3270 type: array 3271 required: 3272 - cidrBlocks 3273 type: object 3274 type: object 3275 controlPlaneEndpoint: 3276 description: ControlPlaneEndpoint represents the endpoint used to 3277 communicate with the control plane. 3278 properties: 3279 host: 3280 description: The hostname on which the API server is serving. 3281 type: string 3282 port: 3283 description: The port on which the API server is serving. 3284 format: int32 3285 type: integer 3286 required: 3287 - host 3288 - port 3289 type: object 3290 controlPlaneRef: 3291 description: ControlPlaneRef is an optional reference to a provider-specific 3292 resource that holds the details for provisioning the Control Plane 3293 for a Cluster. 3294 properties: 3295 apiVersion: 3296 description: API version of the referent. 3297 type: string 3298 fieldPath: 3299 description: 'If referring to a piece of an object instead of 3300 an entire object, this string should contain a valid JSON/Go 3301 field access statement, such as desiredState.manifest.containers[2]. 3302 For example, if the object reference is to a container within 3303 a pod, this would take on a value like: "spec.containers{name}" 3304 (where "name" refers to the name of the container that triggered 3305 the event) or if no container name is specified "spec.containers[2]" 3306 (container with index 2 in this pod). This syntax is chosen 3307 only to have some well-defined way of referencing a part of 3308 an object. TODO: this design is not final and this field is 3309 subject to change in the future.' 3310 type: string 3311 kind: 3312 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 3313 type: string 3314 name: 3315 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 3316 type: string 3317 namespace: 3318 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 3319 type: string 3320 resourceVersion: 3321 description: 'Specific resourceVersion to which this reference 3322 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 3323 type: string 3324 uid: 3325 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 3326 type: string 3327 type: object 3328 x-kubernetes-map-type: atomic 3329 infrastructureRef: 3330 description: InfrastructureRef is a reference to a provider-specific 3331 resource that holds the details for provisioning infrastructure 3332 for a cluster in said provider. 3333 properties: 3334 apiVersion: 3335 description: API version of the referent. 3336 type: string 3337 fieldPath: 3338 description: 'If referring to a piece of an object instead of 3339 an entire object, this string should contain a valid JSON/Go 3340 field access statement, such as desiredState.manifest.containers[2]. 3341 For example, if the object reference is to a container within 3342 a pod, this would take on a value like: "spec.containers{name}" 3343 (where "name" refers to the name of the container that triggered 3344 the event) or if no container name is specified "spec.containers[2]" 3345 (container with index 2 in this pod). This syntax is chosen 3346 only to have some well-defined way of referencing a part of 3347 an object. TODO: this design is not final and this field is 3348 subject to change in the future.' 3349 type: string 3350 kind: 3351 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 3352 type: string 3353 name: 3354 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 3355 type: string 3356 namespace: 3357 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 3358 type: string 3359 resourceVersion: 3360 description: 'Specific resourceVersion to which this reference 3361 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 3362 type: string 3363 uid: 3364 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 3365 type: string 3366 type: object 3367 x-kubernetes-map-type: atomic 3368 paused: 3369 description: Paused can be used to prevent controllers from processing 3370 the Cluster and all its associated objects. 3371 type: boolean 3372 topology: 3373 description: 'This encapsulates the topology for the cluster. NOTE: 3374 It is required to enable the ClusterTopology feature gate flag to 3375 activate managed topologies support; this feature is highly experimental, 3376 and parts of it might still be not implemented.' 3377 properties: 3378 class: 3379 description: The name of the ClusterClass object to create the 3380 topology. 3381 type: string 3382 controlPlane: 3383 description: ControlPlane describes the cluster control plane. 3384 properties: 3385 machineHealthCheck: 3386 description: MachineHealthCheck allows to enable, disable 3387 and override the MachineHealthCheck configuration in the 3388 ClusterClass for this control plane. 3389 properties: 3390 enable: 3391 description: "Enable controls if a MachineHealthCheck 3392 should be created for the target machines. \n If false: 3393 No MachineHealthCheck will be created. \n If not set(default): 3394 A MachineHealthCheck will be created if it is defined 3395 here or in the associated ClusterClass. If no MachineHealthCheck 3396 is defined then none will be created. \n If true: A 3397 MachineHealthCheck is guaranteed to be created. Cluster 3398 validation will block if `enable` is true and no MachineHealthCheck 3399 definition is available." 3400 type: boolean 3401 maxUnhealthy: 3402 anyOf: 3403 - type: integer 3404 - type: string 3405 description: Any further remediation is only allowed if 3406 at most "MaxUnhealthy" machines selected by "selector" 3407 are not healthy. 3408 x-kubernetes-int-or-string: true 3409 nodeStartupTimeout: 3410 description: Machines older than this duration without 3411 a node will be considered to have failed and will be 3412 remediated. If you wish to disable this feature, set 3413 the value explicitly to 0. 3414 type: string 3415 remediationTemplate: 3416 description: "RemediationTemplate is a reference to a 3417 remediation template provided by an infrastructure provider. 3418 \n This field is completely optional, when filled, the 3419 MachineHealthCheck controller creates a new object from 3420 the template referenced and hands off remediation of 3421 the machine to a controller that lives outside of Cluster 3422 API." 3423 properties: 3424 apiVersion: 3425 description: API version of the referent. 3426 type: string 3427 fieldPath: 3428 description: 'If referring to a piece of an object 3429 instead of an entire object, this string should 3430 contain a valid JSON/Go field access statement, 3431 such as desiredState.manifest.containers[2]. For 3432 example, if the object reference is to a container 3433 within a pod, this would take on a value like: "spec.containers{name}" 3434 (where "name" refers to the name of the container 3435 that triggered the event) or if no container name 3436 is specified "spec.containers[2]" (container with 3437 index 2 in this pod). This syntax is chosen only 3438 to have some well-defined way of referencing a part 3439 of an object. TODO: this design is not final and 3440 this field is subject to change in the future.' 3441 type: string 3442 kind: 3443 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 3444 type: string 3445 name: 3446 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 3447 type: string 3448 namespace: 3449 description: 'Namespace of the referent. More info: 3450 https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 3451 type: string 3452 resourceVersion: 3453 description: 'Specific resourceVersion to which this 3454 reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 3455 type: string 3456 uid: 3457 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 3458 type: string 3459 type: object 3460 x-kubernetes-map-type: atomic 3461 unhealthyConditions: 3462 description: UnhealthyConditions contains a list of the 3463 conditions that determine whether a node is considered 3464 unhealthy. The conditions are combined in a logical 3465 OR, i.e. if any of the conditions is met, the node is 3466 unhealthy. 3467 items: 3468 description: UnhealthyCondition represents a Node condition 3469 type and value with a timeout specified as a duration. When 3470 the named condition has been in the given status for 3471 at least the timeout value, a node is considered unhealthy. 3472 properties: 3473 status: 3474 minLength: 1 3475 type: string 3476 timeout: 3477 type: string 3478 type: 3479 minLength: 1 3480 type: string 3481 required: 3482 - status 3483 - timeout 3484 - type 3485 type: object 3486 type: array 3487 unhealthyRange: 3488 description: 'Any further remediation is only allowed 3489 if the number of machines selected by "selector" as 3490 not healthy is within the range of "UnhealthyRange". 3491 Takes precedence over MaxUnhealthy. Eg. "[3-5]" - This 3492 means that remediation will be allowed only when: (a) 3493 there are at least 3 unhealthy machines (and) (b) there 3494 are at most 5 unhealthy machines' 3495 pattern: ^\[[0-9]+-[0-9]+\]$ 3496 type: string 3497 type: object 3498 metadata: 3499 description: Metadata is the metadata applied to the ControlPlane 3500 and the Machines of the ControlPlane if the ControlPlaneTemplate 3501 referenced by the ClusterClass is machine based. If not, 3502 it is applied only to the ControlPlane. At runtime this 3503 metadata is merged with the corresponding metadata from 3504 the ClusterClass. 3505 properties: 3506 annotations: 3507 additionalProperties: 3508 type: string 3509 description: 'Annotations is an unstructured key value 3510 map stored with a resource that may be set by external 3511 tools to store and retrieve arbitrary metadata. They 3512 are not queryable and should be preserved when modifying 3513 objects. More info: http://kubernetes.io/docs/user-guide/annotations' 3514 type: object 3515 labels: 3516 additionalProperties: 3517 type: string 3518 description: 'Map of string keys and values that can be 3519 used to organize and categorize (scope and select) objects. 3520 May match selectors of replication controllers and services. 3521 More info: http://kubernetes.io/docs/user-guide/labels' 3522 type: object 3523 type: object 3524 nodeDeletionTimeout: 3525 description: NodeDeletionTimeout defines how long the controller 3526 will attempt to delete the Node that the Machine hosts after 3527 the Machine is marked for deletion. A duration of 0 will 3528 retry deletion indefinitely. Defaults to 10 seconds. 3529 type: string 3530 nodeDrainTimeout: 3531 description: 'NodeDrainTimeout is the total amount of time 3532 that the controller will spend on draining a node. The default 3533 value is 0, meaning that the node can be drained without 3534 any time limitations. NOTE: NodeDrainTimeout is different 3535 from `kubectl drain --timeout`' 3536 type: string 3537 nodeVolumeDetachTimeout: 3538 description: NodeVolumeDetachTimeout is the total amount of 3539 time that the controller will spend on waiting for all volumes 3540 to be detached. The default value is 0, meaning that the 3541 volumes can be detached without any time limitations. 3542 type: string 3543 replicas: 3544 description: Replicas is the number of control plane nodes. 3545 If the value is nil, the ControlPlane object is created 3546 without the number of Replicas and it's assumed that the 3547 control plane controller does not implement support for 3548 this field. When specified against a control plane provider 3549 that lacks support for this field, this value will be ignored. 3550 format: int32 3551 type: integer 3552 type: object 3553 rolloutAfter: 3554 description: "RolloutAfter performs a rollout of the entire cluster 3555 one component at a time, control plane first and then machine 3556 deployments. \n Deprecated: This field has no function and is 3557 going to be removed in the next apiVersion." 3558 format: date-time 3559 type: string 3560 variables: 3561 description: Variables can be used to customize the Cluster through 3562 patches. They must comply to the corresponding VariableClasses 3563 defined in the ClusterClass. 3564 items: 3565 description: ClusterVariable can be used to customize the Cluster 3566 through patches. Each ClusterVariable is associated with a 3567 Variable definition in the ClusterClass `status` variables. 3568 properties: 3569 definitionFrom: 3570 description: 'DefinitionFrom specifies where the definition 3571 of this Variable is from. DefinitionFrom is `inline` when 3572 the definition is from the ClusterClass `.spec.variables` 3573 or the name of a patch defined in the ClusterClass `.spec.patches` 3574 where the patch is external and provides external variables. 3575 This field is mandatory if the variable has `DefinitionsConflict: 3576 true` in ClusterClass `status.variables[]`' 3577 type: string 3578 name: 3579 description: Name of the variable. 3580 type: string 3581 value: 3582 description: 'Value of the variable. Note: the value will 3583 be validated against the schema of the corresponding ClusterClassVariable 3584 from the ClusterClass. Note: We have to use apiextensionsv1.JSON 3585 instead of a custom JSON type, because controller-tools 3586 has a hard-coded schema for apiextensionsv1.JSON which 3587 cannot be produced by another type via controller-tools, 3588 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' 3589 x-kubernetes-preserve-unknown-fields: true 3590 required: 3591 - name 3592 - value 3593 type: object 3594 type: array 3595 version: 3596 description: The Kubernetes version of the cluster. 3597 type: string 3598 workers: 3599 description: Workers encapsulates the different constructs that 3600 form the worker nodes for the cluster. 3601 properties: 3602 machineDeployments: 3603 description: MachineDeployments is a list of machine deployments 3604 in the cluster. 3605 items: 3606 description: MachineDeploymentTopology specifies the different 3607 parameters for a set of worker nodes in the topology. 3608 This set of nodes is managed by a MachineDeployment object 3609 whose lifecycle is managed by the Cluster controller. 3610 properties: 3611 class: 3612 description: Class is the name of the MachineDeploymentClass 3613 used to create the set of worker nodes. This should 3614 match one of the deployment classes defined in the 3615 ClusterClass object mentioned in the `Cluster.Spec.Class` 3616 field. 3617 type: string 3618 failureDomain: 3619 description: FailureDomain is the failure domain the 3620 machines will be created in. Must match a key in the 3621 FailureDomains map stored on the cluster object. 3622 type: string 3623 machineHealthCheck: 3624 description: MachineHealthCheck allows to enable, disable 3625 and override the MachineHealthCheck configuration 3626 in the ClusterClass for this MachineDeployment. 3627 properties: 3628 enable: 3629 description: "Enable controls if a MachineHealthCheck 3630 should be created for the target machines. \n 3631 If false: No MachineHealthCheck will be created. 3632 \n If not set(default): A MachineHealthCheck will 3633 be created if it is defined here or in the associated 3634 ClusterClass. If no MachineHealthCheck is defined 3635 then none will be created. \n If true: A MachineHealthCheck 3636 is guaranteed to be created. Cluster validation 3637 will block if `enable` is true and no MachineHealthCheck 3638 definition is available." 3639 type: boolean 3640 maxUnhealthy: 3641 anyOf: 3642 - type: integer 3643 - type: string 3644 description: Any further remediation is only allowed 3645 if at most "MaxUnhealthy" machines selected by 3646 "selector" are not healthy. 3647 x-kubernetes-int-or-string: true 3648 nodeStartupTimeout: 3649 description: Machines older than this duration without 3650 a node will be considered to have failed and will 3651 be remediated. If you wish to disable this feature, 3652 set the value explicitly to 0. 3653 type: string 3654 remediationTemplate: 3655 description: "RemediationTemplate is a reference 3656 to a remediation template provided by an infrastructure 3657 provider. \n This field is completely optional, 3658 when filled, the MachineHealthCheck controller 3659 creates a new object from the template referenced 3660 and hands off remediation of the machine to a 3661 controller that lives outside of Cluster API." 3662 properties: 3663 apiVersion: 3664 description: API version of the referent. 3665 type: string 3666 fieldPath: 3667 description: 'If referring to a piece of an 3668 object instead of an entire object, this string 3669 should contain a valid JSON/Go field access 3670 statement, such as desiredState.manifest.containers[2]. 3671 For example, if the object reference is to 3672 a container within a pod, this would take 3673 on a value like: "spec.containers{name}" (where 3674 "name" refers to the name of the container 3675 that triggered the event) or if no container 3676 name is specified "spec.containers[2]" (container 3677 with index 2 in this pod). This syntax is 3678 chosen only to have some well-defined way 3679 of referencing a part of an object. TODO: 3680 this design is not final and this field is 3681 subject to change in the future.' 3682 type: string 3683 kind: 3684 description: 'Kind of the referent. More info: 3685 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 3686 type: string 3687 name: 3688 description: 'Name of the referent. More info: 3689 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 3690 type: string 3691 namespace: 3692 description: 'Namespace of the referent. More 3693 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 3694 type: string 3695 resourceVersion: 3696 description: 'Specific resourceVersion to which 3697 this reference is made, if any. More info: 3698 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 3699 type: string 3700 uid: 3701 description: 'UID of the referent. More info: 3702 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 3703 type: string 3704 type: object 3705 x-kubernetes-map-type: atomic 3706 unhealthyConditions: 3707 description: UnhealthyConditions contains a list 3708 of the conditions that determine whether a node 3709 is considered unhealthy. The conditions are combined 3710 in a logical OR, i.e. if any of the conditions 3711 is met, the node is unhealthy. 3712 items: 3713 description: UnhealthyCondition represents a Node 3714 condition type and value with a timeout specified 3715 as a duration. When the named condition has 3716 been in the given status for at least the timeout 3717 value, a node is considered unhealthy. 3718 properties: 3719 status: 3720 minLength: 1 3721 type: string 3722 timeout: 3723 type: string 3724 type: 3725 minLength: 1 3726 type: string 3727 required: 3728 - status 3729 - timeout 3730 - type 3731 type: object 3732 type: array 3733 unhealthyRange: 3734 description: 'Any further remediation is only allowed 3735 if the number of machines selected by "selector" 3736 as not healthy is within the range of "UnhealthyRange". 3737 Takes precedence over MaxUnhealthy. Eg. "[3-5]" 3738 - This means that remediation will be allowed 3739 only when: (a) there are at least 3 unhealthy 3740 machines (and) (b) there are at most 5 unhealthy 3741 machines' 3742 pattern: ^\[[0-9]+-[0-9]+\]$ 3743 type: string 3744 type: object 3745 metadata: 3746 description: Metadata is the metadata applied to the 3747 MachineDeployment and the machines of the MachineDeployment. 3748 At runtime this metadata is merged with the corresponding 3749 metadata from the ClusterClass. 3750 properties: 3751 annotations: 3752 additionalProperties: 3753 type: string 3754 description: 'Annotations is an unstructured key 3755 value map stored with a resource that may be set 3756 by external tools to store and retrieve arbitrary 3757 metadata. They are not queryable and should be 3758 preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' 3759 type: object 3760 labels: 3761 additionalProperties: 3762 type: string 3763 description: 'Map of string keys and values that 3764 can be used to organize and categorize (scope 3765 and select) objects. May match selectors of replication 3766 controllers and services. More info: http://kubernetes.io/docs/user-guide/labels' 3767 type: object 3768 type: object 3769 minReadySeconds: 3770 description: Minimum number of seconds for which a newly 3771 created machine should be ready. Defaults to 0 (machine 3772 will be considered available as soon as it is ready) 3773 format: int32 3774 type: integer 3775 name: 3776 description: Name is the unique identifier for this 3777 MachineDeploymentTopology. The value is used with 3778 other unique identifiers to create a MachineDeployment's 3779 Name (e.g. cluster's name, etc). In case the name 3780 is greater than the allowed maximum length, the values 3781 are hashed together. 3782 type: string 3783 nodeDeletionTimeout: 3784 description: NodeDeletionTimeout defines how long the 3785 controller will attempt to delete the Node that the 3786 Machine hosts after the Machine is marked for deletion. 3787 A duration of 0 will retry deletion indefinitely. 3788 Defaults to 10 seconds. 3789 type: string 3790 nodeDrainTimeout: 3791 description: 'NodeDrainTimeout is the total amount of 3792 time that the controller will spend on draining a 3793 node. The default value is 0, meaning that the node 3794 can be drained without any time limitations. NOTE: 3795 NodeDrainTimeout is different from `kubectl drain 3796 --timeout`' 3797 type: string 3798 nodeVolumeDetachTimeout: 3799 description: NodeVolumeDetachTimeout is the total amount 3800 of time that the controller will spend on waiting 3801 for all volumes to be detached. The default value 3802 is 0, meaning that the volumes can be detached without 3803 any time limitations. 3804 type: string 3805 replicas: 3806 description: Replicas is the number of worker nodes 3807 belonging to this set. If the value is nil, the MachineDeployment 3808 is created without the number of Replicas (defaulting 3809 to 1) and it's assumed that an external entity (like 3810 cluster autoscaler) is responsible for the management 3811 of this value. 3812 format: int32 3813 type: integer 3814 strategy: 3815 description: The deployment strategy to use to replace 3816 existing machines with new ones. 3817 properties: 3818 rollingUpdate: 3819 description: Rolling update config params. Present 3820 only if MachineDeploymentStrategyType = RollingUpdate. 3821 properties: 3822 deletePolicy: 3823 description: DeletePolicy defines the policy 3824 used by the MachineDeployment to identify 3825 nodes to delete when downscaling. Valid values 3826 are "Random, "Newest", "Oldest" When no value 3827 is supplied, the default DeletePolicy of MachineSet 3828 is used 3829 enum: 3830 - Random 3831 - Newest 3832 - Oldest 3833 type: string 3834 maxSurge: 3835 anyOf: 3836 - type: integer 3837 - type: string 3838 description: 'The maximum number of machines 3839 that can be scheduled above the desired number 3840 of machines. Value can be an absolute number 3841 (ex: 5) or a percentage of desired machines 3842 (ex: 10%). This can not be 0 if MaxUnavailable 3843 is 0. Absolute number is calculated from percentage 3844 by rounding up. Defaults to 1. Example: when 3845 this is set to 30%, the new MachineSet can 3846 be scaled up immediately when the rolling 3847 update starts, such that the total number 3848 of old and new machines do not exceed 130% 3849 of desired machines. Once old machines have 3850 been killed, new MachineSet can be scaled 3851 up further, ensuring that total number of 3852 machines running at any time during the update 3853 is at most 130% of desired machines.' 3854 x-kubernetes-int-or-string: true 3855 maxUnavailable: 3856 anyOf: 3857 - type: integer 3858 - type: string 3859 description: 'The maximum number of machines 3860 that can be unavailable during the update. 3861 Value can be an absolute number (ex: 5) or 3862 a percentage of desired machines (ex: 10%). 3863 Absolute number is calculated from percentage 3864 by rounding down. This can not be 0 if MaxSurge 3865 is 0. Defaults to 0. Example: when this is 3866 set to 30%, the old MachineSet can be scaled 3867 down to 70% of desired machines immediately 3868 when the rolling update starts. Once new machines 3869 are ready, old MachineSet can be scaled down 3870 further, followed by scaling up the new MachineSet, 3871 ensuring that the total number of machines 3872 available at all times during the update is 3873 at least 70% of desired machines.' 3874 x-kubernetes-int-or-string: true 3875 type: object 3876 type: 3877 description: Type of deployment. Default is RollingUpdate. 3878 enum: 3879 - RollingUpdate 3880 - OnDelete 3881 type: string 3882 type: object 3883 variables: 3884 description: Variables can be used to customize the 3885 MachineDeployment through patches. 3886 properties: 3887 overrides: 3888 description: Overrides can be used to override Cluster 3889 level variables. 3890 items: 3891 description: ClusterVariable can be used to customize 3892 the Cluster through patches. Each ClusterVariable 3893 is associated with a Variable definition in 3894 the ClusterClass `status` variables. 3895 properties: 3896 definitionFrom: 3897 description: 'DefinitionFrom specifies where 3898 the definition of this Variable is from. 3899 DefinitionFrom is `inline` when the definition 3900 is from the ClusterClass `.spec.variables` 3901 or the name of a patch defined in the ClusterClass 3902 `.spec.patches` where the patch is external 3903 and provides external variables. This field 3904 is mandatory if the variable has `DefinitionsConflict: 3905 true` in ClusterClass `status.variables[]`' 3906 type: string 3907 name: 3908 description: Name of the variable. 3909 type: string 3910 value: 3911 description: 'Value of the variable. Note: 3912 the value will be validated against the 3913 schema of the corresponding ClusterClassVariable 3914 from the ClusterClass. Note: We have to 3915 use apiextensionsv1.JSON instead of a custom 3916 JSON type, because controller-tools has 3917 a hard-coded schema for apiextensionsv1.JSON 3918 which cannot be produced by another type 3919 via controller-tools, i.e. it is not possible 3920 to have no type field. Ref: https://github.com/kubernetes-sigs/controller-tools/blob/d0e03a142d0ecdd5491593e941ee1d6b5d91dba6/pkg/crd/known_types.go#L106-L111' 3921 x-kubernetes-preserve-unknown-fields: true 3922 required: 3923 - name 3924 - value 3925 type: object 3926 type: array 3927 type: object 3928 required: 3929 - class 3930 - name 3931 type: object 3932 type: array 3933 type: object 3934 required: 3935 - class 3936 - version 3937 type: object 3938 type: object 3939 status: 3940 description: ClusterStatus defines the observed state of Cluster. 3941 properties: 3942 conditions: 3943 description: Conditions defines current service state of the cluster. 3944 items: 3945 description: Condition defines an observation of a Cluster API resource 3946 operational state. 3947 properties: 3948 lastTransitionTime: 3949 description: Last time the condition transitioned from one status 3950 to another. This should be when the underlying condition changed. 3951 If that is not known, then using the time when the API field 3952 changed is acceptable. 3953 format: date-time 3954 type: string 3955 message: 3956 description: A human readable message indicating details about 3957 the transition. This field may be empty. 3958 type: string 3959 reason: 3960 description: The reason for the condition's last transition 3961 in CamelCase. The specific API may choose whether or not this 3962 field is considered a guaranteed API. This field may not be 3963 empty. 3964 type: string 3965 severity: 3966 description: Severity provides an explicit classification of 3967 Reason code, so the users or machines can immediately understand 3968 the current situation and act accordingly. The Severity field 3969 MUST be set only when Status=False. 3970 type: string 3971 status: 3972 description: Status of the condition, one of True, False, Unknown. 3973 type: string 3974 type: 3975 description: Type of condition in CamelCase or in foo.example.com/CamelCase. 3976 Many .condition.type values are consistent across resources 3977 like Available, but because arbitrary conditions can be useful 3978 (see .node.status.conditions), the ability to deconflict is 3979 important. 3980 type: string 3981 required: 3982 - lastTransitionTime 3983 - status 3984 - type 3985 type: object 3986 type: array 3987 controlPlaneReady: 3988 description: ControlPlaneReady defines if the control plane is ready. 3989 type: boolean 3990 failureDomains: 3991 additionalProperties: 3992 description: FailureDomainSpec is the Schema for Cluster API failure 3993 domains. It allows controllers to understand how many failure 3994 domains a cluster can optionally span across. 3995 properties: 3996 attributes: 3997 additionalProperties: 3998 type: string 3999 description: Attributes is a free form map of attributes an 4000 infrastructure provider might use or require. 4001 type: object 4002 controlPlane: 4003 description: ControlPlane determines if this failure domain 4004 is suitable for use by control plane machines. 4005 type: boolean 4006 type: object 4007 description: FailureDomains is a slice of failure domain objects synced 4008 from the infrastructure provider. 4009 type: object 4010 failureMessage: 4011 description: FailureMessage indicates that there is a fatal problem 4012 reconciling the state, and will be set to a descriptive error message. 4013 type: string 4014 failureReason: 4015 description: FailureReason indicates that there is a fatal problem 4016 reconciling the state, and will be set to a token value suitable 4017 for programmatic interpretation. 4018 type: string 4019 infrastructureReady: 4020 description: InfrastructureReady is the state of the infrastructure 4021 provider. 4022 type: boolean 4023 observedGeneration: 4024 description: ObservedGeneration is the latest generation observed 4025 by the controller. 4026 format: int64 4027 type: integer 4028 phase: 4029 description: Phase represents the current phase of cluster actuation. 4030 E.g. Pending, Running, Terminating, Failed etc. 4031 type: string 4032 type: object 4033 type: object 4034 served: true 4035 storage: true 4036 subresources: 4037 status: {} 4038 --- 4039 apiVersion: apiextensions.k8s.io/v1 4040 kind: CustomResourceDefinition 4041 metadata: 4042 annotations: 4043 controller-gen.kubebuilder.io/version: v0.12.0 4044 labels: 4045 cluster.x-k8s.io/provider: cluster-api 4046 name: extensionconfigs.runtime.cluster.x-k8s.io 4047 spec: 4048 group: runtime.cluster.x-k8s.io 4049 names: 4050 categories: 4051 - cluster-api 4052 kind: ExtensionConfig 4053 listKind: ExtensionConfigList 4054 plural: extensionconfigs 4055 shortNames: 4056 - ext 4057 singular: extensionconfig 4058 scope: Cluster 4059 versions: 4060 - additionalPrinterColumns: 4061 - description: Time duration since creation of ExtensionConfig 4062 jsonPath: .metadata.creationTimestamp 4063 name: Age 4064 type: date 4065 name: v1alpha1 4066 schema: 4067 openAPIV3Schema: 4068 description: ExtensionConfig is the Schema for the ExtensionConfig API. 4069 properties: 4070 apiVersion: 4071 description: 'APIVersion defines the versioned schema of this representation 4072 of an object. Servers should convert recognized schemas to the latest 4073 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 4074 type: string 4075 kind: 4076 description: 'Kind is a string value representing the REST resource this 4077 object represents. Servers may infer this from the endpoint the client 4078 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 4079 type: string 4080 metadata: 4081 type: object 4082 spec: 4083 description: ExtensionConfigSpec is the desired state of the ExtensionConfig 4084 properties: 4085 clientConfig: 4086 description: ClientConfig defines how to communicate with the Extension 4087 server. 4088 properties: 4089 caBundle: 4090 description: CABundle is a PEM encoded CA bundle which will be 4091 used to validate the Extension server's server certificate. 4092 format: byte 4093 type: string 4094 service: 4095 description: "Service is a reference to the Kubernetes service 4096 for the Extension server. Note: Exactly one of `url` or `service` 4097 must be specified. \n If the Extension server is running within 4098 a cluster, then you should use `service`." 4099 properties: 4100 name: 4101 description: Name is the name of the service. 4102 type: string 4103 namespace: 4104 description: Namespace is the namespace of the service. 4105 type: string 4106 path: 4107 description: Path is an optional URL path and if present may 4108 be any string permissible in a URL. If a path is set it 4109 will be used as prefix to the hook-specific path. 4110 type: string 4111 port: 4112 description: Port is the port on the service that's hosting 4113 the Extension server. Defaults to 443. Port should be a 4114 valid port number (1-65535, inclusive). 4115 format: int32 4116 type: integer 4117 required: 4118 - name 4119 - namespace 4120 type: object 4121 url: 4122 description: "URL gives the location of the Extension server, 4123 in standard URL form (`scheme://host:port/path`). Note: Exactly 4124 one of `url` or `service` must be specified. \n The scheme must 4125 be \"https\". \n The `host` should not refer to a service running 4126 in the cluster; use the `service` field instead. \n A path is 4127 optional, and if present may be any string permissible in a 4128 URL. If a path is set it will be used as prefix to the hook-specific 4129 path. \n Attempting to use a user or basic auth e.g. \"user:password@\" 4130 is not allowed. Fragments (\"#...\") and query parameters (\"?...\") 4131 are not allowed either." 4132 type: string 4133 type: object 4134 namespaceSelector: 4135 description: NamespaceSelector decides whether to call the hook for 4136 an object based on whether the namespace for that object matches 4137 the selector. Defaults to the empty LabelSelector, which matches 4138 all objects. 4139 properties: 4140 matchExpressions: 4141 description: matchExpressions is a list of label selector requirements. 4142 The requirements are ANDed. 4143 items: 4144 description: A label selector requirement is a selector that 4145 contains values, a key, and an operator that relates the key 4146 and values. 4147 properties: 4148 key: 4149 description: key is the label key that the selector applies 4150 to. 4151 type: string 4152 operator: 4153 description: operator represents a key's relationship to 4154 a set of values. Valid operators are In, NotIn, Exists 4155 and DoesNotExist. 4156 type: string 4157 values: 4158 description: values is an array of string values. If the 4159 operator is In or NotIn, the values array must be non-empty. 4160 If the operator is Exists or DoesNotExist, the values 4161 array must be empty. This array is replaced during a strategic 4162 merge patch. 4163 items: 4164 type: string 4165 type: array 4166 required: 4167 - key 4168 - operator 4169 type: object 4170 type: array 4171 matchLabels: 4172 additionalProperties: 4173 type: string 4174 description: matchLabels is a map of {key,value} pairs. A single 4175 {key,value} in the matchLabels map is equivalent to an element 4176 of matchExpressions, whose key field is "key", the operator 4177 is "In", and the values array contains only "value". The requirements 4178 are ANDed. 4179 type: object 4180 type: object 4181 settings: 4182 additionalProperties: 4183 type: string 4184 description: 'Settings defines key value pairs to be passed to all 4185 calls to all supported RuntimeExtensions. Note: Settings can be 4186 overridden on the ClusterClass.' 4187 type: object 4188 required: 4189 - clientConfig 4190 type: object 4191 status: 4192 description: ExtensionConfigStatus is the current state of the ExtensionConfig 4193 properties: 4194 conditions: 4195 description: Conditions define the current service state of the ExtensionConfig. 4196 items: 4197 description: Condition defines an observation of a Cluster API resource 4198 operational state. 4199 properties: 4200 lastTransitionTime: 4201 description: Last time the condition transitioned from one status 4202 to another. This should be when the underlying condition changed. 4203 If that is not known, then using the time when the API field 4204 changed is acceptable. 4205 format: date-time 4206 type: string 4207 message: 4208 description: A human readable message indicating details about 4209 the transition. This field may be empty. 4210 type: string 4211 reason: 4212 description: The reason for the condition's last transition 4213 in CamelCase. The specific API may choose whether or not this 4214 field is considered a guaranteed API. This field may not be 4215 empty. 4216 type: string 4217 severity: 4218 description: Severity provides an explicit classification of 4219 Reason code, so the users or machines can immediately understand 4220 the current situation and act accordingly. The Severity field 4221 MUST be set only when Status=False. 4222 type: string 4223 status: 4224 description: Status of the condition, one of True, False, Unknown. 4225 type: string 4226 type: 4227 description: Type of condition in CamelCase or in foo.example.com/CamelCase. 4228 Many .condition.type values are consistent across resources 4229 like Available, but because arbitrary conditions can be useful 4230 (see .node.status.conditions), the ability to deconflict is 4231 important. 4232 type: string 4233 required: 4234 - lastTransitionTime 4235 - status 4236 - type 4237 type: object 4238 type: array 4239 handlers: 4240 description: Handlers defines the current ExtensionHandlers supported 4241 by an Extension. 4242 items: 4243 description: ExtensionHandler specifies the details of a handler 4244 for a particular runtime hook registered by an Extension server. 4245 properties: 4246 failurePolicy: 4247 description: FailurePolicy defines how failures in calls to 4248 the ExtensionHandler should be handled by a client. Defaults 4249 to Fail if not set. 4250 type: string 4251 name: 4252 description: Name is the unique name of the ExtensionHandler. 4253 type: string 4254 requestHook: 4255 description: RequestHook defines the versioned runtime hook 4256 which this ExtensionHandler serves. 4257 properties: 4258 apiVersion: 4259 description: APIVersion is the group and version of the 4260 Hook. 4261 type: string 4262 hook: 4263 description: Hook is the name of the hook. 4264 type: string 4265 required: 4266 - apiVersion 4267 - hook 4268 type: object 4269 timeoutSeconds: 4270 description: TimeoutSeconds defines the timeout duration for 4271 client calls to the ExtensionHandler. Defaults to 10 is not 4272 set. 4273 format: int32 4274 type: integer 4275 required: 4276 - name 4277 - requestHook 4278 type: object 4279 type: array 4280 x-kubernetes-list-map-keys: 4281 - name 4282 x-kubernetes-list-type: map 4283 type: object 4284 type: object 4285 served: true 4286 storage: true 4287 subresources: 4288 status: {} 4289 --- 4290 apiVersion: apiextensions.k8s.io/v1 4291 kind: CustomResourceDefinition 4292 metadata: 4293 annotations: 4294 controller-gen.kubebuilder.io/version: v0.12.0 4295 labels: 4296 cluster.x-k8s.io/provider: cluster-api 4297 name: ipaddressclaims.ipam.cluster.x-k8s.io 4298 spec: 4299 group: ipam.cluster.x-k8s.io 4300 names: 4301 categories: 4302 - cluster-api 4303 kind: IPAddressClaim 4304 listKind: IPAddressClaimList 4305 plural: ipaddressclaims 4306 singular: ipaddressclaim 4307 scope: Namespaced 4308 versions: 4309 - additionalPrinterColumns: 4310 - description: Name of the pool to allocate an address from 4311 jsonPath: .spec.poolRef.name 4312 name: Pool Name 4313 type: string 4314 - description: Kind of the pool to allocate an address from 4315 jsonPath: .spec.poolRef.kind 4316 name: Pool Kind 4317 type: string 4318 name: v1alpha1 4319 schema: 4320 openAPIV3Schema: 4321 description: IPAddressClaim is the Schema for the ipaddressclaim API. 4322 properties: 4323 apiVersion: 4324 description: 'APIVersion defines the versioned schema of this representation 4325 of an object. Servers should convert recognized schemas to the latest 4326 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 4327 type: string 4328 kind: 4329 description: 'Kind is a string value representing the REST resource this 4330 object represents. Servers may infer this from the endpoint the client 4331 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 4332 type: string 4333 metadata: 4334 type: object 4335 spec: 4336 description: IPAddressClaimSpec is the desired state of an IPAddressClaim. 4337 properties: 4338 poolRef: 4339 description: PoolRef is a reference to the pool from which an IP address 4340 should be created. 4341 properties: 4342 apiGroup: 4343 description: APIGroup is the group for the resource being referenced. 4344 If APIGroup is not specified, the specified Kind must be in 4345 the core API group. For any other third-party types, APIGroup 4346 is required. 4347 type: string 4348 kind: 4349 description: Kind is the type of resource being referenced 4350 type: string 4351 name: 4352 description: Name is the name of resource being referenced 4353 type: string 4354 required: 4355 - apiGroup 4356 - kind 4357 - name 4358 type: object 4359 required: 4360 - poolRef 4361 type: object 4362 status: 4363 description: IPAddressClaimStatus is the observed status of a IPAddressClaim. 4364 properties: 4365 addressRef: 4366 description: AddressRef is a reference to the address that was created 4367 for this claim. 4368 properties: 4369 name: 4370 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 4371 TODO: Add other useful fields. apiVersion, kind, uid?' 4372 type: string 4373 type: object 4374 conditions: 4375 description: Conditions summarises the current state of the IPAddressClaim 4376 items: 4377 description: Condition defines an observation of a Cluster API resource 4378 operational state. 4379 properties: 4380 lastTransitionTime: 4381 description: Last time the condition transitioned from one status 4382 to another. This should be when the underlying condition changed. 4383 If that is not known, then using the time when the API field 4384 changed is acceptable. 4385 format: date-time 4386 type: string 4387 message: 4388 description: A human readable message indicating details about 4389 the transition. This field may be empty. 4390 type: string 4391 reason: 4392 description: The reason for the condition's last transition 4393 in CamelCase. The specific API may choose whether or not this 4394 field is considered a guaranteed API. This field may not be 4395 empty. 4396 type: string 4397 severity: 4398 description: Severity provides an explicit classification of 4399 Reason code, so the users or machines can immediately understand 4400 the current situation and act accordingly. The Severity field 4401 MUST be set only when Status=False. 4402 type: string 4403 status: 4404 description: Status of the condition, one of True, False, Unknown. 4405 type: string 4406 type: 4407 description: Type of condition in CamelCase or in foo.example.com/CamelCase. 4408 Many .condition.type values are consistent across resources 4409 like Available, but because arbitrary conditions can be useful 4410 (see .node.status.conditions), the ability to deconflict is 4411 important. 4412 type: string 4413 required: 4414 - lastTransitionTime 4415 - status 4416 - type 4417 type: object 4418 type: array 4419 type: object 4420 type: object 4421 served: true 4422 storage: true 4423 subresources: 4424 status: {} 4425 --- 4426 apiVersion: apiextensions.k8s.io/v1 4427 kind: CustomResourceDefinition 4428 metadata: 4429 annotations: 4430 controller-gen.kubebuilder.io/version: v0.12.0 4431 labels: 4432 cluster.x-k8s.io/provider: cluster-api 4433 name: ipaddresses.ipam.cluster.x-k8s.io 4434 spec: 4435 group: ipam.cluster.x-k8s.io 4436 names: 4437 categories: 4438 - cluster-api 4439 kind: IPAddress 4440 listKind: IPAddressList 4441 plural: ipaddresses 4442 singular: ipaddress 4443 scope: Namespaced 4444 versions: 4445 - additionalPrinterColumns: 4446 - description: Address 4447 jsonPath: .spec.address 4448 name: Address 4449 type: string 4450 - description: Name of the pool the address is from 4451 jsonPath: .spec.poolRef.name 4452 name: Pool Name 4453 type: string 4454 - description: Kind of the pool the address is from 4455 jsonPath: .spec.poolRef.kind 4456 name: Pool Kind 4457 type: string 4458 name: v1alpha1 4459 schema: 4460 openAPIV3Schema: 4461 description: IPAddress is the Schema for the ipaddress API. 4462 properties: 4463 apiVersion: 4464 description: 'APIVersion defines the versioned schema of this representation 4465 of an object. Servers should convert recognized schemas to the latest 4466 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 4467 type: string 4468 kind: 4469 description: 'Kind is a string value representing the REST resource this 4470 object represents. Servers may infer this from the endpoint the client 4471 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 4472 type: string 4473 metadata: 4474 type: object 4475 spec: 4476 description: IPAddressSpec is the desired state of an IPAddress. 4477 properties: 4478 address: 4479 description: Address is the IP address. 4480 type: string 4481 claimRef: 4482 description: ClaimRef is a reference to the claim this IPAddress was 4483 created for. 4484 properties: 4485 name: 4486 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 4487 TODO: Add other useful fields. apiVersion, kind, uid?' 4488 type: string 4489 type: object 4490 gateway: 4491 description: Gateway is the network gateway of the network the address 4492 is from. 4493 type: string 4494 poolRef: 4495 description: PoolRef is a reference to the pool that this IPAddress 4496 was created from. 4497 properties: 4498 apiGroup: 4499 description: APIGroup is the group for the resource being referenced. 4500 If APIGroup is not specified, the specified Kind must be in 4501 the core API group. For any other third-party types, APIGroup 4502 is required. 4503 type: string 4504 kind: 4505 description: Kind is the type of resource being referenced 4506 type: string 4507 name: 4508 description: Name is the name of resource being referenced 4509 type: string 4510 required: 4511 - apiGroup 4512 - kind 4513 - name 4514 type: object 4515 prefix: 4516 description: Prefix is the prefix of the address. 4517 type: integer 4518 required: 4519 - address 4520 - claimRef 4521 - poolRef 4522 - prefix 4523 type: object 4524 type: object 4525 served: true 4526 storage: true 4527 subresources: {} 4528 --- 4529 apiVersion: apiextensions.k8s.io/v1 4530 kind: CustomResourceDefinition 4531 metadata: 4532 annotations: 4533 cert-manager.io/inject-ca-from: capi-system/capi-serving-cert 4534 controller-gen.kubebuilder.io/version: v0.12.0 4535 labels: 4536 cluster.x-k8s.io/provider: cluster-api 4537 name: machinedeployments.cluster.x-k8s.io 4538 spec: 4539 conversion: 4540 strategy: Webhook 4541 webhook: 4542 clientConfig: 4543 caBundle: Cg== 4544 service: 4545 name: capi-webhook-service 4546 namespace: capi-system 4547 path: /convert 4548 conversionReviewVersions: 4549 - v1 4550 - v1beta1 4551 group: cluster.x-k8s.io 4552 names: 4553 categories: 4554 - cluster-api 4555 kind: MachineDeployment 4556 listKind: MachineDeploymentList 4557 plural: machinedeployments 4558 shortNames: 4559 - md 4560 singular: machinedeployment 4561 scope: Namespaced 4562 versions: 4563 - additionalPrinterColumns: 4564 - description: MachineDeployment status such as ScalingUp/ScalingDown/Running/Failed/Unknown 4565 jsonPath: .status.phase 4566 name: Phase 4567 type: string 4568 - description: Total number of non-terminated machines targeted by this MachineDeployment 4569 jsonPath: .status.replicas 4570 name: Replicas 4571 type: integer 4572 - description: Total number of ready machines targeted by this MachineDeployment 4573 jsonPath: .status.readyReplicas 4574 name: Ready 4575 type: integer 4576 - description: Total number of non-terminated machines targeted by this deployment 4577 that have the desired template spec 4578 jsonPath: .status.updatedReplicas 4579 name: Updated 4580 type: integer 4581 - description: Total number of unavailable machines targeted by this MachineDeployment 4582 jsonPath: .status.unavailableReplicas 4583 name: Unavailable 4584 type: integer 4585 deprecated: true 4586 name: v1alpha3 4587 schema: 4588 openAPIV3Schema: 4589 description: "MachineDeployment is the Schema for the machinedeployments API. 4590 \n Deprecated: This type will be removed in one of the next releases." 4591 properties: 4592 apiVersion: 4593 description: 'APIVersion defines the versioned schema of this representation 4594 of an object. Servers should convert recognized schemas to the latest 4595 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 4596 type: string 4597 kind: 4598 description: 'Kind is a string value representing the REST resource this 4599 object represents. Servers may infer this from the endpoint the client 4600 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 4601 type: string 4602 metadata: 4603 type: object 4604 spec: 4605 description: MachineDeploymentSpec defines the desired state of MachineDeployment. 4606 properties: 4607 clusterName: 4608 description: ClusterName is the name of the Cluster this object belongs 4609 to. 4610 minLength: 1 4611 type: string 4612 minReadySeconds: 4613 description: Minimum number of seconds for which a newly created machine 4614 should be ready. Defaults to 0 (machine will be considered available 4615 as soon as it is ready) 4616 format: int32 4617 type: integer 4618 paused: 4619 description: Indicates that the deployment is paused. 4620 type: boolean 4621 progressDeadlineSeconds: 4622 description: The maximum time in seconds for a deployment to make 4623 progress before it is considered to be failed. The deployment controller 4624 will continue to process failed deployments and a condition with 4625 a ProgressDeadlineExceeded reason will be surfaced in the deployment 4626 status. Note that progress will not be estimated during the time 4627 a deployment is paused. Defaults to 600s. 4628 format: int32 4629 type: integer 4630 replicas: 4631 description: Number of desired machines. Defaults to 1. This is a 4632 pointer to distinguish between explicit zero and not specified. 4633 format: int32 4634 type: integer 4635 revisionHistoryLimit: 4636 description: The number of old MachineSets to retain to allow rollback. 4637 This is a pointer to distinguish between explicit zero and not specified. 4638 Defaults to 1. 4639 format: int32 4640 type: integer 4641 selector: 4642 description: Label selector for machines. Existing MachineSets whose 4643 machines are selected by this will be the ones affected by this 4644 deployment. It must match the machine template's labels. 4645 properties: 4646 matchExpressions: 4647 description: matchExpressions is a list of label selector requirements. 4648 The requirements are ANDed. 4649 items: 4650 description: A label selector requirement is a selector that 4651 contains values, a key, and an operator that relates the key 4652 and values. 4653 properties: 4654 key: 4655 description: key is the label key that the selector applies 4656 to. 4657 type: string 4658 operator: 4659 description: operator represents a key's relationship to 4660 a set of values. Valid operators are In, NotIn, Exists 4661 and DoesNotExist. 4662 type: string 4663 values: 4664 description: values is an array of string values. If the 4665 operator is In or NotIn, the values array must be non-empty. 4666 If the operator is Exists or DoesNotExist, the values 4667 array must be empty. This array is replaced during a strategic 4668 merge patch. 4669 items: 4670 type: string 4671 type: array 4672 required: 4673 - key 4674 - operator 4675 type: object 4676 type: array 4677 matchLabels: 4678 additionalProperties: 4679 type: string 4680 description: matchLabels is a map of {key,value} pairs. A single 4681 {key,value} in the matchLabels map is equivalent to an element 4682 of matchExpressions, whose key field is "key", the operator 4683 is "In", and the values array contains only "value". The requirements 4684 are ANDed. 4685 type: object 4686 type: object 4687 x-kubernetes-map-type: atomic 4688 strategy: 4689 description: The deployment strategy to use to replace existing machines 4690 with new ones. 4691 properties: 4692 rollingUpdate: 4693 description: Rolling update config params. Present only if MachineDeploymentStrategyType 4694 = RollingUpdate. 4695 properties: 4696 maxSurge: 4697 anyOf: 4698 - type: integer 4699 - type: string 4700 description: 'The maximum number of machines that can be scheduled 4701 above the desired number of machines. Value can be an absolute 4702 number (ex: 5) or a percentage of desired machines (ex: 4703 10%). This can not be 0 if MaxUnavailable is 0. Absolute 4704 number is calculated from percentage by rounding up. Defaults 4705 to 1. Example: when this is set to 30%, the new MachineSet 4706 can be scaled up immediately when the rolling update starts, 4707 such that the total number of old and new machines do not 4708 exceed 130% of desired machines. Once old machines have 4709 been killed, new MachineSet can be scaled up further, ensuring 4710 that total number of machines running at any time during 4711 the update is at most 130% of desired machines.' 4712 x-kubernetes-int-or-string: true 4713 maxUnavailable: 4714 anyOf: 4715 - type: integer 4716 - type: string 4717 description: 'The maximum number of machines that can be unavailable 4718 during the update. Value can be an absolute number (ex: 4719 5) or a percentage of desired machines (ex: 10%). Absolute 4720 number is calculated from percentage by rounding down. This 4721 can not be 0 if MaxSurge is 0. Defaults to 0. Example: when 4722 this is set to 30%, the old MachineSet can be scaled down 4723 to 70% of desired machines immediately when the rolling 4724 update starts. Once new machines are ready, old MachineSet 4725 can be scaled down further, followed by scaling up the new 4726 MachineSet, ensuring that the total number of machines available 4727 at all times during the update is at least 70% of desired 4728 machines.' 4729 x-kubernetes-int-or-string: true 4730 type: object 4731 type: 4732 description: Type of deployment. Currently the only supported 4733 strategy is "RollingUpdate". Default is RollingUpdate. 4734 type: string 4735 type: object 4736 template: 4737 description: Template describes the machines that will be created. 4738 properties: 4739 metadata: 4740 description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata' 4741 properties: 4742 annotations: 4743 additionalProperties: 4744 type: string 4745 description: 'Annotations is an unstructured key value map 4746 stored with a resource that may be set by external tools 4747 to store and retrieve arbitrary metadata. They are not queryable 4748 and should be preserved when modifying objects. More info: 4749 http://kubernetes.io/docs/user-guide/annotations' 4750 type: object 4751 generateName: 4752 description: "GenerateName is an optional prefix, used by 4753 the server, to generate a unique name ONLY IF the Name field 4754 has not been provided. If this field is used, the name returned 4755 to the client will be different than the name passed. This 4756 value will also be combined with a unique suffix. The provided 4757 value has the same validation rules as the Name field, and 4758 may be truncated by the length of the suffix required to 4759 make the value unique on the server. \n If this field is 4760 specified and the generated name exists, the server will 4761 NOT return a 409 - instead, it will either return 201 Created 4762 or 500 with Reason ServerTimeout indicating a unique name 4763 could not be found in the time allotted, and the client 4764 should retry (optionally after the time indicated in the 4765 Retry-After header). \n Applied only if Name is not specified. 4766 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency 4767 \n Deprecated: This field has no function and is going to 4768 be removed in a next release." 4769 type: string 4770 labels: 4771 additionalProperties: 4772 type: string 4773 description: 'Map of string keys and values that can be used 4774 to organize and categorize (scope and select) objects. May 4775 match selectors of replication controllers and services. 4776 More info: http://kubernetes.io/docs/user-guide/labels' 4777 type: object 4778 name: 4779 description: "Name must be unique within a namespace. Is required 4780 when creating resources, although some resources may allow 4781 a client to request the generation of an appropriate name 4782 automatically. Name is primarily intended for creation idempotence 4783 and configuration definition. Cannot be updated. More info: 4784 http://kubernetes.io/docs/user-guide/identifiers#names \n 4785 Deprecated: This field has no function and is going to be 4786 removed in a next release." 4787 type: string 4788 namespace: 4789 description: "Namespace defines the space within each name 4790 must be unique. An empty namespace is equivalent to the 4791 \"default\" namespace, but \"default\" is the canonical 4792 representation. Not all objects are required to be scoped 4793 to a namespace - the value of this field for those objects 4794 will be empty. \n Must be a DNS_LABEL. Cannot be updated. 4795 More info: http://kubernetes.io/docs/user-guide/namespaces 4796 \n Deprecated: This field has no function and is going to 4797 be removed in a next release." 4798 type: string 4799 ownerReferences: 4800 description: "List of objects depended by this object. If 4801 ALL objects in the list have been deleted, this object will 4802 be garbage collected. If this object is managed by a controller, 4803 then an entry in this list will point to this controller, 4804 with the controller field set to true. There cannot be more 4805 than one managing controller. \n Deprecated: This field 4806 has no function and is going to be removed in a next release." 4807 items: 4808 description: OwnerReference contains enough information 4809 to let you identify an owning object. An owning object 4810 must be in the same namespace as the dependent, or be 4811 cluster-scoped, so there is no namespace field. 4812 properties: 4813 apiVersion: 4814 description: API version of the referent. 4815 type: string 4816 blockOwnerDeletion: 4817 description: If true, AND if the owner has the "foregroundDeletion" 4818 finalizer, then the owner cannot be deleted from the 4819 key-value store until this reference is removed. See 4820 https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion 4821 for how the garbage collector interacts with this 4822 field and enforces the foreground deletion. Defaults 4823 to false. To set this field, a user needs "delete" 4824 permission of the owner, otherwise 422 (Unprocessable 4825 Entity) will be returned. 4826 type: boolean 4827 controller: 4828 description: If true, this reference points to the managing 4829 controller. 4830 type: boolean 4831 kind: 4832 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 4833 type: string 4834 name: 4835 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names' 4836 type: string 4837 uid: 4838 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids' 4839 type: string 4840 required: 4841 - apiVersion 4842 - kind 4843 - name 4844 - uid 4845 type: object 4846 x-kubernetes-map-type: atomic 4847 type: array 4848 type: object 4849 spec: 4850 description: 'Specification of the desired behavior of the machine. 4851 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' 4852 properties: 4853 bootstrap: 4854 description: Bootstrap is a reference to a local struct which 4855 encapsulates fields to configure the Machine’s bootstrapping 4856 mechanism. 4857 properties: 4858 configRef: 4859 description: ConfigRef is a reference to a bootstrap provider-specific 4860 resource that holds configuration details. The reference 4861 is optional to allow users/operators to specify Bootstrap.Data 4862 without the need of a controller. 4863 properties: 4864 apiVersion: 4865 description: API version of the referent. 4866 type: string 4867 fieldPath: 4868 description: 'If referring to a piece of an object 4869 instead of an entire object, this string should 4870 contain a valid JSON/Go field access statement, 4871 such as desiredState.manifest.containers[2]. For 4872 example, if the object reference is to a container 4873 within a pod, this would take on a value like: "spec.containers{name}" 4874 (where "name" refers to the name of the container 4875 that triggered the event) or if no container name 4876 is specified "spec.containers[2]" (container with 4877 index 2 in this pod). This syntax is chosen only 4878 to have some well-defined way of referencing a part 4879 of an object. TODO: this design is not final and 4880 this field is subject to change in the future.' 4881 type: string 4882 kind: 4883 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 4884 type: string 4885 name: 4886 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 4887 type: string 4888 namespace: 4889 description: 'Namespace of the referent. More info: 4890 https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 4891 type: string 4892 resourceVersion: 4893 description: 'Specific resourceVersion to which this 4894 reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 4895 type: string 4896 uid: 4897 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 4898 type: string 4899 type: object 4900 x-kubernetes-map-type: atomic 4901 data: 4902 description: "Data contains the bootstrap data, such as 4903 cloud-init details scripts. If nil, the Machine should 4904 remain in the Pending state. \n Deprecated: Switch to 4905 DataSecretName." 4906 type: string 4907 dataSecretName: 4908 description: DataSecretName is the name of the secret 4909 that stores the bootstrap data script. If nil, the Machine 4910 should remain in the Pending state. 4911 type: string 4912 type: object 4913 clusterName: 4914 description: ClusterName is the name of the Cluster this object 4915 belongs to. 4916 minLength: 1 4917 type: string 4918 failureDomain: 4919 description: FailureDomain is the failure domain the machine 4920 will be created in. Must match a key in the FailureDomains 4921 map stored on the cluster object. 4922 type: string 4923 infrastructureRef: 4924 description: InfrastructureRef is a required reference to 4925 a custom resource offered by an infrastructure provider. 4926 properties: 4927 apiVersion: 4928 description: API version of the referent. 4929 type: string 4930 fieldPath: 4931 description: 'If referring to a piece of an object instead 4932 of an entire object, this string should contain a valid 4933 JSON/Go field access statement, such as desiredState.manifest.containers[2]. 4934 For example, if the object reference is to a container 4935 within a pod, this would take on a value like: "spec.containers{name}" 4936 (where "name" refers to the name of the container that 4937 triggered the event) or if no container name is specified 4938 "spec.containers[2]" (container with index 2 in this 4939 pod). This syntax is chosen only to have some well-defined 4940 way of referencing a part of an object. TODO: this design 4941 is not final and this field is subject to change in 4942 the future.' 4943 type: string 4944 kind: 4945 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 4946 type: string 4947 name: 4948 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 4949 type: string 4950 namespace: 4951 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 4952 type: string 4953 resourceVersion: 4954 description: 'Specific resourceVersion to which this reference 4955 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 4956 type: string 4957 uid: 4958 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 4959 type: string 4960 type: object 4961 x-kubernetes-map-type: atomic 4962 nodeDrainTimeout: 4963 description: 'NodeDrainTimeout is the total amount of time 4964 that the controller will spend on draining a node. The default 4965 value is 0, meaning that the node can be drained without 4966 any time limitations. NOTE: NodeDrainTimeout is different 4967 from `kubectl drain --timeout`' 4968 type: string 4969 providerID: 4970 description: ProviderID is the identification ID of the machine 4971 provided by the provider. This field must match the provider 4972 ID as seen on the node object corresponding to this machine. 4973 This field is required by higher level consumers of cluster-api. 4974 Example use case is cluster autoscaler with cluster-api 4975 as provider. Clean-up logic in the autoscaler compares machines 4976 to nodes to find out machines at provider which could not 4977 get registered as Kubernetes nodes. With cluster-api as 4978 a generic out-of-tree provider for autoscaler, this field 4979 is required by autoscaler to be able to have a provider 4980 view of the list of machines. Another list of nodes is queried 4981 from the k8s apiserver and then a comparison is done to 4982 find out unregistered machines and are marked for delete. 4983 This field will be set by the actuators and consumed by 4984 higher level entities like autoscaler that will be interfacing 4985 with cluster-api as generic provider. 4986 type: string 4987 version: 4988 description: Version defines the desired Kubernetes version. 4989 This field is meant to be optionally used by bootstrap providers. 4990 type: string 4991 required: 4992 - bootstrap 4993 - clusterName 4994 - infrastructureRef 4995 type: object 4996 type: object 4997 required: 4998 - clusterName 4999 - selector 5000 - template 5001 type: object 5002 status: 5003 description: MachineDeploymentStatus defines the observed state of MachineDeployment. 5004 properties: 5005 availableReplicas: 5006 description: Total number of available machines (ready for at least 5007 minReadySeconds) targeted by this deployment. 5008 format: int32 5009 type: integer 5010 observedGeneration: 5011 description: The generation observed by the deployment controller. 5012 format: int64 5013 type: integer 5014 phase: 5015 description: Phase represents the current phase of a MachineDeployment 5016 (ScalingUp, ScalingDown, Running, Failed, or Unknown). 5017 type: string 5018 readyReplicas: 5019 description: Total number of ready machines targeted by this deployment. 5020 format: int32 5021 type: integer 5022 replicas: 5023 description: Total number of non-terminated machines targeted by this 5024 deployment (their labels match the selector). 5025 format: int32 5026 type: integer 5027 selector: 5028 description: 'Selector is the same as the label selector but in the 5029 string format to avoid introspection by clients. The string will 5030 be in the same format as the query-param syntax. More info about 5031 label selectors: http://kubernetes.io/docs/user-guide/labels#label-selectors' 5032 type: string 5033 unavailableReplicas: 5034 description: Total number of unavailable machines targeted by this 5035 deployment. This is the total number of machines that are still 5036 required for the deployment to have 100% available capacity. They 5037 may either be machines that are running but not yet available or 5038 machines that still have not been created. 5039 format: int32 5040 type: integer 5041 updatedReplicas: 5042 description: Total number of non-terminated machines targeted by this 5043 deployment that have the desired template spec. 5044 format: int32 5045 type: integer 5046 type: object 5047 type: object 5048 served: false 5049 storage: false 5050 subresources: 5051 scale: 5052 labelSelectorPath: .status.selector 5053 specReplicasPath: .spec.replicas 5054 statusReplicasPath: .status.replicas 5055 status: {} 5056 - additionalPrinterColumns: 5057 - description: Cluster 5058 jsonPath: .spec.clusterName 5059 name: Cluster 5060 type: string 5061 - description: Time duration since creation of MachineDeployment 5062 jsonPath: .metadata.creationTimestamp 5063 name: Age 5064 type: date 5065 - description: MachineDeployment status such as ScalingUp/ScalingDown/Running/Failed/Unknown 5066 jsonPath: .status.phase 5067 name: Phase 5068 type: string 5069 - description: Total number of non-terminated machines targeted by this MachineDeployment 5070 jsonPath: .status.replicas 5071 name: Replicas 5072 type: integer 5073 - description: Total number of ready machines targeted by this MachineDeployment 5074 jsonPath: .status.readyReplicas 5075 name: Ready 5076 type: integer 5077 - description: Total number of non-terminated machines targeted by this deployment 5078 that have the desired template spec 5079 jsonPath: .status.updatedReplicas 5080 name: Updated 5081 type: integer 5082 - description: Total number of unavailable machines targeted by this MachineDeployment 5083 jsonPath: .status.unavailableReplicas 5084 name: Unavailable 5085 type: integer 5086 deprecated: true 5087 name: v1alpha4 5088 schema: 5089 openAPIV3Schema: 5090 description: "MachineDeployment is the Schema for the machinedeployments API. 5091 \n Deprecated: This type will be removed in one of the next releases." 5092 properties: 5093 apiVersion: 5094 description: 'APIVersion defines the versioned schema of this representation 5095 of an object. Servers should convert recognized schemas to the latest 5096 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 5097 type: string 5098 kind: 5099 description: 'Kind is a string value representing the REST resource this 5100 object represents. Servers may infer this from the endpoint the client 5101 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 5102 type: string 5103 metadata: 5104 type: object 5105 spec: 5106 description: MachineDeploymentSpec defines the desired state of MachineDeployment. 5107 properties: 5108 clusterName: 5109 description: ClusterName is the name of the Cluster this object belongs 5110 to. 5111 minLength: 1 5112 type: string 5113 minReadySeconds: 5114 description: Minimum number of seconds for which a newly created machine 5115 should be ready. Defaults to 0 (machine will be considered available 5116 as soon as it is ready) 5117 format: int32 5118 type: integer 5119 paused: 5120 description: Indicates that the deployment is paused. 5121 type: boolean 5122 progressDeadlineSeconds: 5123 description: The maximum time in seconds for a deployment to make 5124 progress before it is considered to be failed. The deployment controller 5125 will continue to process failed deployments and a condition with 5126 a ProgressDeadlineExceeded reason will be surfaced in the deployment 5127 status. Note that progress will not be estimated during the time 5128 a deployment is paused. Defaults to 600s. 5129 format: int32 5130 type: integer 5131 replicas: 5132 default: 1 5133 description: Number of desired machines. Defaults to 1. This is a 5134 pointer to distinguish between explicit zero and not specified. 5135 format: int32 5136 type: integer 5137 revisionHistoryLimit: 5138 description: The number of old MachineSets to retain to allow rollback. 5139 This is a pointer to distinguish between explicit zero and not specified. 5140 Defaults to 1. 5141 format: int32 5142 type: integer 5143 selector: 5144 description: Label selector for machines. Existing MachineSets whose 5145 machines are selected by this will be the ones affected by this 5146 deployment. It must match the machine template's labels. 5147 properties: 5148 matchExpressions: 5149 description: matchExpressions is a list of label selector requirements. 5150 The requirements are ANDed. 5151 items: 5152 description: A label selector requirement is a selector that 5153 contains values, a key, and an operator that relates the key 5154 and values. 5155 properties: 5156 key: 5157 description: key is the label key that the selector applies 5158 to. 5159 type: string 5160 operator: 5161 description: operator represents a key's relationship to 5162 a set of values. Valid operators are In, NotIn, Exists 5163 and DoesNotExist. 5164 type: string 5165 values: 5166 description: values is an array of string values. If the 5167 operator is In or NotIn, the values array must be non-empty. 5168 If the operator is Exists or DoesNotExist, the values 5169 array must be empty. This array is replaced during a strategic 5170 merge patch. 5171 items: 5172 type: string 5173 type: array 5174 required: 5175 - key 5176 - operator 5177 type: object 5178 type: array 5179 matchLabels: 5180 additionalProperties: 5181 type: string 5182 description: matchLabels is a map of {key,value} pairs. A single 5183 {key,value} in the matchLabels map is equivalent to an element 5184 of matchExpressions, whose key field is "key", the operator 5185 is "In", and the values array contains only "value". The requirements 5186 are ANDed. 5187 type: object 5188 type: object 5189 x-kubernetes-map-type: atomic 5190 strategy: 5191 description: The deployment strategy to use to replace existing machines 5192 with new ones. 5193 properties: 5194 rollingUpdate: 5195 description: Rolling update config params. Present only if MachineDeploymentStrategyType 5196 = RollingUpdate. 5197 properties: 5198 deletePolicy: 5199 description: DeletePolicy defines the policy used by the MachineDeployment 5200 to identify nodes to delete when downscaling. Valid values 5201 are "Random, "Newest", "Oldest" When no value is supplied, 5202 the default DeletePolicy of MachineSet is used 5203 enum: 5204 - Random 5205 - Newest 5206 - Oldest 5207 type: string 5208 maxSurge: 5209 anyOf: 5210 - type: integer 5211 - type: string 5212 description: 'The maximum number of machines that can be scheduled 5213 above the desired number of machines. Value can be an absolute 5214 number (ex: 5) or a percentage of desired machines (ex: 5215 10%). This can not be 0 if MaxUnavailable is 0. Absolute 5216 number is calculated from percentage by rounding up. Defaults 5217 to 1. Example: when this is set to 30%, the new MachineSet 5218 can be scaled up immediately when the rolling update starts, 5219 such that the total number of old and new machines do not 5220 exceed 130% of desired machines. Once old machines have 5221 been killed, new MachineSet can be scaled up further, ensuring 5222 that total number of machines running at any time during 5223 the update is at most 130% of desired machines.' 5224 x-kubernetes-int-or-string: true 5225 maxUnavailable: 5226 anyOf: 5227 - type: integer 5228 - type: string 5229 description: 'The maximum number of machines that can be unavailable 5230 during the update. Value can be an absolute number (ex: 5231 5) or a percentage of desired machines (ex: 10%). Absolute 5232 number is calculated from percentage by rounding down. This 5233 can not be 0 if MaxSurge is 0. Defaults to 0. Example: when 5234 this is set to 30%, the old MachineSet can be scaled down 5235 to 70% of desired machines immediately when the rolling 5236 update starts. Once new machines are ready, old MachineSet 5237 can be scaled down further, followed by scaling up the new 5238 MachineSet, ensuring that the total number of machines available 5239 at all times during the update is at least 70% of desired 5240 machines.' 5241 x-kubernetes-int-or-string: true 5242 type: object 5243 type: 5244 description: Type of deployment. Default is RollingUpdate. 5245 enum: 5246 - RollingUpdate 5247 - OnDelete 5248 type: string 5249 type: object 5250 template: 5251 description: Template describes the machines that will be created. 5252 properties: 5253 metadata: 5254 description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata' 5255 properties: 5256 annotations: 5257 additionalProperties: 5258 type: string 5259 description: 'Annotations is an unstructured key value map 5260 stored with a resource that may be set by external tools 5261 to store and retrieve arbitrary metadata. They are not queryable 5262 and should be preserved when modifying objects. More info: 5263 http://kubernetes.io/docs/user-guide/annotations' 5264 type: object 5265 labels: 5266 additionalProperties: 5267 type: string 5268 description: 'Map of string keys and values that can be used 5269 to organize and categorize (scope and select) objects. May 5270 match selectors of replication controllers and services. 5271 More info: http://kubernetes.io/docs/user-guide/labels' 5272 type: object 5273 type: object 5274 spec: 5275 description: 'Specification of the desired behavior of the machine. 5276 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' 5277 properties: 5278 bootstrap: 5279 description: Bootstrap is a reference to a local struct which 5280 encapsulates fields to configure the Machine’s bootstrapping 5281 mechanism. 5282 properties: 5283 configRef: 5284 description: ConfigRef is a reference to a bootstrap provider-specific 5285 resource that holds configuration details. The reference 5286 is optional to allow users/operators to specify Bootstrap.DataSecretName 5287 without the need of a controller. 5288 properties: 5289 apiVersion: 5290 description: API version of the referent. 5291 type: string 5292 fieldPath: 5293 description: 'If referring to a piece of an object 5294 instead of an entire object, this string should 5295 contain a valid JSON/Go field access statement, 5296 such as desiredState.manifest.containers[2]. For 5297 example, if the object reference is to a container 5298 within a pod, this would take on a value like: "spec.containers{name}" 5299 (where "name" refers to the name of the container 5300 that triggered the event) or if no container name 5301 is specified "spec.containers[2]" (container with 5302 index 2 in this pod). This syntax is chosen only 5303 to have some well-defined way of referencing a part 5304 of an object. TODO: this design is not final and 5305 this field is subject to change in the future.' 5306 type: string 5307 kind: 5308 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 5309 type: string 5310 name: 5311 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 5312 type: string 5313 namespace: 5314 description: 'Namespace of the referent. More info: 5315 https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 5316 type: string 5317 resourceVersion: 5318 description: 'Specific resourceVersion to which this 5319 reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 5320 type: string 5321 uid: 5322 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 5323 type: string 5324 type: object 5325 x-kubernetes-map-type: atomic 5326 dataSecretName: 5327 description: DataSecretName is the name of the secret 5328 that stores the bootstrap data script. If nil, the Machine 5329 should remain in the Pending state. 5330 type: string 5331 type: object 5332 clusterName: 5333 description: ClusterName is the name of the Cluster this object 5334 belongs to. 5335 minLength: 1 5336 type: string 5337 failureDomain: 5338 description: FailureDomain is the failure domain the machine 5339 will be created in. Must match a key in the FailureDomains 5340 map stored on the cluster object. 5341 type: string 5342 infrastructureRef: 5343 description: InfrastructureRef is a required reference to 5344 a custom resource offered by an infrastructure provider. 5345 properties: 5346 apiVersion: 5347 description: API version of the referent. 5348 type: string 5349 fieldPath: 5350 description: 'If referring to a piece of an object instead 5351 of an entire object, this string should contain a valid 5352 JSON/Go field access statement, such as desiredState.manifest.containers[2]. 5353 For example, if the object reference is to a container 5354 within a pod, this would take on a value like: "spec.containers{name}" 5355 (where "name" refers to the name of the container that 5356 triggered the event) or if no container name is specified 5357 "spec.containers[2]" (container with index 2 in this 5358 pod). This syntax is chosen only to have some well-defined 5359 way of referencing a part of an object. TODO: this design 5360 is not final and this field is subject to change in 5361 the future.' 5362 type: string 5363 kind: 5364 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 5365 type: string 5366 name: 5367 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 5368 type: string 5369 namespace: 5370 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 5371 type: string 5372 resourceVersion: 5373 description: 'Specific resourceVersion to which this reference 5374 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 5375 type: string 5376 uid: 5377 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 5378 type: string 5379 type: object 5380 x-kubernetes-map-type: atomic 5381 nodeDrainTimeout: 5382 description: 'NodeDrainTimeout is the total amount of time 5383 that the controller will spend on draining a node. The default 5384 value is 0, meaning that the node can be drained without 5385 any time limitations. NOTE: NodeDrainTimeout is different 5386 from `kubectl drain --timeout`' 5387 type: string 5388 providerID: 5389 description: ProviderID is the identification ID of the machine 5390 provided by the provider. This field must match the provider 5391 ID as seen on the node object corresponding to this machine. 5392 This field is required by higher level consumers of cluster-api. 5393 Example use case is cluster autoscaler with cluster-api 5394 as provider. Clean-up logic in the autoscaler compares machines 5395 to nodes to find out machines at provider which could not 5396 get registered as Kubernetes nodes. With cluster-api as 5397 a generic out-of-tree provider for autoscaler, this field 5398 is required by autoscaler to be able to have a provider 5399 view of the list of machines. Another list of nodes is queried 5400 from the k8s apiserver and then a comparison is done to 5401 find out unregistered machines and are marked for delete. 5402 This field will be set by the actuators and consumed by 5403 higher level entities like autoscaler that will be interfacing 5404 with cluster-api as generic provider. 5405 type: string 5406 version: 5407 description: Version defines the desired Kubernetes version. 5408 This field is meant to be optionally used by bootstrap providers. 5409 type: string 5410 required: 5411 - bootstrap 5412 - clusterName 5413 - infrastructureRef 5414 type: object 5415 type: object 5416 required: 5417 - clusterName 5418 - selector 5419 - template 5420 type: object 5421 status: 5422 description: MachineDeploymentStatus defines the observed state of MachineDeployment. 5423 properties: 5424 availableReplicas: 5425 description: Total number of available machines (ready for at least 5426 minReadySeconds) targeted by this deployment. 5427 format: int32 5428 type: integer 5429 conditions: 5430 description: Conditions defines current service state of the MachineDeployment. 5431 items: 5432 description: Condition defines an observation of a Cluster API resource 5433 operational state. 5434 properties: 5435 lastTransitionTime: 5436 description: Last time the condition transitioned from one status 5437 to another. This should be when the underlying condition changed. 5438 If that is not known, then using the time when the API field 5439 changed is acceptable. 5440 format: date-time 5441 type: string 5442 message: 5443 description: A human readable message indicating details about 5444 the transition. This field may be empty. 5445 type: string 5446 reason: 5447 description: The reason for the condition's last transition 5448 in CamelCase. The specific API may choose whether or not this 5449 field is considered a guaranteed API. This field may not be 5450 empty. 5451 type: string 5452 severity: 5453 description: Severity provides an explicit classification of 5454 Reason code, so the users or machines can immediately understand 5455 the current situation and act accordingly. The Severity field 5456 MUST be set only when Status=False. 5457 type: string 5458 status: 5459 description: Status of the condition, one of True, False, Unknown. 5460 type: string 5461 type: 5462 description: Type of condition in CamelCase or in foo.example.com/CamelCase. 5463 Many .condition.type values are consistent across resources 5464 like Available, but because arbitrary conditions can be useful 5465 (see .node.status.conditions), the ability to deconflict is 5466 important. 5467 type: string 5468 required: 5469 - status 5470 - type 5471 type: object 5472 type: array 5473 observedGeneration: 5474 description: The generation observed by the deployment controller. 5475 format: int64 5476 type: integer 5477 phase: 5478 description: Phase represents the current phase of a MachineDeployment 5479 (ScalingUp, ScalingDown, Running, Failed, or Unknown). 5480 type: string 5481 readyReplicas: 5482 description: Total number of ready machines targeted by this deployment. 5483 format: int32 5484 type: integer 5485 replicas: 5486 description: Total number of non-terminated machines targeted by this 5487 deployment (their labels match the selector). 5488 format: int32 5489 type: integer 5490 selector: 5491 description: 'Selector is the same as the label selector but in the 5492 string format to avoid introspection by clients. The string will 5493 be in the same format as the query-param syntax. More info about 5494 label selectors: http://kubernetes.io/docs/user-guide/labels#label-selectors' 5495 type: string 5496 unavailableReplicas: 5497 description: Total number of unavailable machines targeted by this 5498 deployment. This is the total number of machines that are still 5499 required for the deployment to have 100% available capacity. They 5500 may either be machines that are running but not yet available or 5501 machines that still have not been created. 5502 format: int32 5503 type: integer 5504 updatedReplicas: 5505 description: Total number of non-terminated machines targeted by this 5506 deployment that have the desired template spec. 5507 format: int32 5508 type: integer 5509 type: object 5510 type: object 5511 served: true 5512 storage: false 5513 subresources: 5514 scale: 5515 labelSelectorPath: .status.selector 5516 specReplicasPath: .spec.replicas 5517 statusReplicasPath: .status.replicas 5518 status: {} 5519 - additionalPrinterColumns: 5520 - description: Cluster 5521 jsonPath: .spec.clusterName 5522 name: Cluster 5523 type: string 5524 - description: Total number of machines desired by this MachineDeployment 5525 jsonPath: .spec.replicas 5526 name: Desired 5527 priority: 10 5528 type: integer 5529 - description: Total number of non-terminated machines targeted by this MachineDeployment 5530 jsonPath: .status.replicas 5531 name: Replicas 5532 type: integer 5533 - description: Total number of ready machines targeted by this MachineDeployment 5534 jsonPath: .status.readyReplicas 5535 name: Ready 5536 type: integer 5537 - description: Total number of non-terminated machines targeted by this deployment 5538 that have the desired template spec 5539 jsonPath: .status.updatedReplicas 5540 name: Updated 5541 type: integer 5542 - description: Total number of unavailable machines targeted by this MachineDeployment 5543 jsonPath: .status.unavailableReplicas 5544 name: Unavailable 5545 type: integer 5546 - description: MachineDeployment status such as ScalingUp/ScalingDown/Running/Failed/Unknown 5547 jsonPath: .status.phase 5548 name: Phase 5549 type: string 5550 - description: Time duration since creation of MachineDeployment 5551 jsonPath: .metadata.creationTimestamp 5552 name: Age 5553 type: date 5554 - description: Kubernetes version associated with this MachineDeployment 5555 jsonPath: .spec.template.spec.version 5556 name: Version 5557 type: string 5558 name: v1beta1 5559 schema: 5560 openAPIV3Schema: 5561 description: MachineDeployment is the Schema for the machinedeployments API. 5562 properties: 5563 apiVersion: 5564 description: 'APIVersion defines the versioned schema of this representation 5565 of an object. Servers should convert recognized schemas to the latest 5566 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 5567 type: string 5568 kind: 5569 description: 'Kind is a string value representing the REST resource this 5570 object represents. Servers may infer this from the endpoint the client 5571 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 5572 type: string 5573 metadata: 5574 type: object 5575 spec: 5576 description: MachineDeploymentSpec defines the desired state of MachineDeployment. 5577 properties: 5578 clusterName: 5579 description: ClusterName is the name of the Cluster this object belongs 5580 to. 5581 minLength: 1 5582 type: string 5583 minReadySeconds: 5584 description: MinReadySeconds is the minimum number of seconds for 5585 which a Node for a newly created machine should be ready before 5586 considering the replica available. Defaults to 0 (machine will be 5587 considered available as soon as the Node is ready) 5588 format: int32 5589 type: integer 5590 paused: 5591 description: Indicates that the deployment is paused. 5592 type: boolean 5593 progressDeadlineSeconds: 5594 description: The maximum time in seconds for a deployment to make 5595 progress before it is considered to be failed. The deployment controller 5596 will continue to process failed deployments and a condition with 5597 a ProgressDeadlineExceeded reason will be surfaced in the deployment 5598 status. Note that progress will not be estimated during the time 5599 a deployment is paused. Defaults to 600s. 5600 format: int32 5601 type: integer 5602 replicas: 5603 description: "Number of desired machines. This is a pointer to distinguish 5604 between explicit zero and not specified. \n Defaults to: * if the 5605 Kubernetes autoscaler min size and max size annotations are set: 5606 - if it's a new MachineDeployment, use min size - if the replicas 5607 field of the old MachineDeployment is < min size, use min size - 5608 if the replicas field of the old MachineDeployment is > max size, 5609 use max size - if the replicas field of the old MachineDeployment 5610 is in the (min size, max size) range, keep the value from the oldMD 5611 * otherwise use 1 Note: Defaulting will be run whenever the replicas 5612 field is not set: * A new MachineDeployment is created with replicas 5613 not set. * On an existing MachineDeployment the replicas field was 5614 first set and is now unset. Those cases are especially relevant 5615 for the following Kubernetes autoscaler use cases: * A new MachineDeployment 5616 is created and replicas should be managed by the autoscaler * An 5617 existing MachineDeployment which initially wasn't controlled by 5618 the autoscaler should be later controlled by the autoscaler" 5619 format: int32 5620 type: integer 5621 revisionHistoryLimit: 5622 description: The number of old MachineSets to retain to allow rollback. 5623 This is a pointer to distinguish between explicit zero and not specified. 5624 Defaults to 1. 5625 format: int32 5626 type: integer 5627 rolloutAfter: 5628 description: 'RolloutAfter is a field to indicate a rollout should 5629 be performed after the specified time even if no changes have been 5630 made to the MachineDeployment. Example: In the YAML the time can 5631 be specified in the RFC3339 format. To specify the rolloutAfter 5632 target as March 9, 2023, at 9 am UTC use "2023-03-09T09:00:00Z".' 5633 format: date-time 5634 type: string 5635 selector: 5636 description: Label selector for machines. Existing MachineSets whose 5637 machines are selected by this will be the ones affected by this 5638 deployment. It must match the machine template's labels. 5639 properties: 5640 matchExpressions: 5641 description: matchExpressions is a list of label selector requirements. 5642 The requirements are ANDed. 5643 items: 5644 description: A label selector requirement is a selector that 5645 contains values, a key, and an operator that relates the key 5646 and values. 5647 properties: 5648 key: 5649 description: key is the label key that the selector applies 5650 to. 5651 type: string 5652 operator: 5653 description: operator represents a key's relationship to 5654 a set of values. Valid operators are In, NotIn, Exists 5655 and DoesNotExist. 5656 type: string 5657 values: 5658 description: values is an array of string values. If the 5659 operator is In or NotIn, the values array must be non-empty. 5660 If the operator is Exists or DoesNotExist, the values 5661 array must be empty. This array is replaced during a strategic 5662 merge patch. 5663 items: 5664 type: string 5665 type: array 5666 required: 5667 - key 5668 - operator 5669 type: object 5670 type: array 5671 matchLabels: 5672 additionalProperties: 5673 type: string 5674 description: matchLabels is a map of {key,value} pairs. A single 5675 {key,value} in the matchLabels map is equivalent to an element 5676 of matchExpressions, whose key field is "key", the operator 5677 is "In", and the values array contains only "value". The requirements 5678 are ANDed. 5679 type: object 5680 type: object 5681 x-kubernetes-map-type: atomic 5682 strategy: 5683 description: The deployment strategy to use to replace existing machines 5684 with new ones. 5685 properties: 5686 rollingUpdate: 5687 description: Rolling update config params. Present only if MachineDeploymentStrategyType 5688 = RollingUpdate. 5689 properties: 5690 deletePolicy: 5691 description: DeletePolicy defines the policy used by the MachineDeployment 5692 to identify nodes to delete when downscaling. Valid values 5693 are "Random, "Newest", "Oldest" When no value is supplied, 5694 the default DeletePolicy of MachineSet is used 5695 enum: 5696 - Random 5697 - Newest 5698 - Oldest 5699 type: string 5700 maxSurge: 5701 anyOf: 5702 - type: integer 5703 - type: string 5704 description: 'The maximum number of machines that can be scheduled 5705 above the desired number of machines. Value can be an absolute 5706 number (ex: 5) or a percentage of desired machines (ex: 5707 10%). This can not be 0 if MaxUnavailable is 0. Absolute 5708 number is calculated from percentage by rounding up. Defaults 5709 to 1. Example: when this is set to 30%, the new MachineSet 5710 can be scaled up immediately when the rolling update starts, 5711 such that the total number of old and new machines do not 5712 exceed 130% of desired machines. Once old machines have 5713 been killed, new MachineSet can be scaled up further, ensuring 5714 that total number of machines running at any time during 5715 the update is at most 130% of desired machines.' 5716 x-kubernetes-int-or-string: true 5717 maxUnavailable: 5718 anyOf: 5719 - type: integer 5720 - type: string 5721 description: 'The maximum number of machines that can be unavailable 5722 during the update. Value can be an absolute number (ex: 5723 5) or a percentage of desired machines (ex: 10%). Absolute 5724 number is calculated from percentage by rounding down. This 5725 can not be 0 if MaxSurge is 0. Defaults to 0. Example: when 5726 this is set to 30%, the old MachineSet can be scaled down 5727 to 70% of desired machines immediately when the rolling 5728 update starts. Once new machines are ready, old MachineSet 5729 can be scaled down further, followed by scaling up the new 5730 MachineSet, ensuring that the total number of machines available 5731 at all times during the update is at least 70% of desired 5732 machines.' 5733 x-kubernetes-int-or-string: true 5734 type: object 5735 type: 5736 description: Type of deployment. Default is RollingUpdate. 5737 enum: 5738 - RollingUpdate 5739 - OnDelete 5740 type: string 5741 type: object 5742 template: 5743 description: Template describes the machines that will be created. 5744 properties: 5745 metadata: 5746 description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata' 5747 properties: 5748 annotations: 5749 additionalProperties: 5750 type: string 5751 description: 'Annotations is an unstructured key value map 5752 stored with a resource that may be set by external tools 5753 to store and retrieve arbitrary metadata. They are not queryable 5754 and should be preserved when modifying objects. More info: 5755 http://kubernetes.io/docs/user-guide/annotations' 5756 type: object 5757 labels: 5758 additionalProperties: 5759 type: string 5760 description: 'Map of string keys and values that can be used 5761 to organize and categorize (scope and select) objects. May 5762 match selectors of replication controllers and services. 5763 More info: http://kubernetes.io/docs/user-guide/labels' 5764 type: object 5765 type: object 5766 spec: 5767 description: 'Specification of the desired behavior of the machine. 5768 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' 5769 properties: 5770 bootstrap: 5771 description: Bootstrap is a reference to a local struct which 5772 encapsulates fields to configure the Machine’s bootstrapping 5773 mechanism. 5774 properties: 5775 configRef: 5776 description: ConfigRef is a reference to a bootstrap provider-specific 5777 resource that holds configuration details. The reference 5778 is optional to allow users/operators to specify Bootstrap.DataSecretName 5779 without the need of a controller. 5780 properties: 5781 apiVersion: 5782 description: API version of the referent. 5783 type: string 5784 fieldPath: 5785 description: 'If referring to a piece of an object 5786 instead of an entire object, this string should 5787 contain a valid JSON/Go field access statement, 5788 such as desiredState.manifest.containers[2]. For 5789 example, if the object reference is to a container 5790 within a pod, this would take on a value like: "spec.containers{name}" 5791 (where "name" refers to the name of the container 5792 that triggered the event) or if no container name 5793 is specified "spec.containers[2]" (container with 5794 index 2 in this pod). This syntax is chosen only 5795 to have some well-defined way of referencing a part 5796 of an object. TODO: this design is not final and 5797 this field is subject to change in the future.' 5798 type: string 5799 kind: 5800 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 5801 type: string 5802 name: 5803 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 5804 type: string 5805 namespace: 5806 description: 'Namespace of the referent. More info: 5807 https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 5808 type: string 5809 resourceVersion: 5810 description: 'Specific resourceVersion to which this 5811 reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 5812 type: string 5813 uid: 5814 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 5815 type: string 5816 type: object 5817 x-kubernetes-map-type: atomic 5818 dataSecretName: 5819 description: DataSecretName is the name of the secret 5820 that stores the bootstrap data script. If nil, the Machine 5821 should remain in the Pending state. 5822 type: string 5823 type: object 5824 clusterName: 5825 description: ClusterName is the name of the Cluster this object 5826 belongs to. 5827 minLength: 1 5828 type: string 5829 failureDomain: 5830 description: FailureDomain is the failure domain the machine 5831 will be created in. Must match a key in the FailureDomains 5832 map stored on the cluster object. 5833 type: string 5834 infrastructureRef: 5835 description: InfrastructureRef is a required reference to 5836 a custom resource offered by an infrastructure provider. 5837 properties: 5838 apiVersion: 5839 description: API version of the referent. 5840 type: string 5841 fieldPath: 5842 description: 'If referring to a piece of an object instead 5843 of an entire object, this string should contain a valid 5844 JSON/Go field access statement, such as desiredState.manifest.containers[2]. 5845 For example, if the object reference is to a container 5846 within a pod, this would take on a value like: "spec.containers{name}" 5847 (where "name" refers to the name of the container that 5848 triggered the event) or if no container name is specified 5849 "spec.containers[2]" (container with index 2 in this 5850 pod). This syntax is chosen only to have some well-defined 5851 way of referencing a part of an object. TODO: this design 5852 is not final and this field is subject to change in 5853 the future.' 5854 type: string 5855 kind: 5856 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 5857 type: string 5858 name: 5859 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 5860 type: string 5861 namespace: 5862 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 5863 type: string 5864 resourceVersion: 5865 description: 'Specific resourceVersion to which this reference 5866 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 5867 type: string 5868 uid: 5869 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 5870 type: string 5871 type: object 5872 x-kubernetes-map-type: atomic 5873 nodeDeletionTimeout: 5874 description: NodeDeletionTimeout defines how long the controller 5875 will attempt to delete the Node that the Machine hosts after 5876 the Machine is marked for deletion. A duration of 0 will 5877 retry deletion indefinitely. Defaults to 10 seconds. 5878 type: string 5879 nodeDrainTimeout: 5880 description: 'NodeDrainTimeout is the total amount of time 5881 that the controller will spend on draining a node. The default 5882 value is 0, meaning that the node can be drained without 5883 any time limitations. NOTE: NodeDrainTimeout is different 5884 from `kubectl drain --timeout`' 5885 type: string 5886 nodeVolumeDetachTimeout: 5887 description: NodeVolumeDetachTimeout is the total amount of 5888 time that the controller will spend on waiting for all volumes 5889 to be detached. The default value is 0, meaning that the 5890 volumes can be detached without any time limitations. 5891 type: string 5892 providerID: 5893 description: ProviderID is the identification ID of the machine 5894 provided by the provider. This field must match the provider 5895 ID as seen on the node object corresponding to this machine. 5896 This field is required by higher level consumers of cluster-api. 5897 Example use case is cluster autoscaler with cluster-api 5898 as provider. Clean-up logic in the autoscaler compares machines 5899 to nodes to find out machines at provider which could not 5900 get registered as Kubernetes nodes. With cluster-api as 5901 a generic out-of-tree provider for autoscaler, this field 5902 is required by autoscaler to be able to have a provider 5903 view of the list of machines. Another list of nodes is queried 5904 from the k8s apiserver and then a comparison is done to 5905 find out unregistered machines and are marked for delete. 5906 This field will be set by the actuators and consumed by 5907 higher level entities like autoscaler that will be interfacing 5908 with cluster-api as generic provider. 5909 type: string 5910 version: 5911 description: Version defines the desired Kubernetes version. 5912 This field is meant to be optionally used by bootstrap providers. 5913 type: string 5914 required: 5915 - bootstrap 5916 - clusterName 5917 - infrastructureRef 5918 type: object 5919 type: object 5920 required: 5921 - clusterName 5922 - selector 5923 - template 5924 type: object 5925 status: 5926 description: MachineDeploymentStatus defines the observed state of MachineDeployment. 5927 properties: 5928 availableReplicas: 5929 description: Total number of available machines (ready for at least 5930 minReadySeconds) targeted by this deployment. 5931 format: int32 5932 type: integer 5933 conditions: 5934 description: Conditions defines current service state of the MachineDeployment. 5935 items: 5936 description: Condition defines an observation of a Cluster API resource 5937 operational state. 5938 properties: 5939 lastTransitionTime: 5940 description: Last time the condition transitioned from one status 5941 to another. This should be when the underlying condition changed. 5942 If that is not known, then using the time when the API field 5943 changed is acceptable. 5944 format: date-time 5945 type: string 5946 message: 5947 description: A human readable message indicating details about 5948 the transition. This field may be empty. 5949 type: string 5950 reason: 5951 description: The reason for the condition's last transition 5952 in CamelCase. The specific API may choose whether or not this 5953 field is considered a guaranteed API. This field may not be 5954 empty. 5955 type: string 5956 severity: 5957 description: Severity provides an explicit classification of 5958 Reason code, so the users or machines can immediately understand 5959 the current situation and act accordingly. The Severity field 5960 MUST be set only when Status=False. 5961 type: string 5962 status: 5963 description: Status of the condition, one of True, False, Unknown. 5964 type: string 5965 type: 5966 description: Type of condition in CamelCase or in foo.example.com/CamelCase. 5967 Many .condition.type values are consistent across resources 5968 like Available, but because arbitrary conditions can be useful 5969 (see .node.status.conditions), the ability to deconflict is 5970 important. 5971 type: string 5972 required: 5973 - lastTransitionTime 5974 - status 5975 - type 5976 type: object 5977 type: array 5978 observedGeneration: 5979 description: The generation observed by the deployment controller. 5980 format: int64 5981 type: integer 5982 phase: 5983 description: Phase represents the current phase of a MachineDeployment 5984 (ScalingUp, ScalingDown, Running, Failed, or Unknown). 5985 type: string 5986 readyReplicas: 5987 description: Total number of ready machines targeted by this deployment. 5988 format: int32 5989 type: integer 5990 replicas: 5991 description: Total number of non-terminated machines targeted by this 5992 deployment (their labels match the selector). 5993 format: int32 5994 type: integer 5995 selector: 5996 description: 'Selector is the same as the label selector but in the 5997 string format to avoid introspection by clients. The string will 5998 be in the same format as the query-param syntax. More info about 5999 label selectors: http://kubernetes.io/docs/user-guide/labels#label-selectors' 6000 type: string 6001 unavailableReplicas: 6002 description: Total number of unavailable machines targeted by this 6003 deployment. This is the total number of machines that are still 6004 required for the deployment to have 100% available capacity. They 6005 may either be machines that are running but not yet available or 6006 machines that still have not been created. 6007 format: int32 6008 type: integer 6009 updatedReplicas: 6010 description: Total number of non-terminated machines targeted by this 6011 deployment that have the desired template spec. 6012 format: int32 6013 type: integer 6014 type: object 6015 type: object 6016 served: true 6017 storage: true 6018 subresources: 6019 scale: 6020 labelSelectorPath: .status.selector 6021 specReplicasPath: .spec.replicas 6022 statusReplicasPath: .status.replicas 6023 status: {} 6024 --- 6025 apiVersion: apiextensions.k8s.io/v1 6026 kind: CustomResourceDefinition 6027 metadata: 6028 annotations: 6029 cert-manager.io/inject-ca-from: capi-system/capi-serving-cert 6030 controller-gen.kubebuilder.io/version: v0.12.0 6031 labels: 6032 cluster.x-k8s.io/provider: cluster-api 6033 name: machinehealthchecks.cluster.x-k8s.io 6034 spec: 6035 conversion: 6036 strategy: Webhook 6037 webhook: 6038 clientConfig: 6039 caBundle: Cg== 6040 service: 6041 name: capi-webhook-service 6042 namespace: capi-system 6043 path: /convert 6044 conversionReviewVersions: 6045 - v1 6046 - v1beta1 6047 group: cluster.x-k8s.io 6048 names: 6049 categories: 6050 - cluster-api 6051 kind: MachineHealthCheck 6052 listKind: MachineHealthCheckList 6053 plural: machinehealthchecks 6054 shortNames: 6055 - mhc 6056 - mhcs 6057 singular: machinehealthcheck 6058 scope: Namespaced 6059 versions: 6060 - additionalPrinterColumns: 6061 - description: Maximum number of unhealthy machines allowed 6062 jsonPath: .spec.maxUnhealthy 6063 name: MaxUnhealthy 6064 type: string 6065 - description: Number of machines currently monitored 6066 jsonPath: .status.expectedMachines 6067 name: ExpectedMachines 6068 type: integer 6069 - description: Current observed healthy machines 6070 jsonPath: .status.currentHealthy 6071 name: CurrentHealthy 6072 type: integer 6073 deprecated: true 6074 name: v1alpha3 6075 schema: 6076 openAPIV3Schema: 6077 description: "MachineHealthCheck is the Schema for the machinehealthchecks 6078 API. \n Deprecated: This type will be removed in one of the next releases." 6079 properties: 6080 apiVersion: 6081 description: 'APIVersion defines the versioned schema of this representation 6082 of an object. Servers should convert recognized schemas to the latest 6083 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 6084 type: string 6085 kind: 6086 description: 'Kind is a string value representing the REST resource this 6087 object represents. Servers may infer this from the endpoint the client 6088 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 6089 type: string 6090 metadata: 6091 type: object 6092 spec: 6093 description: Specification of machine health check policy 6094 properties: 6095 clusterName: 6096 description: ClusterName is the name of the Cluster this object belongs 6097 to. 6098 minLength: 1 6099 type: string 6100 maxUnhealthy: 6101 anyOf: 6102 - type: integer 6103 - type: string 6104 description: Any further remediation is only allowed if at most "MaxUnhealthy" 6105 machines selected by "selector" are not healthy. 6106 x-kubernetes-int-or-string: true 6107 nodeStartupTimeout: 6108 description: Machines older than this duration without a node will 6109 be considered to have failed and will be remediated. 6110 type: string 6111 remediationTemplate: 6112 description: "RemediationTemplate is a reference to a remediation 6113 template provided by an infrastructure provider. \n This field is 6114 completely optional, when filled, the MachineHealthCheck controller 6115 creates a new object from the template referenced and hands off 6116 remediation of the machine to a controller that lives outside of 6117 Cluster API." 6118 properties: 6119 apiVersion: 6120 description: API version of the referent. 6121 type: string 6122 fieldPath: 6123 description: 'If referring to a piece of an object instead of 6124 an entire object, this string should contain a valid JSON/Go 6125 field access statement, such as desiredState.manifest.containers[2]. 6126 For example, if the object reference is to a container within 6127 a pod, this would take on a value like: "spec.containers{name}" 6128 (where "name" refers to the name of the container that triggered 6129 the event) or if no container name is specified "spec.containers[2]" 6130 (container with index 2 in this pod). This syntax is chosen 6131 only to have some well-defined way of referencing a part of 6132 an object. TODO: this design is not final and this field is 6133 subject to change in the future.' 6134 type: string 6135 kind: 6136 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 6137 type: string 6138 name: 6139 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 6140 type: string 6141 namespace: 6142 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 6143 type: string 6144 resourceVersion: 6145 description: 'Specific resourceVersion to which this reference 6146 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 6147 type: string 6148 uid: 6149 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 6150 type: string 6151 type: object 6152 x-kubernetes-map-type: atomic 6153 selector: 6154 description: Label selector to match machines whose health will be 6155 exercised 6156 properties: 6157 matchExpressions: 6158 description: matchExpressions is a list of label selector requirements. 6159 The requirements are ANDed. 6160 items: 6161 description: A label selector requirement is a selector that 6162 contains values, a key, and an operator that relates the key 6163 and values. 6164 properties: 6165 key: 6166 description: key is the label key that the selector applies 6167 to. 6168 type: string 6169 operator: 6170 description: operator represents a key's relationship to 6171 a set of values. Valid operators are In, NotIn, Exists 6172 and DoesNotExist. 6173 type: string 6174 values: 6175 description: values is an array of string values. If the 6176 operator is In or NotIn, the values array must be non-empty. 6177 If the operator is Exists or DoesNotExist, the values 6178 array must be empty. This array is replaced during a strategic 6179 merge patch. 6180 items: 6181 type: string 6182 type: array 6183 required: 6184 - key 6185 - operator 6186 type: object 6187 type: array 6188 matchLabels: 6189 additionalProperties: 6190 type: string 6191 description: matchLabels is a map of {key,value} pairs. A single 6192 {key,value} in the matchLabels map is equivalent to an element 6193 of matchExpressions, whose key field is "key", the operator 6194 is "In", and the values array contains only "value". The requirements 6195 are ANDed. 6196 type: object 6197 type: object 6198 x-kubernetes-map-type: atomic 6199 unhealthyConditions: 6200 description: UnhealthyConditions contains a list of the conditions 6201 that determine whether a node is considered unhealthy. The conditions 6202 are combined in a logical OR, i.e. if any of the conditions is met, 6203 the node is unhealthy. 6204 items: 6205 description: UnhealthyCondition represents a Node condition type 6206 and value with a timeout specified as a duration. When the named 6207 condition has been in the given status for at least the timeout 6208 value, a node is considered unhealthy. 6209 properties: 6210 status: 6211 minLength: 1 6212 type: string 6213 timeout: 6214 type: string 6215 type: 6216 minLength: 1 6217 type: string 6218 required: 6219 - status 6220 - timeout 6221 - type 6222 type: object 6223 minItems: 1 6224 type: array 6225 required: 6226 - clusterName 6227 - selector 6228 - unhealthyConditions 6229 type: object 6230 status: 6231 description: Most recently observed status of MachineHealthCheck resource 6232 properties: 6233 conditions: 6234 description: Conditions defines current service state of the MachineHealthCheck. 6235 items: 6236 description: Condition defines an observation of a Cluster API resource 6237 operational state. 6238 properties: 6239 lastTransitionTime: 6240 description: Last time the condition transitioned from one status 6241 to another. This should be when the underlying condition changed. 6242 If that is not known, then using the time when the API field 6243 changed is acceptable. 6244 format: date-time 6245 type: string 6246 message: 6247 description: A human readable message indicating details about 6248 the transition. This field may be empty. 6249 type: string 6250 reason: 6251 description: The reason for the condition's last transition 6252 in CamelCase. The specific API may choose whether or not this 6253 field is considered a guaranteed API. This field may not be 6254 empty. 6255 type: string 6256 severity: 6257 description: Severity provides an explicit classification of 6258 Reason code, so the users or machines can immediately understand 6259 the current situation and act accordingly. The Severity field 6260 MUST be set only when Status=False. 6261 type: string 6262 status: 6263 description: Status of the condition, one of True, False, Unknown. 6264 type: string 6265 type: 6266 description: Type of condition in CamelCase or in foo.example.com/CamelCase. 6267 Many .condition.type values are consistent across resources 6268 like Available, but because arbitrary conditions can be useful 6269 (see .node.status.conditions), the ability to deconflict is 6270 important. 6271 type: string 6272 required: 6273 - status 6274 - type 6275 type: object 6276 type: array 6277 currentHealthy: 6278 description: total number of healthy machines counted by this machine 6279 health check 6280 format: int32 6281 minimum: 0 6282 type: integer 6283 expectedMachines: 6284 description: total number of machines counted by this machine health 6285 check 6286 format: int32 6287 minimum: 0 6288 type: integer 6289 observedGeneration: 6290 description: ObservedGeneration is the latest generation observed 6291 by the controller. 6292 format: int64 6293 type: integer 6294 remediationsAllowed: 6295 description: RemediationsAllowed is the number of further remediations 6296 allowed by this machine health check before maxUnhealthy short circuiting 6297 will be applied 6298 format: int32 6299 minimum: 0 6300 type: integer 6301 targets: 6302 description: Targets shows the current list of machines the machine 6303 health check is watching 6304 items: 6305 type: string 6306 type: array 6307 type: object 6308 type: object 6309 served: false 6310 storage: false 6311 subresources: 6312 status: {} 6313 - additionalPrinterColumns: 6314 - description: Cluster 6315 jsonPath: .spec.clusterName 6316 name: Cluster 6317 type: string 6318 - description: Time duration since creation of MachineHealthCheck 6319 jsonPath: .metadata.creationTimestamp 6320 name: Age 6321 type: date 6322 - description: Maximum number of unhealthy machines allowed 6323 jsonPath: .spec.maxUnhealthy 6324 name: MaxUnhealthy 6325 type: string 6326 - description: Number of machines currently monitored 6327 jsonPath: .status.expectedMachines 6328 name: ExpectedMachines 6329 type: integer 6330 - description: Current observed healthy machines 6331 jsonPath: .status.currentHealthy 6332 name: CurrentHealthy 6333 type: integer 6334 deprecated: true 6335 name: v1alpha4 6336 schema: 6337 openAPIV3Schema: 6338 description: "MachineHealthCheck is the Schema for the machinehealthchecks 6339 API. \n Deprecated: This type will be removed in one of the next releases." 6340 properties: 6341 apiVersion: 6342 description: 'APIVersion defines the versioned schema of this representation 6343 of an object. Servers should convert recognized schemas to the latest 6344 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 6345 type: string 6346 kind: 6347 description: 'Kind is a string value representing the REST resource this 6348 object represents. Servers may infer this from the endpoint the client 6349 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 6350 type: string 6351 metadata: 6352 type: object 6353 spec: 6354 description: Specification of machine health check policy 6355 properties: 6356 clusterName: 6357 description: ClusterName is the name of the Cluster this object belongs 6358 to. 6359 minLength: 1 6360 type: string 6361 maxUnhealthy: 6362 anyOf: 6363 - type: integer 6364 - type: string 6365 description: Any further remediation is only allowed if at most "MaxUnhealthy" 6366 machines selected by "selector" are not healthy. 6367 x-kubernetes-int-or-string: true 6368 nodeStartupTimeout: 6369 description: Machines older than this duration without a node will 6370 be considered to have failed and will be remediated. If not set, 6371 this value is defaulted to 10 minutes. If you wish to disable this 6372 feature, set the value explicitly to 0. 6373 type: string 6374 remediationTemplate: 6375 description: "RemediationTemplate is a reference to a remediation 6376 template provided by an infrastructure provider. \n This field is 6377 completely optional, when filled, the MachineHealthCheck controller 6378 creates a new object from the template referenced and hands off 6379 remediation of the machine to a controller that lives outside of 6380 Cluster API." 6381 properties: 6382 apiVersion: 6383 description: API version of the referent. 6384 type: string 6385 fieldPath: 6386 description: 'If referring to a piece of an object instead of 6387 an entire object, this string should contain a valid JSON/Go 6388 field access statement, such as desiredState.manifest.containers[2]. 6389 For example, if the object reference is to a container within 6390 a pod, this would take on a value like: "spec.containers{name}" 6391 (where "name" refers to the name of the container that triggered 6392 the event) or if no container name is specified "spec.containers[2]" 6393 (container with index 2 in this pod). This syntax is chosen 6394 only to have some well-defined way of referencing a part of 6395 an object. TODO: this design is not final and this field is 6396 subject to change in the future.' 6397 type: string 6398 kind: 6399 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 6400 type: string 6401 name: 6402 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 6403 type: string 6404 namespace: 6405 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 6406 type: string 6407 resourceVersion: 6408 description: 'Specific resourceVersion to which this reference 6409 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 6410 type: string 6411 uid: 6412 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 6413 type: string 6414 type: object 6415 x-kubernetes-map-type: atomic 6416 selector: 6417 description: Label selector to match machines whose health will be 6418 exercised 6419 properties: 6420 matchExpressions: 6421 description: matchExpressions is a list of label selector requirements. 6422 The requirements are ANDed. 6423 items: 6424 description: A label selector requirement is a selector that 6425 contains values, a key, and an operator that relates the key 6426 and values. 6427 properties: 6428 key: 6429 description: key is the label key that the selector applies 6430 to. 6431 type: string 6432 operator: 6433 description: operator represents a key's relationship to 6434 a set of values. Valid operators are In, NotIn, Exists 6435 and DoesNotExist. 6436 type: string 6437 values: 6438 description: values is an array of string values. If the 6439 operator is In or NotIn, the values array must be non-empty. 6440 If the operator is Exists or DoesNotExist, the values 6441 array must be empty. This array is replaced during a strategic 6442 merge patch. 6443 items: 6444 type: string 6445 type: array 6446 required: 6447 - key 6448 - operator 6449 type: object 6450 type: array 6451 matchLabels: 6452 additionalProperties: 6453 type: string 6454 description: matchLabels is a map of {key,value} pairs. A single 6455 {key,value} in the matchLabels map is equivalent to an element 6456 of matchExpressions, whose key field is "key", the operator 6457 is "In", and the values array contains only "value". The requirements 6458 are ANDed. 6459 type: object 6460 type: object 6461 x-kubernetes-map-type: atomic 6462 unhealthyConditions: 6463 description: UnhealthyConditions contains a list of the conditions 6464 that determine whether a node is considered unhealthy. The conditions 6465 are combined in a logical OR, i.e. if any of the conditions is met, 6466 the node is unhealthy. 6467 items: 6468 description: UnhealthyCondition represents a Node condition type 6469 and value with a timeout specified as a duration. When the named 6470 condition has been in the given status for at least the timeout 6471 value, a node is considered unhealthy. 6472 properties: 6473 status: 6474 minLength: 1 6475 type: string 6476 timeout: 6477 type: string 6478 type: 6479 minLength: 1 6480 type: string 6481 required: 6482 - status 6483 - timeout 6484 - type 6485 type: object 6486 minItems: 1 6487 type: array 6488 unhealthyRange: 6489 description: 'Any further remediation is only allowed if the number 6490 of machines selected by "selector" as not healthy is within the 6491 range of "UnhealthyRange". Takes precedence over MaxUnhealthy. Eg. 6492 "[3-5]" - This means that remediation will be allowed only when: 6493 (a) there are at least 3 unhealthy machines (and) (b) there are 6494 at most 5 unhealthy machines' 6495 pattern: ^\[[0-9]+-[0-9]+\]$ 6496 type: string 6497 required: 6498 - clusterName 6499 - selector 6500 - unhealthyConditions 6501 type: object 6502 status: 6503 description: Most recently observed status of MachineHealthCheck resource 6504 properties: 6505 conditions: 6506 description: Conditions defines current service state of the MachineHealthCheck. 6507 items: 6508 description: Condition defines an observation of a Cluster API resource 6509 operational state. 6510 properties: 6511 lastTransitionTime: 6512 description: Last time the condition transitioned from one status 6513 to another. This should be when the underlying condition changed. 6514 If that is not known, then using the time when the API field 6515 changed is acceptable. 6516 format: date-time 6517 type: string 6518 message: 6519 description: A human readable message indicating details about 6520 the transition. This field may be empty. 6521 type: string 6522 reason: 6523 description: The reason for the condition's last transition 6524 in CamelCase. The specific API may choose whether or not this 6525 field is considered a guaranteed API. This field may not be 6526 empty. 6527 type: string 6528 severity: 6529 description: Severity provides an explicit classification of 6530 Reason code, so the users or machines can immediately understand 6531 the current situation and act accordingly. The Severity field 6532 MUST be set only when Status=False. 6533 type: string 6534 status: 6535 description: Status of the condition, one of True, False, Unknown. 6536 type: string 6537 type: 6538 description: Type of condition in CamelCase or in foo.example.com/CamelCase. 6539 Many .condition.type values are consistent across resources 6540 like Available, but because arbitrary conditions can be useful 6541 (see .node.status.conditions), the ability to deconflict is 6542 important. 6543 type: string 6544 required: 6545 - status 6546 - type 6547 type: object 6548 type: array 6549 currentHealthy: 6550 description: total number of healthy machines counted by this machine 6551 health check 6552 format: int32 6553 minimum: 0 6554 type: integer 6555 expectedMachines: 6556 description: total number of machines counted by this machine health 6557 check 6558 format: int32 6559 minimum: 0 6560 type: integer 6561 observedGeneration: 6562 description: ObservedGeneration is the latest generation observed 6563 by the controller. 6564 format: int64 6565 type: integer 6566 remediationsAllowed: 6567 description: RemediationsAllowed is the number of further remediations 6568 allowed by this machine health check before maxUnhealthy short circuiting 6569 will be applied 6570 format: int32 6571 minimum: 0 6572 type: integer 6573 targets: 6574 description: Targets shows the current list of machines the machine 6575 health check is watching 6576 items: 6577 type: string 6578 type: array 6579 type: object 6580 type: object 6581 served: true 6582 storage: false 6583 subresources: 6584 status: {} 6585 - additionalPrinterColumns: 6586 - description: Cluster 6587 jsonPath: .spec.clusterName 6588 name: Cluster 6589 type: string 6590 - description: Number of machines currently monitored 6591 jsonPath: .status.expectedMachines 6592 name: ExpectedMachines 6593 type: integer 6594 - description: Maximum number of unhealthy machines allowed 6595 jsonPath: .spec.maxUnhealthy 6596 name: MaxUnhealthy 6597 type: string 6598 - description: Current observed healthy machines 6599 jsonPath: .status.currentHealthy 6600 name: CurrentHealthy 6601 type: integer 6602 - description: Time duration since creation of MachineHealthCheck 6603 jsonPath: .metadata.creationTimestamp 6604 name: Age 6605 type: date 6606 name: v1beta1 6607 schema: 6608 openAPIV3Schema: 6609 description: MachineHealthCheck is the Schema for the machinehealthchecks 6610 API. 6611 properties: 6612 apiVersion: 6613 description: 'APIVersion defines the versioned schema of this representation 6614 of an object. Servers should convert recognized schemas to the latest 6615 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 6616 type: string 6617 kind: 6618 description: 'Kind is a string value representing the REST resource this 6619 object represents. Servers may infer this from the endpoint the client 6620 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 6621 type: string 6622 metadata: 6623 type: object 6624 spec: 6625 description: Specification of machine health check policy 6626 properties: 6627 clusterName: 6628 description: ClusterName is the name of the Cluster this object belongs 6629 to. 6630 minLength: 1 6631 type: string 6632 maxUnhealthy: 6633 anyOf: 6634 - type: integer 6635 - type: string 6636 description: Any further remediation is only allowed if at most "MaxUnhealthy" 6637 machines selected by "selector" are not healthy. 6638 x-kubernetes-int-or-string: true 6639 nodeStartupTimeout: 6640 description: Machines older than this duration without a node will 6641 be considered to have failed and will be remediated. If not set, 6642 this value is defaulted to 10 minutes. If you wish to disable this 6643 feature, set the value explicitly to 0. 6644 type: string 6645 remediationTemplate: 6646 description: "RemediationTemplate is a reference to a remediation 6647 template provided by an infrastructure provider. \n This field is 6648 completely optional, when filled, the MachineHealthCheck controller 6649 creates a new object from the template referenced and hands off 6650 remediation of the machine to a controller that lives outside of 6651 Cluster API." 6652 properties: 6653 apiVersion: 6654 description: API version of the referent. 6655 type: string 6656 fieldPath: 6657 description: 'If referring to a piece of an object instead of 6658 an entire object, this string should contain a valid JSON/Go 6659 field access statement, such as desiredState.manifest.containers[2]. 6660 For example, if the object reference is to a container within 6661 a pod, this would take on a value like: "spec.containers{name}" 6662 (where "name" refers to the name of the container that triggered 6663 the event) or if no container name is specified "spec.containers[2]" 6664 (container with index 2 in this pod). This syntax is chosen 6665 only to have some well-defined way of referencing a part of 6666 an object. TODO: this design is not final and this field is 6667 subject to change in the future.' 6668 type: string 6669 kind: 6670 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 6671 type: string 6672 name: 6673 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 6674 type: string 6675 namespace: 6676 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 6677 type: string 6678 resourceVersion: 6679 description: 'Specific resourceVersion to which this reference 6680 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 6681 type: string 6682 uid: 6683 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 6684 type: string 6685 type: object 6686 x-kubernetes-map-type: atomic 6687 selector: 6688 description: Label selector to match machines whose health will be 6689 exercised 6690 properties: 6691 matchExpressions: 6692 description: matchExpressions is a list of label selector requirements. 6693 The requirements are ANDed. 6694 items: 6695 description: A label selector requirement is a selector that 6696 contains values, a key, and an operator that relates the key 6697 and values. 6698 properties: 6699 key: 6700 description: key is the label key that the selector applies 6701 to. 6702 type: string 6703 operator: 6704 description: operator represents a key's relationship to 6705 a set of values. Valid operators are In, NotIn, Exists 6706 and DoesNotExist. 6707 type: string 6708 values: 6709 description: values is an array of string values. If the 6710 operator is In or NotIn, the values array must be non-empty. 6711 If the operator is Exists or DoesNotExist, the values 6712 array must be empty. This array is replaced during a strategic 6713 merge patch. 6714 items: 6715 type: string 6716 type: array 6717 required: 6718 - key 6719 - operator 6720 type: object 6721 type: array 6722 matchLabels: 6723 additionalProperties: 6724 type: string 6725 description: matchLabels is a map of {key,value} pairs. A single 6726 {key,value} in the matchLabels map is equivalent to an element 6727 of matchExpressions, whose key field is "key", the operator 6728 is "In", and the values array contains only "value". The requirements 6729 are ANDed. 6730 type: object 6731 type: object 6732 x-kubernetes-map-type: atomic 6733 unhealthyConditions: 6734 description: UnhealthyConditions contains a list of the conditions 6735 that determine whether a node is considered unhealthy. The conditions 6736 are combined in a logical OR, i.e. if any of the conditions is met, 6737 the node is unhealthy. 6738 items: 6739 description: UnhealthyCondition represents a Node condition type 6740 and value with a timeout specified as a duration. When the named 6741 condition has been in the given status for at least the timeout 6742 value, a node is considered unhealthy. 6743 properties: 6744 status: 6745 minLength: 1 6746 type: string 6747 timeout: 6748 type: string 6749 type: 6750 minLength: 1 6751 type: string 6752 required: 6753 - status 6754 - timeout 6755 - type 6756 type: object 6757 minItems: 1 6758 type: array 6759 unhealthyRange: 6760 description: 'Any further remediation is only allowed if the number 6761 of machines selected by "selector" as not healthy is within the 6762 range of "UnhealthyRange". Takes precedence over MaxUnhealthy. Eg. 6763 "[3-5]" - This means that remediation will be allowed only when: 6764 (a) there are at least 3 unhealthy machines (and) (b) there are 6765 at most 5 unhealthy machines' 6766 pattern: ^\[[0-9]+-[0-9]+\]$ 6767 type: string 6768 required: 6769 - clusterName 6770 - selector 6771 - unhealthyConditions 6772 type: object 6773 status: 6774 description: Most recently observed status of MachineHealthCheck resource 6775 properties: 6776 conditions: 6777 description: Conditions defines current service state of the MachineHealthCheck. 6778 items: 6779 description: Condition defines an observation of a Cluster API resource 6780 operational state. 6781 properties: 6782 lastTransitionTime: 6783 description: Last time the condition transitioned from one status 6784 to another. This should be when the underlying condition changed. 6785 If that is not known, then using the time when the API field 6786 changed is acceptable. 6787 format: date-time 6788 type: string 6789 message: 6790 description: A human readable message indicating details about 6791 the transition. This field may be empty. 6792 type: string 6793 reason: 6794 description: The reason for the condition's last transition 6795 in CamelCase. The specific API may choose whether or not this 6796 field is considered a guaranteed API. This field may not be 6797 empty. 6798 type: string 6799 severity: 6800 description: Severity provides an explicit classification of 6801 Reason code, so the users or machines can immediately understand 6802 the current situation and act accordingly. The Severity field 6803 MUST be set only when Status=False. 6804 type: string 6805 status: 6806 description: Status of the condition, one of True, False, Unknown. 6807 type: string 6808 type: 6809 description: Type of condition in CamelCase or in foo.example.com/CamelCase. 6810 Many .condition.type values are consistent across resources 6811 like Available, but because arbitrary conditions can be useful 6812 (see .node.status.conditions), the ability to deconflict is 6813 important. 6814 type: string 6815 required: 6816 - lastTransitionTime 6817 - status 6818 - type 6819 type: object 6820 type: array 6821 currentHealthy: 6822 description: total number of healthy machines counted by this machine 6823 health check 6824 format: int32 6825 minimum: 0 6826 type: integer 6827 expectedMachines: 6828 description: total number of machines counted by this machine health 6829 check 6830 format: int32 6831 minimum: 0 6832 type: integer 6833 observedGeneration: 6834 description: ObservedGeneration is the latest generation observed 6835 by the controller. 6836 format: int64 6837 type: integer 6838 remediationsAllowed: 6839 description: RemediationsAllowed is the number of further remediations 6840 allowed by this machine health check before maxUnhealthy short circuiting 6841 will be applied 6842 format: int32 6843 minimum: 0 6844 type: integer 6845 targets: 6846 description: Targets shows the current list of machines the machine 6847 health check is watching 6848 items: 6849 type: string 6850 type: array 6851 type: object 6852 type: object 6853 served: true 6854 storage: true 6855 subresources: 6856 status: {} 6857 --- 6858 apiVersion: apiextensions.k8s.io/v1 6859 kind: CustomResourceDefinition 6860 metadata: 6861 annotations: 6862 cert-manager.io/inject-ca-from: capi-system/capi-serving-cert 6863 controller-gen.kubebuilder.io/version: v0.12.0 6864 labels: 6865 cluster.x-k8s.io/provider: cluster-api 6866 name: machinepools.cluster.x-k8s.io 6867 spec: 6868 conversion: 6869 strategy: Webhook 6870 webhook: 6871 clientConfig: 6872 caBundle: Cg== 6873 service: 6874 name: capi-webhook-service 6875 namespace: capi-system 6876 path: /convert 6877 conversionReviewVersions: 6878 - v1 6879 - v1beta1 6880 group: cluster.x-k8s.io 6881 names: 6882 categories: 6883 - cluster-api 6884 kind: MachinePool 6885 listKind: MachinePoolList 6886 plural: machinepools 6887 shortNames: 6888 - mp 6889 singular: machinepool 6890 scope: Namespaced 6891 versions: 6892 - additionalPrinterColumns: 6893 - description: MachinePool replicas count 6894 jsonPath: .status.replicas 6895 name: Replicas 6896 type: string 6897 - description: MachinePool status such as Terminating/Pending/Provisioning/Running/Failed 6898 etc 6899 jsonPath: .status.phase 6900 name: Phase 6901 type: string 6902 - description: Kubernetes version associated with this MachinePool 6903 jsonPath: .spec.template.spec.version 6904 name: Version 6905 type: string 6906 deprecated: true 6907 name: v1alpha3 6908 schema: 6909 openAPIV3Schema: 6910 description: "MachinePool is the Schema for the machinepools API. \n Deprecated: 6911 This type will be removed in one of the next releases." 6912 properties: 6913 apiVersion: 6914 description: 'APIVersion defines the versioned schema of this representation 6915 of an object. Servers should convert recognized schemas to the latest 6916 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 6917 type: string 6918 kind: 6919 description: 'Kind is a string value representing the REST resource this 6920 object represents. Servers may infer this from the endpoint the client 6921 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 6922 type: string 6923 metadata: 6924 type: object 6925 spec: 6926 description: MachinePoolSpec defines the desired state of MachinePool. 6927 properties: 6928 clusterName: 6929 description: ClusterName is the name of the Cluster this object belongs 6930 to. 6931 minLength: 1 6932 type: string 6933 failureDomains: 6934 description: FailureDomains is the list of failure domains this MachinePool 6935 should be attached to. 6936 items: 6937 type: string 6938 type: array 6939 minReadySeconds: 6940 description: Minimum number of seconds for which a newly created machine 6941 instances should be ready. Defaults to 0 (machine instance will 6942 be considered available as soon as it is ready) 6943 format: int32 6944 type: integer 6945 providerIDList: 6946 description: ProviderIDList are the identification IDs of machine 6947 instances provided by the provider. This field must match the provider 6948 IDs as seen on the node objects corresponding to a machine pool's 6949 machine instances. 6950 items: 6951 type: string 6952 type: array 6953 replicas: 6954 description: Number of desired machines. Defaults to 1. This is a 6955 pointer to distinguish between explicit zero and not specified. 6956 format: int32 6957 type: integer 6958 strategy: 6959 description: The deployment strategy to use to replace existing machine 6960 instances with new ones. 6961 properties: 6962 rollingUpdate: 6963 description: Rolling update config params. Present only if MachineDeploymentStrategyType 6964 = RollingUpdate. 6965 properties: 6966 maxSurge: 6967 anyOf: 6968 - type: integer 6969 - type: string 6970 description: 'The maximum number of machines that can be scheduled 6971 above the desired number of machines. Value can be an absolute 6972 number (ex: 5) or a percentage of desired machines (ex: 6973 10%). This can not be 0 if MaxUnavailable is 0. Absolute 6974 number is calculated from percentage by rounding up. Defaults 6975 to 1. Example: when this is set to 30%, the new MachineSet 6976 can be scaled up immediately when the rolling update starts, 6977 such that the total number of old and new machines do not 6978 exceed 130% of desired machines. Once old machines have 6979 been killed, new MachineSet can be scaled up further, ensuring 6980 that total number of machines running at any time during 6981 the update is at most 130% of desired machines.' 6982 x-kubernetes-int-or-string: true 6983 maxUnavailable: 6984 anyOf: 6985 - type: integer 6986 - type: string 6987 description: 'The maximum number of machines that can be unavailable 6988 during the update. Value can be an absolute number (ex: 6989 5) or a percentage of desired machines (ex: 10%). Absolute 6990 number is calculated from percentage by rounding down. This 6991 can not be 0 if MaxSurge is 0. Defaults to 0. Example: when 6992 this is set to 30%, the old MachineSet can be scaled down 6993 to 70% of desired machines immediately when the rolling 6994 update starts. Once new machines are ready, old MachineSet 6995 can be scaled down further, followed by scaling up the new 6996 MachineSet, ensuring that the total number of machines available 6997 at all times during the update is at least 70% of desired 6998 machines.' 6999 x-kubernetes-int-or-string: true 7000 type: object 7001 type: 7002 description: Type of deployment. Currently the only supported 7003 strategy is "RollingUpdate". Default is RollingUpdate. 7004 type: string 7005 type: object 7006 template: 7007 description: Template describes the machines that will be created. 7008 properties: 7009 metadata: 7010 description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata' 7011 properties: 7012 annotations: 7013 additionalProperties: 7014 type: string 7015 description: 'Annotations is an unstructured key value map 7016 stored with a resource that may be set by external tools 7017 to store and retrieve arbitrary metadata. They are not queryable 7018 and should be preserved when modifying objects. More info: 7019 http://kubernetes.io/docs/user-guide/annotations' 7020 type: object 7021 generateName: 7022 description: "GenerateName is an optional prefix, used by 7023 the server, to generate a unique name ONLY IF the Name field 7024 has not been provided. If this field is used, the name returned 7025 to the client will be different than the name passed. This 7026 value will also be combined with a unique suffix. The provided 7027 value has the same validation rules as the Name field, and 7028 may be truncated by the length of the suffix required to 7029 make the value unique on the server. \n If this field is 7030 specified and the generated name exists, the server will 7031 NOT return a 409 - instead, it will either return 201 Created 7032 or 500 with Reason ServerTimeout indicating a unique name 7033 could not be found in the time allotted, and the client 7034 should retry (optionally after the time indicated in the 7035 Retry-After header). \n Applied only if Name is not specified. 7036 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency 7037 \n Deprecated: This field has no function and is going to 7038 be removed in a next release." 7039 type: string 7040 labels: 7041 additionalProperties: 7042 type: string 7043 description: 'Map of string keys and values that can be used 7044 to organize and categorize (scope and select) objects. May 7045 match selectors of replication controllers and services. 7046 More info: http://kubernetes.io/docs/user-guide/labels' 7047 type: object 7048 name: 7049 description: "Name must be unique within a namespace. Is required 7050 when creating resources, although some resources may allow 7051 a client to request the generation of an appropriate name 7052 automatically. Name is primarily intended for creation idempotence 7053 and configuration definition. Cannot be updated. More info: 7054 http://kubernetes.io/docs/user-guide/identifiers#names \n 7055 Deprecated: This field has no function and is going to be 7056 removed in a next release." 7057 type: string 7058 namespace: 7059 description: "Namespace defines the space within each name 7060 must be unique. An empty namespace is equivalent to the 7061 \"default\" namespace, but \"default\" is the canonical 7062 representation. Not all objects are required to be scoped 7063 to a namespace - the value of this field for those objects 7064 will be empty. \n Must be a DNS_LABEL. Cannot be updated. 7065 More info: http://kubernetes.io/docs/user-guide/namespaces 7066 \n Deprecated: This field has no function and is going to 7067 be removed in a next release." 7068 type: string 7069 ownerReferences: 7070 description: "List of objects depended by this object. If 7071 ALL objects in the list have been deleted, this object will 7072 be garbage collected. If this object is managed by a controller, 7073 then an entry in this list will point to this controller, 7074 with the controller field set to true. There cannot be more 7075 than one managing controller. \n Deprecated: This field 7076 has no function and is going to be removed in a next release." 7077 items: 7078 description: OwnerReference contains enough information 7079 to let you identify an owning object. An owning object 7080 must be in the same namespace as the dependent, or be 7081 cluster-scoped, so there is no namespace field. 7082 properties: 7083 apiVersion: 7084 description: API version of the referent. 7085 type: string 7086 blockOwnerDeletion: 7087 description: If true, AND if the owner has the "foregroundDeletion" 7088 finalizer, then the owner cannot be deleted from the 7089 key-value store until this reference is removed. See 7090 https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion 7091 for how the garbage collector interacts with this 7092 field and enforces the foreground deletion. Defaults 7093 to false. To set this field, a user needs "delete" 7094 permission of the owner, otherwise 422 (Unprocessable 7095 Entity) will be returned. 7096 type: boolean 7097 controller: 7098 description: If true, this reference points to the managing 7099 controller. 7100 type: boolean 7101 kind: 7102 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 7103 type: string 7104 name: 7105 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names' 7106 type: string 7107 uid: 7108 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids' 7109 type: string 7110 required: 7111 - apiVersion 7112 - kind 7113 - name 7114 - uid 7115 type: object 7116 x-kubernetes-map-type: atomic 7117 type: array 7118 type: object 7119 spec: 7120 description: 'Specification of the desired behavior of the machine. 7121 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' 7122 properties: 7123 bootstrap: 7124 description: Bootstrap is a reference to a local struct which 7125 encapsulates fields to configure the Machine’s bootstrapping 7126 mechanism. 7127 properties: 7128 configRef: 7129 description: ConfigRef is a reference to a bootstrap provider-specific 7130 resource that holds configuration details. The reference 7131 is optional to allow users/operators to specify Bootstrap.Data 7132 without the need of a controller. 7133 properties: 7134 apiVersion: 7135 description: API version of the referent. 7136 type: string 7137 fieldPath: 7138 description: 'If referring to a piece of an object 7139 instead of an entire object, this string should 7140 contain a valid JSON/Go field access statement, 7141 such as desiredState.manifest.containers[2]. For 7142 example, if the object reference is to a container 7143 within a pod, this would take on a value like: "spec.containers{name}" 7144 (where "name" refers to the name of the container 7145 that triggered the event) or if no container name 7146 is specified "spec.containers[2]" (container with 7147 index 2 in this pod). This syntax is chosen only 7148 to have some well-defined way of referencing a part 7149 of an object. TODO: this design is not final and 7150 this field is subject to change in the future.' 7151 type: string 7152 kind: 7153 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 7154 type: string 7155 name: 7156 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 7157 type: string 7158 namespace: 7159 description: 'Namespace of the referent. More info: 7160 https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 7161 type: string 7162 resourceVersion: 7163 description: 'Specific resourceVersion to which this 7164 reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 7165 type: string 7166 uid: 7167 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 7168 type: string 7169 type: object 7170 x-kubernetes-map-type: atomic 7171 data: 7172 description: "Data contains the bootstrap data, such as 7173 cloud-init details scripts. If nil, the Machine should 7174 remain in the Pending state. \n Deprecated: Switch to 7175 DataSecretName." 7176 type: string 7177 dataSecretName: 7178 description: DataSecretName is the name of the secret 7179 that stores the bootstrap data script. If nil, the Machine 7180 should remain in the Pending state. 7181 type: string 7182 type: object 7183 clusterName: 7184 description: ClusterName is the name of the Cluster this object 7185 belongs to. 7186 minLength: 1 7187 type: string 7188 failureDomain: 7189 description: FailureDomain is the failure domain the machine 7190 will be created in. Must match a key in the FailureDomains 7191 map stored on the cluster object. 7192 type: string 7193 infrastructureRef: 7194 description: InfrastructureRef is a required reference to 7195 a custom resource offered by an infrastructure provider. 7196 properties: 7197 apiVersion: 7198 description: API version of the referent. 7199 type: string 7200 fieldPath: 7201 description: 'If referring to a piece of an object instead 7202 of an entire object, this string should contain a valid 7203 JSON/Go field access statement, such as desiredState.manifest.containers[2]. 7204 For example, if the object reference is to a container 7205 within a pod, this would take on a value like: "spec.containers{name}" 7206 (where "name" refers to the name of the container that 7207 triggered the event) or if no container name is specified 7208 "spec.containers[2]" (container with index 2 in this 7209 pod). This syntax is chosen only to have some well-defined 7210 way of referencing a part of an object. TODO: this design 7211 is not final and this field is subject to change in 7212 the future.' 7213 type: string 7214 kind: 7215 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 7216 type: string 7217 name: 7218 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 7219 type: string 7220 namespace: 7221 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 7222 type: string 7223 resourceVersion: 7224 description: 'Specific resourceVersion to which this reference 7225 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 7226 type: string 7227 uid: 7228 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 7229 type: string 7230 type: object 7231 x-kubernetes-map-type: atomic 7232 nodeDrainTimeout: 7233 description: 'NodeDrainTimeout is the total amount of time 7234 that the controller will spend on draining a node. The default 7235 value is 0, meaning that the node can be drained without 7236 any time limitations. NOTE: NodeDrainTimeout is different 7237 from `kubectl drain --timeout`' 7238 type: string 7239 providerID: 7240 description: ProviderID is the identification ID of the machine 7241 provided by the provider. This field must match the provider 7242 ID as seen on the node object corresponding to this machine. 7243 This field is required by higher level consumers of cluster-api. 7244 Example use case is cluster autoscaler with cluster-api 7245 as provider. Clean-up logic in the autoscaler compares machines 7246 to nodes to find out machines at provider which could not 7247 get registered as Kubernetes nodes. With cluster-api as 7248 a generic out-of-tree provider for autoscaler, this field 7249 is required by autoscaler to be able to have a provider 7250 view of the list of machines. Another list of nodes is queried 7251 from the k8s apiserver and then a comparison is done to 7252 find out unregistered machines and are marked for delete. 7253 This field will be set by the actuators and consumed by 7254 higher level entities like autoscaler that will be interfacing 7255 with cluster-api as generic provider. 7256 type: string 7257 version: 7258 description: Version defines the desired Kubernetes version. 7259 This field is meant to be optionally used by bootstrap providers. 7260 type: string 7261 required: 7262 - bootstrap 7263 - clusterName 7264 - infrastructureRef 7265 type: object 7266 type: object 7267 required: 7268 - clusterName 7269 - template 7270 type: object 7271 status: 7272 description: MachinePoolStatus defines the observed state of MachinePool. 7273 properties: 7274 availableReplicas: 7275 description: The number of available replicas (ready for at least 7276 minReadySeconds) for this MachinePool. 7277 format: int32 7278 type: integer 7279 bootstrapReady: 7280 description: BootstrapReady is the state of the bootstrap provider. 7281 type: boolean 7282 conditions: 7283 description: Conditions define the current service state of the MachinePool. 7284 items: 7285 description: Condition defines an observation of a Cluster API resource 7286 operational state. 7287 properties: 7288 lastTransitionTime: 7289 description: Last time the condition transitioned from one status 7290 to another. This should be when the underlying condition changed. 7291 If that is not known, then using the time when the API field 7292 changed is acceptable. 7293 format: date-time 7294 type: string 7295 message: 7296 description: A human readable message indicating details about 7297 the transition. This field may be empty. 7298 type: string 7299 reason: 7300 description: The reason for the condition's last transition 7301 in CamelCase. The specific API may choose whether or not this 7302 field is considered a guaranteed API. This field may not be 7303 empty. 7304 type: string 7305 severity: 7306 description: Severity provides an explicit classification of 7307 Reason code, so the users or machines can immediately understand 7308 the current situation and act accordingly. The Severity field 7309 MUST be set only when Status=False. 7310 type: string 7311 status: 7312 description: Status of the condition, one of True, False, Unknown. 7313 type: string 7314 type: 7315 description: Type of condition in CamelCase or in foo.example.com/CamelCase. 7316 Many .condition.type values are consistent across resources 7317 like Available, but because arbitrary conditions can be useful 7318 (see .node.status.conditions), the ability to deconflict is 7319 important. 7320 type: string 7321 required: 7322 - status 7323 - type 7324 type: object 7325 type: array 7326 failureMessage: 7327 description: FailureMessage indicates that there is a problem reconciling 7328 the state, and will be set to a descriptive error message. 7329 type: string 7330 failureReason: 7331 description: FailureReason indicates that there is a problem reconciling 7332 the state, and will be set to a token value suitable for programmatic 7333 interpretation. 7334 type: string 7335 infrastructureReady: 7336 description: InfrastructureReady is the state of the infrastructure 7337 provider. 7338 type: boolean 7339 nodeRefs: 7340 description: NodeRefs will point to the corresponding Nodes if it 7341 they exist. 7342 items: 7343 description: "ObjectReference contains enough information to let 7344 you inspect or modify the referred object. --- New uses of this 7345 type are discouraged because of difficulty describing its usage 7346 when embedded in APIs. 1. Ignored fields. It includes many fields 7347 which are not generally honored. For instance, ResourceVersion 7348 and FieldPath are both very rarely valid in actual usage. 2. Invalid 7349 usage help. It is impossible to add specific help for individual 7350 usage. In most embedded usages, there are particular restrictions 7351 like, \"must refer only to types A and B\" or \"UID not honored\" 7352 or \"name must be restricted\". Those cannot be well described 7353 when embedded. 3. Inconsistent validation. Because the usages 7354 are different, the validation rules are different by usage, which 7355 makes it hard for users to predict what will happen. 4. The fields 7356 are both imprecise and overly precise. Kind is not a precise 7357 mapping to a URL. This can produce ambiguity during interpretation 7358 and require a REST mapping. In most cases, the dependency is 7359 on the group,resource tuple and the version of the actual struct 7360 is irrelevant. 5. We cannot easily change it. Because this type 7361 is embedded in many locations, updates to this type will affect 7362 numerous schemas. Don't make new APIs embed an underspecified 7363 API type they do not control. \n Instead of using this type, create 7364 a locally provided and used type that is well-focused on your 7365 reference. For example, ServiceReferences for admission registration: 7366 https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 7367 ." 7368 properties: 7369 apiVersion: 7370 description: API version of the referent. 7371 type: string 7372 fieldPath: 7373 description: 'If referring to a piece of an object instead of 7374 an entire object, this string should contain a valid JSON/Go 7375 field access statement, such as desiredState.manifest.containers[2]. 7376 For example, if the object reference is to a container within 7377 a pod, this would take on a value like: "spec.containers{name}" 7378 (where "name" refers to the name of the container that triggered 7379 the event) or if no container name is specified "spec.containers[2]" 7380 (container with index 2 in this pod). This syntax is chosen 7381 only to have some well-defined way of referencing a part of 7382 an object. TODO: this design is not final and this field is 7383 subject to change in the future.' 7384 type: string 7385 kind: 7386 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 7387 type: string 7388 name: 7389 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 7390 type: string 7391 namespace: 7392 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 7393 type: string 7394 resourceVersion: 7395 description: 'Specific resourceVersion to which this reference 7396 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 7397 type: string 7398 uid: 7399 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 7400 type: string 7401 type: object 7402 type: array 7403 observedGeneration: 7404 description: ObservedGeneration is the latest generation observed 7405 by the controller. 7406 format: int64 7407 type: integer 7408 phase: 7409 description: Phase represents the current phase of cluster actuation. 7410 E.g. Pending, Running, Terminating, Failed etc. 7411 type: string 7412 readyReplicas: 7413 description: The number of ready replicas for this MachinePool. A 7414 machine is considered ready when the node has been created and is 7415 "Ready". 7416 format: int32 7417 type: integer 7418 replicas: 7419 description: Replicas is the most recently observed number of replicas. 7420 format: int32 7421 type: integer 7422 unavailableReplicas: 7423 description: Total number of unavailable machine instances targeted 7424 by this machine pool. This is the total number of machine instances 7425 that are still required for the machine pool to have 100% available 7426 capacity. They may either be machine instances that are running 7427 but not yet available or machine instances that still have not been 7428 created. 7429 format: int32 7430 type: integer 7431 type: object 7432 type: object 7433 served: false 7434 storage: false 7435 subresources: 7436 scale: 7437 specReplicasPath: .spec.replicas 7438 statusReplicasPath: .status.replicas 7439 status: {} 7440 - additionalPrinterColumns: 7441 - description: Time duration since creation of MachinePool 7442 jsonPath: .metadata.creationTimestamp 7443 name: Age 7444 type: date 7445 - description: MachinePool replicas count 7446 jsonPath: .status.replicas 7447 name: Replicas 7448 type: string 7449 - description: MachinePool status such as Terminating/Pending/Provisioning/Running/Failed 7450 etc 7451 jsonPath: .status.phase 7452 name: Phase 7453 type: string 7454 - description: Kubernetes version associated with this MachinePool 7455 jsonPath: .spec.template.spec.version 7456 name: Version 7457 type: string 7458 deprecated: true 7459 name: v1alpha4 7460 schema: 7461 openAPIV3Schema: 7462 description: "MachinePool is the Schema for the machinepools API. \n Deprecated: 7463 This type will be removed in one of the next releases." 7464 properties: 7465 apiVersion: 7466 description: 'APIVersion defines the versioned schema of this representation 7467 of an object. Servers should convert recognized schemas to the latest 7468 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 7469 type: string 7470 kind: 7471 description: 'Kind is a string value representing the REST resource this 7472 object represents. Servers may infer this from the endpoint the client 7473 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 7474 type: string 7475 metadata: 7476 type: object 7477 spec: 7478 description: MachinePoolSpec defines the desired state of MachinePool. 7479 properties: 7480 clusterName: 7481 description: ClusterName is the name of the Cluster this object belongs 7482 to. 7483 minLength: 1 7484 type: string 7485 failureDomains: 7486 description: FailureDomains is the list of failure domains this MachinePool 7487 should be attached to. 7488 items: 7489 type: string 7490 type: array 7491 minReadySeconds: 7492 description: Minimum number of seconds for which a newly created machine 7493 instances should be ready. Defaults to 0 (machine instance will 7494 be considered available as soon as it is ready) 7495 format: int32 7496 type: integer 7497 providerIDList: 7498 description: ProviderIDList are the identification IDs of machine 7499 instances provided by the provider. This field must match the provider 7500 IDs as seen on the node objects corresponding to a machine pool's 7501 machine instances. 7502 items: 7503 type: string 7504 type: array 7505 replicas: 7506 description: Number of desired machines. Defaults to 1. This is a 7507 pointer to distinguish between explicit zero and not specified. 7508 format: int32 7509 type: integer 7510 template: 7511 description: Template describes the machines that will be created. 7512 properties: 7513 metadata: 7514 description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata' 7515 properties: 7516 annotations: 7517 additionalProperties: 7518 type: string 7519 description: 'Annotations is an unstructured key value map 7520 stored with a resource that may be set by external tools 7521 to store and retrieve arbitrary metadata. They are not queryable 7522 and should be preserved when modifying objects. More info: 7523 http://kubernetes.io/docs/user-guide/annotations' 7524 type: object 7525 labels: 7526 additionalProperties: 7527 type: string 7528 description: 'Map of string keys and values that can be used 7529 to organize and categorize (scope and select) objects. May 7530 match selectors of replication controllers and services. 7531 More info: http://kubernetes.io/docs/user-guide/labels' 7532 type: object 7533 type: object 7534 spec: 7535 description: 'Specification of the desired behavior of the machine. 7536 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' 7537 properties: 7538 bootstrap: 7539 description: Bootstrap is a reference to a local struct which 7540 encapsulates fields to configure the Machine’s bootstrapping 7541 mechanism. 7542 properties: 7543 configRef: 7544 description: ConfigRef is a reference to a bootstrap provider-specific 7545 resource that holds configuration details. The reference 7546 is optional to allow users/operators to specify Bootstrap.DataSecretName 7547 without the need of a controller. 7548 properties: 7549 apiVersion: 7550 description: API version of the referent. 7551 type: string 7552 fieldPath: 7553 description: 'If referring to a piece of an object 7554 instead of an entire object, this string should 7555 contain a valid JSON/Go field access statement, 7556 such as desiredState.manifest.containers[2]. For 7557 example, if the object reference is to a container 7558 within a pod, this would take on a value like: "spec.containers{name}" 7559 (where "name" refers to the name of the container 7560 that triggered the event) or if no container name 7561 is specified "spec.containers[2]" (container with 7562 index 2 in this pod). This syntax is chosen only 7563 to have some well-defined way of referencing a part 7564 of an object. TODO: this design is not final and 7565 this field is subject to change in the future.' 7566 type: string 7567 kind: 7568 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 7569 type: string 7570 name: 7571 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 7572 type: string 7573 namespace: 7574 description: 'Namespace of the referent. More info: 7575 https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 7576 type: string 7577 resourceVersion: 7578 description: 'Specific resourceVersion to which this 7579 reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 7580 type: string 7581 uid: 7582 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 7583 type: string 7584 type: object 7585 x-kubernetes-map-type: atomic 7586 dataSecretName: 7587 description: DataSecretName is the name of the secret 7588 that stores the bootstrap data script. If nil, the Machine 7589 should remain in the Pending state. 7590 type: string 7591 type: object 7592 clusterName: 7593 description: ClusterName is the name of the Cluster this object 7594 belongs to. 7595 minLength: 1 7596 type: string 7597 failureDomain: 7598 description: FailureDomain is the failure domain the machine 7599 will be created in. Must match a key in the FailureDomains 7600 map stored on the cluster object. 7601 type: string 7602 infrastructureRef: 7603 description: InfrastructureRef is a required reference to 7604 a custom resource offered by an infrastructure provider. 7605 properties: 7606 apiVersion: 7607 description: API version of the referent. 7608 type: string 7609 fieldPath: 7610 description: 'If referring to a piece of an object instead 7611 of an entire object, this string should contain a valid 7612 JSON/Go field access statement, such as desiredState.manifest.containers[2]. 7613 For example, if the object reference is to a container 7614 within a pod, this would take on a value like: "spec.containers{name}" 7615 (where "name" refers to the name of the container that 7616 triggered the event) or if no container name is specified 7617 "spec.containers[2]" (container with index 2 in this 7618 pod). This syntax is chosen only to have some well-defined 7619 way of referencing a part of an object. TODO: this design 7620 is not final and this field is subject to change in 7621 the future.' 7622 type: string 7623 kind: 7624 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 7625 type: string 7626 name: 7627 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 7628 type: string 7629 namespace: 7630 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 7631 type: string 7632 resourceVersion: 7633 description: 'Specific resourceVersion to which this reference 7634 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 7635 type: string 7636 uid: 7637 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 7638 type: string 7639 type: object 7640 x-kubernetes-map-type: atomic 7641 nodeDrainTimeout: 7642 description: 'NodeDrainTimeout is the total amount of time 7643 that the controller will spend on draining a node. The default 7644 value is 0, meaning that the node can be drained without 7645 any time limitations. NOTE: NodeDrainTimeout is different 7646 from `kubectl drain --timeout`' 7647 type: string 7648 providerID: 7649 description: ProviderID is the identification ID of the machine 7650 provided by the provider. This field must match the provider 7651 ID as seen on the node object corresponding to this machine. 7652 This field is required by higher level consumers of cluster-api. 7653 Example use case is cluster autoscaler with cluster-api 7654 as provider. Clean-up logic in the autoscaler compares machines 7655 to nodes to find out machines at provider which could not 7656 get registered as Kubernetes nodes. With cluster-api as 7657 a generic out-of-tree provider for autoscaler, this field 7658 is required by autoscaler to be able to have a provider 7659 view of the list of machines. Another list of nodes is queried 7660 from the k8s apiserver and then a comparison is done to 7661 find out unregistered machines and are marked for delete. 7662 This field will be set by the actuators and consumed by 7663 higher level entities like autoscaler that will be interfacing 7664 with cluster-api as generic provider. 7665 type: string 7666 version: 7667 description: Version defines the desired Kubernetes version. 7668 This field is meant to be optionally used by bootstrap providers. 7669 type: string 7670 required: 7671 - bootstrap 7672 - clusterName 7673 - infrastructureRef 7674 type: object 7675 type: object 7676 required: 7677 - clusterName 7678 - template 7679 type: object 7680 status: 7681 description: MachinePoolStatus defines the observed state of MachinePool. 7682 properties: 7683 availableReplicas: 7684 description: The number of available replicas (ready for at least 7685 minReadySeconds) for this MachinePool. 7686 format: int32 7687 type: integer 7688 bootstrapReady: 7689 description: BootstrapReady is the state of the bootstrap provider. 7690 type: boolean 7691 conditions: 7692 description: Conditions define the current service state of the MachinePool. 7693 items: 7694 description: Condition defines an observation of a Cluster API resource 7695 operational state. 7696 properties: 7697 lastTransitionTime: 7698 description: Last time the condition transitioned from one status 7699 to another. This should be when the underlying condition changed. 7700 If that is not known, then using the time when the API field 7701 changed is acceptable. 7702 format: date-time 7703 type: string 7704 message: 7705 description: A human readable message indicating details about 7706 the transition. This field may be empty. 7707 type: string 7708 reason: 7709 description: The reason for the condition's last transition 7710 in CamelCase. The specific API may choose whether or not this 7711 field is considered a guaranteed API. This field may not be 7712 empty. 7713 type: string 7714 severity: 7715 description: Severity provides an explicit classification of 7716 Reason code, so the users or machines can immediately understand 7717 the current situation and act accordingly. The Severity field 7718 MUST be set only when Status=False. 7719 type: string 7720 status: 7721 description: Status of the condition, one of True, False, Unknown. 7722 type: string 7723 type: 7724 description: Type of condition in CamelCase or in foo.example.com/CamelCase. 7725 Many .condition.type values are consistent across resources 7726 like Available, but because arbitrary conditions can be useful 7727 (see .node.status.conditions), the ability to deconflict is 7728 important. 7729 type: string 7730 required: 7731 - status 7732 - type 7733 type: object 7734 type: array 7735 failureMessage: 7736 description: FailureMessage indicates that there is a problem reconciling 7737 the state, and will be set to a descriptive error message. 7738 type: string 7739 failureReason: 7740 description: FailureReason indicates that there is a problem reconciling 7741 the state, and will be set to a token value suitable for programmatic 7742 interpretation. 7743 type: string 7744 infrastructureReady: 7745 description: InfrastructureReady is the state of the infrastructure 7746 provider. 7747 type: boolean 7748 nodeRefs: 7749 description: NodeRefs will point to the corresponding Nodes if it 7750 they exist. 7751 items: 7752 description: "ObjectReference contains enough information to let 7753 you inspect or modify the referred object. --- New uses of this 7754 type are discouraged because of difficulty describing its usage 7755 when embedded in APIs. 1. Ignored fields. It includes many fields 7756 which are not generally honored. For instance, ResourceVersion 7757 and FieldPath are both very rarely valid in actual usage. 2. Invalid 7758 usage help. It is impossible to add specific help for individual 7759 usage. In most embedded usages, there are particular restrictions 7760 like, \"must refer only to types A and B\" or \"UID not honored\" 7761 or \"name must be restricted\". Those cannot be well described 7762 when embedded. 3. Inconsistent validation. Because the usages 7763 are different, the validation rules are different by usage, which 7764 makes it hard for users to predict what will happen. 4. The fields 7765 are both imprecise and overly precise. Kind is not a precise 7766 mapping to a URL. This can produce ambiguity during interpretation 7767 and require a REST mapping. In most cases, the dependency is 7768 on the group,resource tuple and the version of the actual struct 7769 is irrelevant. 5. We cannot easily change it. Because this type 7770 is embedded in many locations, updates to this type will affect 7771 numerous schemas. Don't make new APIs embed an underspecified 7772 API type they do not control. \n Instead of using this type, create 7773 a locally provided and used type that is well-focused on your 7774 reference. For example, ServiceReferences for admission registration: 7775 https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 7776 ." 7777 properties: 7778 apiVersion: 7779 description: API version of the referent. 7780 type: string 7781 fieldPath: 7782 description: 'If referring to a piece of an object instead of 7783 an entire object, this string should contain a valid JSON/Go 7784 field access statement, such as desiredState.manifest.containers[2]. 7785 For example, if the object reference is to a container within 7786 a pod, this would take on a value like: "spec.containers{name}" 7787 (where "name" refers to the name of the container that triggered 7788 the event) or if no container name is specified "spec.containers[2]" 7789 (container with index 2 in this pod). This syntax is chosen 7790 only to have some well-defined way of referencing a part of 7791 an object. TODO: this design is not final and this field is 7792 subject to change in the future.' 7793 type: string 7794 kind: 7795 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 7796 type: string 7797 name: 7798 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 7799 type: string 7800 namespace: 7801 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 7802 type: string 7803 resourceVersion: 7804 description: 'Specific resourceVersion to which this reference 7805 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 7806 type: string 7807 uid: 7808 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 7809 type: string 7810 type: object 7811 type: array 7812 observedGeneration: 7813 description: ObservedGeneration is the latest generation observed 7814 by the controller. 7815 format: int64 7816 type: integer 7817 phase: 7818 description: Phase represents the current phase of cluster actuation. 7819 E.g. Pending, Running, Terminating, Failed etc. 7820 type: string 7821 readyReplicas: 7822 description: The number of ready replicas for this MachinePool. A 7823 machine is considered ready when the node has been created and is 7824 "Ready". 7825 format: int32 7826 type: integer 7827 replicas: 7828 description: Replicas is the most recently observed number of replicas. 7829 format: int32 7830 type: integer 7831 unavailableReplicas: 7832 description: Total number of unavailable machine instances targeted 7833 by this machine pool. This is the total number of machine instances 7834 that are still required for the machine pool to have 100% available 7835 capacity. They may either be machine instances that are running 7836 but not yet available or machine instances that still have not been 7837 created. 7838 format: int32 7839 type: integer 7840 type: object 7841 type: object 7842 served: true 7843 storage: false 7844 subresources: 7845 scale: 7846 specReplicasPath: .spec.replicas 7847 statusReplicasPath: .status.replicas 7848 status: {} 7849 - additionalPrinterColumns: 7850 - description: Cluster 7851 jsonPath: .spec.clusterName 7852 name: Cluster 7853 type: string 7854 - description: Total number of machines desired by this MachinePool 7855 jsonPath: .spec.replicas 7856 name: Desired 7857 priority: 10 7858 type: integer 7859 - description: MachinePool replicas count 7860 jsonPath: .status.replicas 7861 name: Replicas 7862 type: string 7863 - description: MachinePool status such as Terminating/Pending/Provisioning/Running/Failed 7864 etc 7865 jsonPath: .status.phase 7866 name: Phase 7867 type: string 7868 - description: Time duration since creation of MachinePool 7869 jsonPath: .metadata.creationTimestamp 7870 name: Age 7871 type: date 7872 - description: Kubernetes version associated with this MachinePool 7873 jsonPath: .spec.template.spec.version 7874 name: Version 7875 type: string 7876 name: v1beta1 7877 schema: 7878 openAPIV3Schema: 7879 description: MachinePool is the Schema for the machinepools API. 7880 properties: 7881 apiVersion: 7882 description: 'APIVersion defines the versioned schema of this representation 7883 of an object. Servers should convert recognized schemas to the latest 7884 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 7885 type: string 7886 kind: 7887 description: 'Kind is a string value representing the REST resource this 7888 object represents. Servers may infer this from the endpoint the client 7889 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 7890 type: string 7891 metadata: 7892 type: object 7893 spec: 7894 description: MachinePoolSpec defines the desired state of MachinePool. 7895 properties: 7896 clusterName: 7897 description: ClusterName is the name of the Cluster this object belongs 7898 to. 7899 minLength: 1 7900 type: string 7901 failureDomains: 7902 description: FailureDomains is the list of failure domains this MachinePool 7903 should be attached to. 7904 items: 7905 type: string 7906 type: array 7907 minReadySeconds: 7908 description: 'Minimum number of seconds for which a newly created 7909 machine instances should be ready. Defaults to 0 (machine instance 7910 will be considered available as soon as it is ready) NOTE: No logic 7911 is implemented for this field and it currently has no behaviour.' 7912 format: int32 7913 type: integer 7914 providerIDList: 7915 description: ProviderIDList are the identification IDs of machine 7916 instances provided by the provider. This field must match the provider 7917 IDs as seen on the node objects corresponding to a machine pool's 7918 machine instances. 7919 items: 7920 type: string 7921 type: array 7922 replicas: 7923 description: Number of desired machines. Defaults to 1. This is a 7924 pointer to distinguish between explicit zero and not specified. 7925 format: int32 7926 type: integer 7927 template: 7928 description: Template describes the machines that will be created. 7929 properties: 7930 metadata: 7931 description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata' 7932 properties: 7933 annotations: 7934 additionalProperties: 7935 type: string 7936 description: 'Annotations is an unstructured key value map 7937 stored with a resource that may be set by external tools 7938 to store and retrieve arbitrary metadata. They are not queryable 7939 and should be preserved when modifying objects. More info: 7940 http://kubernetes.io/docs/user-guide/annotations' 7941 type: object 7942 labels: 7943 additionalProperties: 7944 type: string 7945 description: 'Map of string keys and values that can be used 7946 to organize and categorize (scope and select) objects. May 7947 match selectors of replication controllers and services. 7948 More info: http://kubernetes.io/docs/user-guide/labels' 7949 type: object 7950 type: object 7951 spec: 7952 description: 'Specification of the desired behavior of the machine. 7953 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' 7954 properties: 7955 bootstrap: 7956 description: Bootstrap is a reference to a local struct which 7957 encapsulates fields to configure the Machine’s bootstrapping 7958 mechanism. 7959 properties: 7960 configRef: 7961 description: ConfigRef is a reference to a bootstrap provider-specific 7962 resource that holds configuration details. The reference 7963 is optional to allow users/operators to specify Bootstrap.DataSecretName 7964 without the need of a controller. 7965 properties: 7966 apiVersion: 7967 description: API version of the referent. 7968 type: string 7969 fieldPath: 7970 description: 'If referring to a piece of an object 7971 instead of an entire object, this string should 7972 contain a valid JSON/Go field access statement, 7973 such as desiredState.manifest.containers[2]. For 7974 example, if the object reference is to a container 7975 within a pod, this would take on a value like: "spec.containers{name}" 7976 (where "name" refers to the name of the container 7977 that triggered the event) or if no container name 7978 is specified "spec.containers[2]" (container with 7979 index 2 in this pod). This syntax is chosen only 7980 to have some well-defined way of referencing a part 7981 of an object. TODO: this design is not final and 7982 this field is subject to change in the future.' 7983 type: string 7984 kind: 7985 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 7986 type: string 7987 name: 7988 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 7989 type: string 7990 namespace: 7991 description: 'Namespace of the referent. More info: 7992 https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 7993 type: string 7994 resourceVersion: 7995 description: 'Specific resourceVersion to which this 7996 reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 7997 type: string 7998 uid: 7999 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 8000 type: string 8001 type: object 8002 x-kubernetes-map-type: atomic 8003 dataSecretName: 8004 description: DataSecretName is the name of the secret 8005 that stores the bootstrap data script. If nil, the Machine 8006 should remain in the Pending state. 8007 type: string 8008 type: object 8009 clusterName: 8010 description: ClusterName is the name of the Cluster this object 8011 belongs to. 8012 minLength: 1 8013 type: string 8014 failureDomain: 8015 description: FailureDomain is the failure domain the machine 8016 will be created in. Must match a key in the FailureDomains 8017 map stored on the cluster object. 8018 type: string 8019 infrastructureRef: 8020 description: InfrastructureRef is a required reference to 8021 a custom resource offered by an infrastructure provider. 8022 properties: 8023 apiVersion: 8024 description: API version of the referent. 8025 type: string 8026 fieldPath: 8027 description: 'If referring to a piece of an object instead 8028 of an entire object, this string should contain a valid 8029 JSON/Go field access statement, such as desiredState.manifest.containers[2]. 8030 For example, if the object reference is to a container 8031 within a pod, this would take on a value like: "spec.containers{name}" 8032 (where "name" refers to the name of the container that 8033 triggered the event) or if no container name is specified 8034 "spec.containers[2]" (container with index 2 in this 8035 pod). This syntax is chosen only to have some well-defined 8036 way of referencing a part of an object. TODO: this design 8037 is not final and this field is subject to change in 8038 the future.' 8039 type: string 8040 kind: 8041 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 8042 type: string 8043 name: 8044 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 8045 type: string 8046 namespace: 8047 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 8048 type: string 8049 resourceVersion: 8050 description: 'Specific resourceVersion to which this reference 8051 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 8052 type: string 8053 uid: 8054 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 8055 type: string 8056 type: object 8057 x-kubernetes-map-type: atomic 8058 nodeDeletionTimeout: 8059 description: NodeDeletionTimeout defines how long the controller 8060 will attempt to delete the Node that the Machine hosts after 8061 the Machine is marked for deletion. A duration of 0 will 8062 retry deletion indefinitely. Defaults to 10 seconds. 8063 type: string 8064 nodeDrainTimeout: 8065 description: 'NodeDrainTimeout is the total amount of time 8066 that the controller will spend on draining a node. The default 8067 value is 0, meaning that the node can be drained without 8068 any time limitations. NOTE: NodeDrainTimeout is different 8069 from `kubectl drain --timeout`' 8070 type: string 8071 nodeVolumeDetachTimeout: 8072 description: NodeVolumeDetachTimeout is the total amount of 8073 time that the controller will spend on waiting for all volumes 8074 to be detached. The default value is 0, meaning that the 8075 volumes can be detached without any time limitations. 8076 type: string 8077 providerID: 8078 description: ProviderID is the identification ID of the machine 8079 provided by the provider. This field must match the provider 8080 ID as seen on the node object corresponding to this machine. 8081 This field is required by higher level consumers of cluster-api. 8082 Example use case is cluster autoscaler with cluster-api 8083 as provider. Clean-up logic in the autoscaler compares machines 8084 to nodes to find out machines at provider which could not 8085 get registered as Kubernetes nodes. With cluster-api as 8086 a generic out-of-tree provider for autoscaler, this field 8087 is required by autoscaler to be able to have a provider 8088 view of the list of machines. Another list of nodes is queried 8089 from the k8s apiserver and then a comparison is done to 8090 find out unregistered machines and are marked for delete. 8091 This field will be set by the actuators and consumed by 8092 higher level entities like autoscaler that will be interfacing 8093 with cluster-api as generic provider. 8094 type: string 8095 version: 8096 description: Version defines the desired Kubernetes version. 8097 This field is meant to be optionally used by bootstrap providers. 8098 type: string 8099 required: 8100 - bootstrap 8101 - clusterName 8102 - infrastructureRef 8103 type: object 8104 type: object 8105 required: 8106 - clusterName 8107 - template 8108 type: object 8109 status: 8110 description: MachinePoolStatus defines the observed state of MachinePool. 8111 properties: 8112 availableReplicas: 8113 description: The number of available replicas (ready for at least 8114 minReadySeconds) for this MachinePool. 8115 format: int32 8116 type: integer 8117 bootstrapReady: 8118 description: BootstrapReady is the state of the bootstrap provider. 8119 type: boolean 8120 conditions: 8121 description: Conditions define the current service state of the MachinePool. 8122 items: 8123 description: Condition defines an observation of a Cluster API resource 8124 operational state. 8125 properties: 8126 lastTransitionTime: 8127 description: Last time the condition transitioned from one status 8128 to another. This should be when the underlying condition changed. 8129 If that is not known, then using the time when the API field 8130 changed is acceptable. 8131 format: date-time 8132 type: string 8133 message: 8134 description: A human readable message indicating details about 8135 the transition. This field may be empty. 8136 type: string 8137 reason: 8138 description: The reason for the condition's last transition 8139 in CamelCase. The specific API may choose whether or not this 8140 field is considered a guaranteed API. This field may not be 8141 empty. 8142 type: string 8143 severity: 8144 description: Severity provides an explicit classification of 8145 Reason code, so the users or machines can immediately understand 8146 the current situation and act accordingly. The Severity field 8147 MUST be set only when Status=False. 8148 type: string 8149 status: 8150 description: Status of the condition, one of True, False, Unknown. 8151 type: string 8152 type: 8153 description: Type of condition in CamelCase or in foo.example.com/CamelCase. 8154 Many .condition.type values are consistent across resources 8155 like Available, but because arbitrary conditions can be useful 8156 (see .node.status.conditions), the ability to deconflict is 8157 important. 8158 type: string 8159 required: 8160 - lastTransitionTime 8161 - status 8162 - type 8163 type: object 8164 type: array 8165 failureMessage: 8166 description: FailureMessage indicates that there is a problem reconciling 8167 the state, and will be set to a descriptive error message. 8168 type: string 8169 failureReason: 8170 description: FailureReason indicates that there is a problem reconciling 8171 the state, and will be set to a token value suitable for programmatic 8172 interpretation. 8173 type: string 8174 infrastructureReady: 8175 description: InfrastructureReady is the state of the infrastructure 8176 provider. 8177 type: boolean 8178 nodeRefs: 8179 description: NodeRefs will point to the corresponding Nodes if it 8180 they exist. 8181 items: 8182 description: "ObjectReference contains enough information to let 8183 you inspect or modify the referred object. --- New uses of this 8184 type are discouraged because of difficulty describing its usage 8185 when embedded in APIs. 1. Ignored fields. It includes many fields 8186 which are not generally honored. For instance, ResourceVersion 8187 and FieldPath are both very rarely valid in actual usage. 2. Invalid 8188 usage help. It is impossible to add specific help for individual 8189 usage. In most embedded usages, there are particular restrictions 8190 like, \"must refer only to types A and B\" or \"UID not honored\" 8191 or \"name must be restricted\". Those cannot be well described 8192 when embedded. 3. Inconsistent validation. Because the usages 8193 are different, the validation rules are different by usage, which 8194 makes it hard for users to predict what will happen. 4. The fields 8195 are both imprecise and overly precise. Kind is not a precise 8196 mapping to a URL. This can produce ambiguity during interpretation 8197 and require a REST mapping. In most cases, the dependency is 8198 on the group,resource tuple and the version of the actual struct 8199 is irrelevant. 5. We cannot easily change it. Because this type 8200 is embedded in many locations, updates to this type will affect 8201 numerous schemas. Don't make new APIs embed an underspecified 8202 API type they do not control. \n Instead of using this type, create 8203 a locally provided and used type that is well-focused on your 8204 reference. For example, ServiceReferences for admission registration: 8205 https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 8206 ." 8207 properties: 8208 apiVersion: 8209 description: API version of the referent. 8210 type: string 8211 fieldPath: 8212 description: 'If referring to a piece of an object instead of 8213 an entire object, this string should contain a valid JSON/Go 8214 field access statement, such as desiredState.manifest.containers[2]. 8215 For example, if the object reference is to a container within 8216 a pod, this would take on a value like: "spec.containers{name}" 8217 (where "name" refers to the name of the container that triggered 8218 the event) or if no container name is specified "spec.containers[2]" 8219 (container with index 2 in this pod). This syntax is chosen 8220 only to have some well-defined way of referencing a part of 8221 an object. TODO: this design is not final and this field is 8222 subject to change in the future.' 8223 type: string 8224 kind: 8225 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 8226 type: string 8227 name: 8228 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 8229 type: string 8230 namespace: 8231 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 8232 type: string 8233 resourceVersion: 8234 description: 'Specific resourceVersion to which this reference 8235 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 8236 type: string 8237 uid: 8238 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 8239 type: string 8240 type: object 8241 type: array 8242 observedGeneration: 8243 description: ObservedGeneration is the latest generation observed 8244 by the controller. 8245 format: int64 8246 type: integer 8247 phase: 8248 description: Phase represents the current phase of cluster actuation. 8249 E.g. Pending, Running, Terminating, Failed etc. 8250 type: string 8251 readyReplicas: 8252 description: The number of ready replicas for this MachinePool. A 8253 machine is considered ready when the node has been created and is 8254 "Ready". 8255 format: int32 8256 type: integer 8257 replicas: 8258 description: Replicas is the most recently observed number of replicas. 8259 format: int32 8260 type: integer 8261 unavailableReplicas: 8262 description: Total number of unavailable machine instances targeted 8263 by this machine pool. This is the total number of machine instances 8264 that are still required for the machine pool to have 100% available 8265 capacity. They may either be machine instances that are running 8266 but not yet available or machine instances that still have not been 8267 created. 8268 format: int32 8269 type: integer 8270 type: object 8271 type: object 8272 served: true 8273 storage: true 8274 subresources: 8275 scale: 8276 specReplicasPath: .spec.replicas 8277 statusReplicasPath: .status.replicas 8278 status: {} 8279 --- 8280 apiVersion: apiextensions.k8s.io/v1 8281 kind: CustomResourceDefinition 8282 metadata: 8283 annotations: 8284 cert-manager.io/inject-ca-from: capi-system/capi-serving-cert 8285 controller-gen.kubebuilder.io/version: v0.12.0 8286 labels: 8287 cluster.x-k8s.io/provider: cluster-api 8288 name: machines.cluster.x-k8s.io 8289 spec: 8290 conversion: 8291 strategy: Webhook 8292 webhook: 8293 clientConfig: 8294 caBundle: Cg== 8295 service: 8296 name: capi-webhook-service 8297 namespace: capi-system 8298 path: /convert 8299 conversionReviewVersions: 8300 - v1 8301 - v1beta1 8302 group: cluster.x-k8s.io 8303 names: 8304 categories: 8305 - cluster-api 8306 kind: Machine 8307 listKind: MachineList 8308 plural: machines 8309 shortNames: 8310 - ma 8311 singular: machine 8312 scope: Namespaced 8313 versions: 8314 - additionalPrinterColumns: 8315 - description: Provider ID 8316 jsonPath: .spec.providerID 8317 name: ProviderID 8318 type: string 8319 - description: Machine status such as Terminating/Pending/Running/Failed etc 8320 jsonPath: .status.phase 8321 name: Phase 8322 type: string 8323 - description: Kubernetes version associated with this Machine 8324 jsonPath: .spec.version 8325 name: Version 8326 type: string 8327 - description: Node name associated with this machine 8328 jsonPath: .status.nodeRef.name 8329 name: NodeName 8330 priority: 1 8331 type: string 8332 deprecated: true 8333 name: v1alpha3 8334 schema: 8335 openAPIV3Schema: 8336 description: "Machine is the Schema for the machines API. \n Deprecated: This 8337 type will be removed in one of the next releases." 8338 properties: 8339 apiVersion: 8340 description: 'APIVersion defines the versioned schema of this representation 8341 of an object. Servers should convert recognized schemas to the latest 8342 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 8343 type: string 8344 kind: 8345 description: 'Kind is a string value representing the REST resource this 8346 object represents. Servers may infer this from the endpoint the client 8347 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 8348 type: string 8349 metadata: 8350 type: object 8351 spec: 8352 description: MachineSpec defines the desired state of Machine. 8353 properties: 8354 bootstrap: 8355 description: Bootstrap is a reference to a local struct which encapsulates 8356 fields to configure the Machine’s bootstrapping mechanism. 8357 properties: 8358 configRef: 8359 description: ConfigRef is a reference to a bootstrap provider-specific 8360 resource that holds configuration details. The reference is 8361 optional to allow users/operators to specify Bootstrap.Data 8362 without the need of a controller. 8363 properties: 8364 apiVersion: 8365 description: API version of the referent. 8366 type: string 8367 fieldPath: 8368 description: 'If referring to a piece of an object instead 8369 of an entire object, this string should contain a valid 8370 JSON/Go field access statement, such as desiredState.manifest.containers[2]. 8371 For example, if the object reference is to a container within 8372 a pod, this would take on a value like: "spec.containers{name}" 8373 (where "name" refers to the name of the container that triggered 8374 the event) or if no container name is specified "spec.containers[2]" 8375 (container with index 2 in this pod). This syntax is chosen 8376 only to have some well-defined way of referencing a part 8377 of an object. TODO: this design is not final and this field 8378 is subject to change in the future.' 8379 type: string 8380 kind: 8381 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 8382 type: string 8383 name: 8384 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 8385 type: string 8386 namespace: 8387 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 8388 type: string 8389 resourceVersion: 8390 description: 'Specific resourceVersion to which this reference 8391 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 8392 type: string 8393 uid: 8394 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 8395 type: string 8396 type: object 8397 x-kubernetes-map-type: atomic 8398 data: 8399 description: "Data contains the bootstrap data, such as cloud-init 8400 details scripts. If nil, the Machine should remain in the Pending 8401 state. \n Deprecated: Switch to DataSecretName." 8402 type: string 8403 dataSecretName: 8404 description: DataSecretName is the name of the secret that stores 8405 the bootstrap data script. If nil, the Machine should remain 8406 in the Pending state. 8407 type: string 8408 type: object 8409 clusterName: 8410 description: ClusterName is the name of the Cluster this object belongs 8411 to. 8412 minLength: 1 8413 type: string 8414 failureDomain: 8415 description: FailureDomain is the failure domain the machine will 8416 be created in. Must match a key in the FailureDomains map stored 8417 on the cluster object. 8418 type: string 8419 infrastructureRef: 8420 description: InfrastructureRef is a required reference to a custom 8421 resource offered by an infrastructure provider. 8422 properties: 8423 apiVersion: 8424 description: API version of the referent. 8425 type: string 8426 fieldPath: 8427 description: 'If referring to a piece of an object instead of 8428 an entire object, this string should contain a valid JSON/Go 8429 field access statement, such as desiredState.manifest.containers[2]. 8430 For example, if the object reference is to a container within 8431 a pod, this would take on a value like: "spec.containers{name}" 8432 (where "name" refers to the name of the container that triggered 8433 the event) or if no container name is specified "spec.containers[2]" 8434 (container with index 2 in this pod). This syntax is chosen 8435 only to have some well-defined way of referencing a part of 8436 an object. TODO: this design is not final and this field is 8437 subject to change in the future.' 8438 type: string 8439 kind: 8440 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 8441 type: string 8442 name: 8443 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 8444 type: string 8445 namespace: 8446 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 8447 type: string 8448 resourceVersion: 8449 description: 'Specific resourceVersion to which this reference 8450 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 8451 type: string 8452 uid: 8453 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 8454 type: string 8455 type: object 8456 x-kubernetes-map-type: atomic 8457 nodeDrainTimeout: 8458 description: 'NodeDrainTimeout is the total amount of time that the 8459 controller will spend on draining a node. The default value is 0, 8460 meaning that the node can be drained without any time limitations. 8461 NOTE: NodeDrainTimeout is different from `kubectl drain --timeout`' 8462 type: string 8463 providerID: 8464 description: ProviderID is the identification ID of the machine provided 8465 by the provider. This field must match the provider ID as seen on 8466 the node object corresponding to this machine. This field is required 8467 by higher level consumers of cluster-api. Example use case is cluster 8468 autoscaler with cluster-api as provider. Clean-up logic in the autoscaler 8469 compares machines to nodes to find out machines at provider which 8470 could not get registered as Kubernetes nodes. With cluster-api as 8471 a generic out-of-tree provider for autoscaler, this field is required 8472 by autoscaler to be able to have a provider view of the list of 8473 machines. Another list of nodes is queried from the k8s apiserver 8474 and then a comparison is done to find out unregistered machines 8475 and are marked for delete. This field will be set by the actuators 8476 and consumed by higher level entities like autoscaler that will 8477 be interfacing with cluster-api as generic provider. 8478 type: string 8479 version: 8480 description: Version defines the desired Kubernetes version. This 8481 field is meant to be optionally used by bootstrap providers. 8482 type: string 8483 required: 8484 - bootstrap 8485 - clusterName 8486 - infrastructureRef 8487 type: object 8488 status: 8489 description: MachineStatus defines the observed state of Machine. 8490 properties: 8491 addresses: 8492 description: Addresses is a list of addresses assigned to the machine. 8493 This field is copied from the infrastructure provider reference. 8494 items: 8495 description: MachineAddress contains information for the node's 8496 address. 8497 properties: 8498 address: 8499 description: The machine address. 8500 type: string 8501 type: 8502 description: Machine address type, one of Hostname, ExternalIP 8503 or InternalIP. 8504 type: string 8505 required: 8506 - address 8507 - type 8508 type: object 8509 type: array 8510 bootstrapReady: 8511 description: BootstrapReady is the state of the bootstrap provider. 8512 type: boolean 8513 conditions: 8514 description: Conditions defines current service state of the Machine. 8515 items: 8516 description: Condition defines an observation of a Cluster API resource 8517 operational state. 8518 properties: 8519 lastTransitionTime: 8520 description: Last time the condition transitioned from one status 8521 to another. This should be when the underlying condition changed. 8522 If that is not known, then using the time when the API field 8523 changed is acceptable. 8524 format: date-time 8525 type: string 8526 message: 8527 description: A human readable message indicating details about 8528 the transition. This field may be empty. 8529 type: string 8530 reason: 8531 description: The reason for the condition's last transition 8532 in CamelCase. The specific API may choose whether or not this 8533 field is considered a guaranteed API. This field may not be 8534 empty. 8535 type: string 8536 severity: 8537 description: Severity provides an explicit classification of 8538 Reason code, so the users or machines can immediately understand 8539 the current situation and act accordingly. The Severity field 8540 MUST be set only when Status=False. 8541 type: string 8542 status: 8543 description: Status of the condition, one of True, False, Unknown. 8544 type: string 8545 type: 8546 description: Type of condition in CamelCase or in foo.example.com/CamelCase. 8547 Many .condition.type values are consistent across resources 8548 like Available, but because arbitrary conditions can be useful 8549 (see .node.status.conditions), the ability to deconflict is 8550 important. 8551 type: string 8552 required: 8553 - status 8554 - type 8555 type: object 8556 type: array 8557 failureMessage: 8558 description: "FailureMessage will be set in the event that there is 8559 a terminal problem reconciling the Machine and will contain a more 8560 verbose string suitable for logging and human consumption. \n This 8561 field should not be set for transitive errors that a controller 8562 faces that are expected to be fixed automatically over time (like 8563 service outages), but instead indicate that something is fundamentally 8564 wrong with the Machine's spec or the configuration of the controller, 8565 and that manual intervention is required. Examples of terminal errors 8566 would be invalid combinations of settings in the spec, values that 8567 are unsupported by the controller, or the responsible controller 8568 itself being critically misconfigured. \n Any transient errors that 8569 occur during the reconciliation of Machines can be added as events 8570 to the Machine object and/or logged in the controller's output." 8571 type: string 8572 failureReason: 8573 description: "FailureReason will be set in the event that there is 8574 a terminal problem reconciling the Machine and will contain a succinct 8575 value suitable for machine interpretation. \n This field should 8576 not be set for transitive errors that a controller faces that are 8577 expected to be fixed automatically over time (like service outages), 8578 but instead indicate that something is fundamentally wrong with 8579 the Machine's spec or the configuration of the controller, and that 8580 manual intervention is required. Examples of terminal errors would 8581 be invalid combinations of settings in the spec, values that are 8582 unsupported by the controller, or the responsible controller itself 8583 being critically misconfigured. \n Any transient errors that occur 8584 during the reconciliation of Machines can be added as events to 8585 the Machine object and/or logged in the controller's output." 8586 type: string 8587 infrastructureReady: 8588 description: InfrastructureReady is the state of the infrastructure 8589 provider. 8590 type: boolean 8591 lastUpdated: 8592 description: LastUpdated identifies when the phase of the Machine 8593 last transitioned. 8594 format: date-time 8595 type: string 8596 nodeRef: 8597 description: NodeRef will point to the corresponding Node if it exists. 8598 properties: 8599 apiVersion: 8600 description: API version of the referent. 8601 type: string 8602 fieldPath: 8603 description: 'If referring to a piece of an object instead of 8604 an entire object, this string should contain a valid JSON/Go 8605 field access statement, such as desiredState.manifest.containers[2]. 8606 For example, if the object reference is to a container within 8607 a pod, this would take on a value like: "spec.containers{name}" 8608 (where "name" refers to the name of the container that triggered 8609 the event) or if no container name is specified "spec.containers[2]" 8610 (container with index 2 in this pod). This syntax is chosen 8611 only to have some well-defined way of referencing a part of 8612 an object. TODO: this design is not final and this field is 8613 subject to change in the future.' 8614 type: string 8615 kind: 8616 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 8617 type: string 8618 name: 8619 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 8620 type: string 8621 namespace: 8622 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 8623 type: string 8624 resourceVersion: 8625 description: 'Specific resourceVersion to which this reference 8626 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 8627 type: string 8628 uid: 8629 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 8630 type: string 8631 type: object 8632 x-kubernetes-map-type: atomic 8633 observedGeneration: 8634 description: ObservedGeneration is the latest generation observed 8635 by the controller. 8636 format: int64 8637 type: integer 8638 phase: 8639 description: Phase represents the current phase of machine actuation. 8640 E.g. Pending, Running, Terminating, Failed etc. 8641 type: string 8642 version: 8643 description: Version specifies the current version of Kubernetes running 8644 on the corresponding Node. This is meant to be a means of bubbling 8645 up status from the Node to the Machine. It is entirely optional, 8646 but useful for end-user UX if it’s present. 8647 type: string 8648 type: object 8649 type: object 8650 served: false 8651 storage: false 8652 subresources: 8653 status: {} 8654 - additionalPrinterColumns: 8655 - description: Cluster 8656 jsonPath: .spec.clusterName 8657 name: Cluster 8658 type: string 8659 - description: Time duration since creation of Machine 8660 jsonPath: .metadata.creationTimestamp 8661 name: Age 8662 type: date 8663 - description: Provider ID 8664 jsonPath: .spec.providerID 8665 name: ProviderID 8666 type: string 8667 - description: Machine status such as Terminating/Pending/Running/Failed etc 8668 jsonPath: .status.phase 8669 name: Phase 8670 type: string 8671 - description: Kubernetes version associated with this Machine 8672 jsonPath: .spec.version 8673 name: Version 8674 type: string 8675 - description: Node name associated with this machine 8676 jsonPath: .status.nodeRef.name 8677 name: NodeName 8678 priority: 1 8679 type: string 8680 deprecated: true 8681 name: v1alpha4 8682 schema: 8683 openAPIV3Schema: 8684 description: "Machine is the Schema for the machines API. \n Deprecated: This 8685 type will be removed in one of the next releases." 8686 properties: 8687 apiVersion: 8688 description: 'APIVersion defines the versioned schema of this representation 8689 of an object. Servers should convert recognized schemas to the latest 8690 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 8691 type: string 8692 kind: 8693 description: 'Kind is a string value representing the REST resource this 8694 object represents. Servers may infer this from the endpoint the client 8695 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 8696 type: string 8697 metadata: 8698 type: object 8699 spec: 8700 description: MachineSpec defines the desired state of Machine. 8701 properties: 8702 bootstrap: 8703 description: Bootstrap is a reference to a local struct which encapsulates 8704 fields to configure the Machine’s bootstrapping mechanism. 8705 properties: 8706 configRef: 8707 description: ConfigRef is a reference to a bootstrap provider-specific 8708 resource that holds configuration details. The reference is 8709 optional to allow users/operators to specify Bootstrap.DataSecretName 8710 without the need of a controller. 8711 properties: 8712 apiVersion: 8713 description: API version of the referent. 8714 type: string 8715 fieldPath: 8716 description: 'If referring to a piece of an object instead 8717 of an entire object, this string should contain a valid 8718 JSON/Go field access statement, such as desiredState.manifest.containers[2]. 8719 For example, if the object reference is to a container within 8720 a pod, this would take on a value like: "spec.containers{name}" 8721 (where "name" refers to the name of the container that triggered 8722 the event) or if no container name is specified "spec.containers[2]" 8723 (container with index 2 in this pod). This syntax is chosen 8724 only to have some well-defined way of referencing a part 8725 of an object. TODO: this design is not final and this field 8726 is subject to change in the future.' 8727 type: string 8728 kind: 8729 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 8730 type: string 8731 name: 8732 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 8733 type: string 8734 namespace: 8735 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 8736 type: string 8737 resourceVersion: 8738 description: 'Specific resourceVersion to which this reference 8739 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 8740 type: string 8741 uid: 8742 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 8743 type: string 8744 type: object 8745 x-kubernetes-map-type: atomic 8746 dataSecretName: 8747 description: DataSecretName is the name of the secret that stores 8748 the bootstrap data script. If nil, the Machine should remain 8749 in the Pending state. 8750 type: string 8751 type: object 8752 clusterName: 8753 description: ClusterName is the name of the Cluster this object belongs 8754 to. 8755 minLength: 1 8756 type: string 8757 failureDomain: 8758 description: FailureDomain is the failure domain the machine will 8759 be created in. Must match a key in the FailureDomains map stored 8760 on the cluster object. 8761 type: string 8762 infrastructureRef: 8763 description: InfrastructureRef is a required reference to a custom 8764 resource offered by an infrastructure provider. 8765 properties: 8766 apiVersion: 8767 description: API version of the referent. 8768 type: string 8769 fieldPath: 8770 description: 'If referring to a piece of an object instead of 8771 an entire object, this string should contain a valid JSON/Go 8772 field access statement, such as desiredState.manifest.containers[2]. 8773 For example, if the object reference is to a container within 8774 a pod, this would take on a value like: "spec.containers{name}" 8775 (where "name" refers to the name of the container that triggered 8776 the event) or if no container name is specified "spec.containers[2]" 8777 (container with index 2 in this pod). This syntax is chosen 8778 only to have some well-defined way of referencing a part of 8779 an object. TODO: this design is not final and this field is 8780 subject to change in the future.' 8781 type: string 8782 kind: 8783 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 8784 type: string 8785 name: 8786 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 8787 type: string 8788 namespace: 8789 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 8790 type: string 8791 resourceVersion: 8792 description: 'Specific resourceVersion to which this reference 8793 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 8794 type: string 8795 uid: 8796 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 8797 type: string 8798 type: object 8799 x-kubernetes-map-type: atomic 8800 nodeDrainTimeout: 8801 description: 'NodeDrainTimeout is the total amount of time that the 8802 controller will spend on draining a node. The default value is 0, 8803 meaning that the node can be drained without any time limitations. 8804 NOTE: NodeDrainTimeout is different from `kubectl drain --timeout`' 8805 type: string 8806 providerID: 8807 description: ProviderID is the identification ID of the machine provided 8808 by the provider. This field must match the provider ID as seen on 8809 the node object corresponding to this machine. This field is required 8810 by higher level consumers of cluster-api. Example use case is cluster 8811 autoscaler with cluster-api as provider. Clean-up logic in the autoscaler 8812 compares machines to nodes to find out machines at provider which 8813 could not get registered as Kubernetes nodes. With cluster-api as 8814 a generic out-of-tree provider for autoscaler, this field is required 8815 by autoscaler to be able to have a provider view of the list of 8816 machines. Another list of nodes is queried from the k8s apiserver 8817 and then a comparison is done to find out unregistered machines 8818 and are marked for delete. This field will be set by the actuators 8819 and consumed by higher level entities like autoscaler that will 8820 be interfacing with cluster-api as generic provider. 8821 type: string 8822 version: 8823 description: Version defines the desired Kubernetes version. This 8824 field is meant to be optionally used by bootstrap providers. 8825 type: string 8826 required: 8827 - bootstrap 8828 - clusterName 8829 - infrastructureRef 8830 type: object 8831 status: 8832 description: MachineStatus defines the observed state of Machine. 8833 properties: 8834 addresses: 8835 description: Addresses is a list of addresses assigned to the machine. 8836 This field is copied from the infrastructure provider reference. 8837 items: 8838 description: MachineAddress contains information for the node's 8839 address. 8840 properties: 8841 address: 8842 description: The machine address. 8843 type: string 8844 type: 8845 description: Machine address type, one of Hostname, ExternalIP 8846 or InternalIP. 8847 type: string 8848 required: 8849 - address 8850 - type 8851 type: object 8852 type: array 8853 bootstrapReady: 8854 description: BootstrapReady is the state of the bootstrap provider. 8855 type: boolean 8856 conditions: 8857 description: Conditions defines current service state of the Machine. 8858 items: 8859 description: Condition defines an observation of a Cluster API resource 8860 operational state. 8861 properties: 8862 lastTransitionTime: 8863 description: Last time the condition transitioned from one status 8864 to another. This should be when the underlying condition changed. 8865 If that is not known, then using the time when the API field 8866 changed is acceptable. 8867 format: date-time 8868 type: string 8869 message: 8870 description: A human readable message indicating details about 8871 the transition. This field may be empty. 8872 type: string 8873 reason: 8874 description: The reason for the condition's last transition 8875 in CamelCase. The specific API may choose whether or not this 8876 field is considered a guaranteed API. This field may not be 8877 empty. 8878 type: string 8879 severity: 8880 description: Severity provides an explicit classification of 8881 Reason code, so the users or machines can immediately understand 8882 the current situation and act accordingly. The Severity field 8883 MUST be set only when Status=False. 8884 type: string 8885 status: 8886 description: Status of the condition, one of True, False, Unknown. 8887 type: string 8888 type: 8889 description: Type of condition in CamelCase or in foo.example.com/CamelCase. 8890 Many .condition.type values are consistent across resources 8891 like Available, but because arbitrary conditions can be useful 8892 (see .node.status.conditions), the ability to deconflict is 8893 important. 8894 type: string 8895 required: 8896 - status 8897 - type 8898 type: object 8899 type: array 8900 failureMessage: 8901 description: "FailureMessage will be set in the event that there is 8902 a terminal problem reconciling the Machine and will contain a more 8903 verbose string suitable for logging and human consumption. \n This 8904 field should not be set for transitive errors that a controller 8905 faces that are expected to be fixed automatically over time (like 8906 service outages), but instead indicate that something is fundamentally 8907 wrong with the Machine's spec or the configuration of the controller, 8908 and that manual intervention is required. Examples of terminal errors 8909 would be invalid combinations of settings in the spec, values that 8910 are unsupported by the controller, or the responsible controller 8911 itself being critically misconfigured. \n Any transient errors that 8912 occur during the reconciliation of Machines can be added as events 8913 to the Machine object and/or logged in the controller's output." 8914 type: string 8915 failureReason: 8916 description: "FailureReason will be set in the event that there is 8917 a terminal problem reconciling the Machine and will contain a succinct 8918 value suitable for machine interpretation. \n This field should 8919 not be set for transitive errors that a controller faces that are 8920 expected to be fixed automatically over time (like service outages), 8921 but instead indicate that something is fundamentally wrong with 8922 the Machine's spec or the configuration of the controller, and that 8923 manual intervention is required. Examples of terminal errors would 8924 be invalid combinations of settings in the spec, values that are 8925 unsupported by the controller, or the responsible controller itself 8926 being critically misconfigured. \n Any transient errors that occur 8927 during the reconciliation of Machines can be added as events to 8928 the Machine object and/or logged in the controller's output." 8929 type: string 8930 infrastructureReady: 8931 description: InfrastructureReady is the state of the infrastructure 8932 provider. 8933 type: boolean 8934 lastUpdated: 8935 description: LastUpdated identifies when the phase of the Machine 8936 last transitioned. 8937 format: date-time 8938 type: string 8939 nodeInfo: 8940 description: 'NodeInfo is a set of ids/uuids to uniquely identify 8941 the node. More info: https://kubernetes.io/docs/concepts/nodes/node/#info' 8942 properties: 8943 architecture: 8944 description: The Architecture reported by the node 8945 type: string 8946 bootID: 8947 description: Boot ID reported by the node. 8948 type: string 8949 containerRuntimeVersion: 8950 description: ContainerRuntime Version reported by the node through 8951 runtime remote API (e.g. containerd://1.4.2). 8952 type: string 8953 kernelVersion: 8954 description: Kernel Version reported by the node from 'uname -r' 8955 (e.g. 3.16.0-0.bpo.4-amd64). 8956 type: string 8957 kubeProxyVersion: 8958 description: KubeProxy Version reported by the node. 8959 type: string 8960 kubeletVersion: 8961 description: Kubelet Version reported by the node. 8962 type: string 8963 machineID: 8964 description: 'MachineID reported by the node. For unique machine 8965 identification in the cluster this field is preferred. Learn 8966 more from man(5) machine-id: http://man7.org/linux/man-pages/man5/machine-id.5.html' 8967 type: string 8968 operatingSystem: 8969 description: The Operating System reported by the node 8970 type: string 8971 osImage: 8972 description: OS Image reported by the node from /etc/os-release 8973 (e.g. Debian GNU/Linux 7 (wheezy)). 8974 type: string 8975 systemUUID: 8976 description: SystemUUID reported by the node. For unique machine 8977 identification MachineID is preferred. This field is specific 8978 to Red Hat hosts https://access.redhat.com/documentation/en-us/red_hat_subscription_management/1/html/rhsm/uuid 8979 type: string 8980 required: 8981 - architecture 8982 - bootID 8983 - containerRuntimeVersion 8984 - kernelVersion 8985 - kubeProxyVersion 8986 - kubeletVersion 8987 - machineID 8988 - operatingSystem 8989 - osImage 8990 - systemUUID 8991 type: object 8992 nodeRef: 8993 description: NodeRef will point to the corresponding Node if it exists. 8994 properties: 8995 apiVersion: 8996 description: API version of the referent. 8997 type: string 8998 fieldPath: 8999 description: 'If referring to a piece of an object instead of 9000 an entire object, this string should contain a valid JSON/Go 9001 field access statement, such as desiredState.manifest.containers[2]. 9002 For example, if the object reference is to a container within 9003 a pod, this would take on a value like: "spec.containers{name}" 9004 (where "name" refers to the name of the container that triggered 9005 the event) or if no container name is specified "spec.containers[2]" 9006 (container with index 2 in this pod). This syntax is chosen 9007 only to have some well-defined way of referencing a part of 9008 an object. TODO: this design is not final and this field is 9009 subject to change in the future.' 9010 type: string 9011 kind: 9012 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 9013 type: string 9014 name: 9015 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 9016 type: string 9017 namespace: 9018 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 9019 type: string 9020 resourceVersion: 9021 description: 'Specific resourceVersion to which this reference 9022 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 9023 type: string 9024 uid: 9025 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 9026 type: string 9027 type: object 9028 x-kubernetes-map-type: atomic 9029 observedGeneration: 9030 description: ObservedGeneration is the latest generation observed 9031 by the controller. 9032 format: int64 9033 type: integer 9034 phase: 9035 description: Phase represents the current phase of machine actuation. 9036 E.g. Pending, Running, Terminating, Failed etc. 9037 type: string 9038 version: 9039 description: Version specifies the current version of Kubernetes running 9040 on the corresponding Node. This is meant to be a means of bubbling 9041 up status from the Node to the Machine. It is entirely optional, 9042 but useful for end-user UX if it’s present. 9043 type: string 9044 type: object 9045 type: object 9046 served: true 9047 storage: false 9048 subresources: 9049 status: {} 9050 - additionalPrinterColumns: 9051 - description: Cluster 9052 jsonPath: .spec.clusterName 9053 name: Cluster 9054 type: string 9055 - description: Node name associated with this machine 9056 jsonPath: .status.nodeRef.name 9057 name: NodeName 9058 type: string 9059 - description: Provider ID 9060 jsonPath: .spec.providerID 9061 name: ProviderID 9062 type: string 9063 - description: Machine status such as Terminating/Pending/Running/Failed etc 9064 jsonPath: .status.phase 9065 name: Phase 9066 type: string 9067 - description: Time duration since creation of Machine 9068 jsonPath: .metadata.creationTimestamp 9069 name: Age 9070 type: date 9071 - description: Kubernetes version associated with this Machine 9072 jsonPath: .spec.version 9073 name: Version 9074 type: string 9075 name: v1beta1 9076 schema: 9077 openAPIV3Schema: 9078 description: Machine is the Schema for the machines API. 9079 properties: 9080 apiVersion: 9081 description: 'APIVersion defines the versioned schema of this representation 9082 of an object. Servers should convert recognized schemas to the latest 9083 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 9084 type: string 9085 kind: 9086 description: 'Kind is a string value representing the REST resource this 9087 object represents. Servers may infer this from the endpoint the client 9088 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 9089 type: string 9090 metadata: 9091 type: object 9092 spec: 9093 description: MachineSpec defines the desired state of Machine. 9094 properties: 9095 bootstrap: 9096 description: Bootstrap is a reference to a local struct which encapsulates 9097 fields to configure the Machine’s bootstrapping mechanism. 9098 properties: 9099 configRef: 9100 description: ConfigRef is a reference to a bootstrap provider-specific 9101 resource that holds configuration details. The reference is 9102 optional to allow users/operators to specify Bootstrap.DataSecretName 9103 without the need of a controller. 9104 properties: 9105 apiVersion: 9106 description: API version of the referent. 9107 type: string 9108 fieldPath: 9109 description: 'If referring to a piece of an object instead 9110 of an entire object, this string should contain a valid 9111 JSON/Go field access statement, such as desiredState.manifest.containers[2]. 9112 For example, if the object reference is to a container within 9113 a pod, this would take on a value like: "spec.containers{name}" 9114 (where "name" refers to the name of the container that triggered 9115 the event) or if no container name is specified "spec.containers[2]" 9116 (container with index 2 in this pod). This syntax is chosen 9117 only to have some well-defined way of referencing a part 9118 of an object. TODO: this design is not final and this field 9119 is subject to change in the future.' 9120 type: string 9121 kind: 9122 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 9123 type: string 9124 name: 9125 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 9126 type: string 9127 namespace: 9128 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 9129 type: string 9130 resourceVersion: 9131 description: 'Specific resourceVersion to which this reference 9132 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 9133 type: string 9134 uid: 9135 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 9136 type: string 9137 type: object 9138 x-kubernetes-map-type: atomic 9139 dataSecretName: 9140 description: DataSecretName is the name of the secret that stores 9141 the bootstrap data script. If nil, the Machine should remain 9142 in the Pending state. 9143 type: string 9144 type: object 9145 clusterName: 9146 description: ClusterName is the name of the Cluster this object belongs 9147 to. 9148 minLength: 1 9149 type: string 9150 failureDomain: 9151 description: FailureDomain is the failure domain the machine will 9152 be created in. Must match a key in the FailureDomains map stored 9153 on the cluster object. 9154 type: string 9155 infrastructureRef: 9156 description: InfrastructureRef is a required reference to a custom 9157 resource offered by an infrastructure provider. 9158 properties: 9159 apiVersion: 9160 description: API version of the referent. 9161 type: string 9162 fieldPath: 9163 description: 'If referring to a piece of an object instead of 9164 an entire object, this string should contain a valid JSON/Go 9165 field access statement, such as desiredState.manifest.containers[2]. 9166 For example, if the object reference is to a container within 9167 a pod, this would take on a value like: "spec.containers{name}" 9168 (where "name" refers to the name of the container that triggered 9169 the event) or if no container name is specified "spec.containers[2]" 9170 (container with index 2 in this pod). This syntax is chosen 9171 only to have some well-defined way of referencing a part of 9172 an object. TODO: this design is not final and this field is 9173 subject to change in the future.' 9174 type: string 9175 kind: 9176 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 9177 type: string 9178 name: 9179 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 9180 type: string 9181 namespace: 9182 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 9183 type: string 9184 resourceVersion: 9185 description: 'Specific resourceVersion to which this reference 9186 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 9187 type: string 9188 uid: 9189 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 9190 type: string 9191 type: object 9192 x-kubernetes-map-type: atomic 9193 nodeDeletionTimeout: 9194 description: NodeDeletionTimeout defines how long the controller will 9195 attempt to delete the Node that the Machine hosts after the Machine 9196 is marked for deletion. A duration of 0 will retry deletion indefinitely. 9197 Defaults to 10 seconds. 9198 type: string 9199 nodeDrainTimeout: 9200 description: 'NodeDrainTimeout is the total amount of time that the 9201 controller will spend on draining a node. The default value is 0, 9202 meaning that the node can be drained without any time limitations. 9203 NOTE: NodeDrainTimeout is different from `kubectl drain --timeout`' 9204 type: string 9205 nodeVolumeDetachTimeout: 9206 description: NodeVolumeDetachTimeout is the total amount of time that 9207 the controller will spend on waiting for all volumes to be detached. 9208 The default value is 0, meaning that the volumes can be detached 9209 without any time limitations. 9210 type: string 9211 providerID: 9212 description: ProviderID is the identification ID of the machine provided 9213 by the provider. This field must match the provider ID as seen on 9214 the node object corresponding to this machine. This field is required 9215 by higher level consumers of cluster-api. Example use case is cluster 9216 autoscaler with cluster-api as provider. Clean-up logic in the autoscaler 9217 compares machines to nodes to find out machines at provider which 9218 could not get registered as Kubernetes nodes. With cluster-api as 9219 a generic out-of-tree provider for autoscaler, this field is required 9220 by autoscaler to be able to have a provider view of the list of 9221 machines. Another list of nodes is queried from the k8s apiserver 9222 and then a comparison is done to find out unregistered machines 9223 and are marked for delete. This field will be set by the actuators 9224 and consumed by higher level entities like autoscaler that will 9225 be interfacing with cluster-api as generic provider. 9226 type: string 9227 version: 9228 description: Version defines the desired Kubernetes version. This 9229 field is meant to be optionally used by bootstrap providers. 9230 type: string 9231 required: 9232 - bootstrap 9233 - clusterName 9234 - infrastructureRef 9235 type: object 9236 status: 9237 description: MachineStatus defines the observed state of Machine. 9238 properties: 9239 addresses: 9240 description: Addresses is a list of addresses assigned to the machine. 9241 This field is copied from the infrastructure provider reference. 9242 items: 9243 description: MachineAddress contains information for the node's 9244 address. 9245 properties: 9246 address: 9247 description: The machine address. 9248 type: string 9249 type: 9250 description: Machine address type, one of Hostname, ExternalIP, 9251 InternalIP, ExternalDNS or InternalDNS. 9252 type: string 9253 required: 9254 - address 9255 - type 9256 type: object 9257 type: array 9258 bootstrapReady: 9259 description: BootstrapReady is the state of the bootstrap provider. 9260 type: boolean 9261 certificatesExpiryDate: 9262 description: CertificatesExpiryDate is the expiry date of the machine 9263 certificates. This value is only set for control plane machines. 9264 format: date-time 9265 type: string 9266 conditions: 9267 description: Conditions defines current service state of the Machine. 9268 items: 9269 description: Condition defines an observation of a Cluster API resource 9270 operational state. 9271 properties: 9272 lastTransitionTime: 9273 description: Last time the condition transitioned from one status 9274 to another. This should be when the underlying condition changed. 9275 If that is not known, then using the time when the API field 9276 changed is acceptable. 9277 format: date-time 9278 type: string 9279 message: 9280 description: A human readable message indicating details about 9281 the transition. This field may be empty. 9282 type: string 9283 reason: 9284 description: The reason for the condition's last transition 9285 in CamelCase. The specific API may choose whether or not this 9286 field is considered a guaranteed API. This field may not be 9287 empty. 9288 type: string 9289 severity: 9290 description: Severity provides an explicit classification of 9291 Reason code, so the users or machines can immediately understand 9292 the current situation and act accordingly. The Severity field 9293 MUST be set only when Status=False. 9294 type: string 9295 status: 9296 description: Status of the condition, one of True, False, Unknown. 9297 type: string 9298 type: 9299 description: Type of condition in CamelCase or in foo.example.com/CamelCase. 9300 Many .condition.type values are consistent across resources 9301 like Available, but because arbitrary conditions can be useful 9302 (see .node.status.conditions), the ability to deconflict is 9303 important. 9304 type: string 9305 required: 9306 - lastTransitionTime 9307 - status 9308 - type 9309 type: object 9310 type: array 9311 failureMessage: 9312 description: "FailureMessage will be set in the event that there is 9313 a terminal problem reconciling the Machine and will contain a more 9314 verbose string suitable for logging and human consumption. \n This 9315 field should not be set for transitive errors that a controller 9316 faces that are expected to be fixed automatically over time (like 9317 service outages), but instead indicate that something is fundamentally 9318 wrong with the Machine's spec or the configuration of the controller, 9319 and that manual intervention is required. Examples of terminal errors 9320 would be invalid combinations of settings in the spec, values that 9321 are unsupported by the controller, or the responsible controller 9322 itself being critically misconfigured. \n Any transient errors that 9323 occur during the reconciliation of Machines can be added as events 9324 to the Machine object and/or logged in the controller's output." 9325 type: string 9326 failureReason: 9327 description: "FailureReason will be set in the event that there is 9328 a terminal problem reconciling the Machine and will contain a succinct 9329 value suitable for machine interpretation. \n This field should 9330 not be set for transitive errors that a controller faces that are 9331 expected to be fixed automatically over time (like service outages), 9332 but instead indicate that something is fundamentally wrong with 9333 the Machine's spec or the configuration of the controller, and that 9334 manual intervention is required. Examples of terminal errors would 9335 be invalid combinations of settings in the spec, values that are 9336 unsupported by the controller, or the responsible controller itself 9337 being critically misconfigured. \n Any transient errors that occur 9338 during the reconciliation of Machines can be added as events to 9339 the Machine object and/or logged in the controller's output." 9340 type: string 9341 infrastructureReady: 9342 description: InfrastructureReady is the state of the infrastructure 9343 provider. 9344 type: boolean 9345 lastUpdated: 9346 description: LastUpdated identifies when the phase of the Machine 9347 last transitioned. 9348 format: date-time 9349 type: string 9350 nodeInfo: 9351 description: 'NodeInfo is a set of ids/uuids to uniquely identify 9352 the node. More info: https://kubernetes.io/docs/concepts/nodes/node/#info' 9353 properties: 9354 architecture: 9355 description: The Architecture reported by the node 9356 type: string 9357 bootID: 9358 description: Boot ID reported by the node. 9359 type: string 9360 containerRuntimeVersion: 9361 description: ContainerRuntime Version reported by the node through 9362 runtime remote API (e.g. containerd://1.4.2). 9363 type: string 9364 kernelVersion: 9365 description: Kernel Version reported by the node from 'uname -r' 9366 (e.g. 3.16.0-0.bpo.4-amd64). 9367 type: string 9368 kubeProxyVersion: 9369 description: KubeProxy Version reported by the node. 9370 type: string 9371 kubeletVersion: 9372 description: Kubelet Version reported by the node. 9373 type: string 9374 machineID: 9375 description: 'MachineID reported by the node. For unique machine 9376 identification in the cluster this field is preferred. Learn 9377 more from man(5) machine-id: http://man7.org/linux/man-pages/man5/machine-id.5.html' 9378 type: string 9379 operatingSystem: 9380 description: The Operating System reported by the node 9381 type: string 9382 osImage: 9383 description: OS Image reported by the node from /etc/os-release 9384 (e.g. Debian GNU/Linux 7 (wheezy)). 9385 type: string 9386 systemUUID: 9387 description: SystemUUID reported by the node. For unique machine 9388 identification MachineID is preferred. This field is specific 9389 to Red Hat hosts https://access.redhat.com/documentation/en-us/red_hat_subscription_management/1/html/rhsm/uuid 9390 type: string 9391 required: 9392 - architecture 9393 - bootID 9394 - containerRuntimeVersion 9395 - kernelVersion 9396 - kubeProxyVersion 9397 - kubeletVersion 9398 - machineID 9399 - operatingSystem 9400 - osImage 9401 - systemUUID 9402 type: object 9403 nodeRef: 9404 description: NodeRef will point to the corresponding Node if it exists. 9405 properties: 9406 apiVersion: 9407 description: API version of the referent. 9408 type: string 9409 fieldPath: 9410 description: 'If referring to a piece of an object instead of 9411 an entire object, this string should contain a valid JSON/Go 9412 field access statement, such as desiredState.manifest.containers[2]. 9413 For example, if the object reference is to a container within 9414 a pod, this would take on a value like: "spec.containers{name}" 9415 (where "name" refers to the name of the container that triggered 9416 the event) or if no container name is specified "spec.containers[2]" 9417 (container with index 2 in this pod). This syntax is chosen 9418 only to have some well-defined way of referencing a part of 9419 an object. TODO: this design is not final and this field is 9420 subject to change in the future.' 9421 type: string 9422 kind: 9423 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 9424 type: string 9425 name: 9426 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 9427 type: string 9428 namespace: 9429 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 9430 type: string 9431 resourceVersion: 9432 description: 'Specific resourceVersion to which this reference 9433 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 9434 type: string 9435 uid: 9436 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 9437 type: string 9438 type: object 9439 x-kubernetes-map-type: atomic 9440 observedGeneration: 9441 description: ObservedGeneration is the latest generation observed 9442 by the controller. 9443 format: int64 9444 type: integer 9445 phase: 9446 description: Phase represents the current phase of machine actuation. 9447 E.g. Pending, Running, Terminating, Failed etc. 9448 type: string 9449 type: object 9450 type: object 9451 served: true 9452 storage: true 9453 subresources: 9454 status: {} 9455 --- 9456 apiVersion: apiextensions.k8s.io/v1 9457 kind: CustomResourceDefinition 9458 metadata: 9459 annotations: 9460 cert-manager.io/inject-ca-from: capi-system/capi-serving-cert 9461 controller-gen.kubebuilder.io/version: v0.12.0 9462 labels: 9463 cluster.x-k8s.io/provider: cluster-api 9464 name: machinesets.cluster.x-k8s.io 9465 spec: 9466 conversion: 9467 strategy: Webhook 9468 webhook: 9469 clientConfig: 9470 caBundle: Cg== 9471 service: 9472 name: capi-webhook-service 9473 namespace: capi-system 9474 path: /convert 9475 conversionReviewVersions: 9476 - v1 9477 - v1beta1 9478 group: cluster.x-k8s.io 9479 names: 9480 categories: 9481 - cluster-api 9482 kind: MachineSet 9483 listKind: MachineSetList 9484 plural: machinesets 9485 shortNames: 9486 - ms 9487 singular: machineset 9488 scope: Namespaced 9489 versions: 9490 - additionalPrinterColumns: 9491 - description: Total number of non-terminated machines targeted by this machineset 9492 jsonPath: .status.replicas 9493 name: Replicas 9494 type: integer 9495 - description: Total number of available machines (ready for at least minReadySeconds) 9496 jsonPath: .status.availableReplicas 9497 name: Available 9498 type: integer 9499 - description: Total number of ready machines targeted by this machineset. 9500 jsonPath: .status.readyReplicas 9501 name: Ready 9502 type: integer 9503 deprecated: true 9504 name: v1alpha3 9505 schema: 9506 openAPIV3Schema: 9507 description: "MachineSet is the Schema for the machinesets API. \n Deprecated: 9508 This type will be removed in one of the next releases." 9509 properties: 9510 apiVersion: 9511 description: 'APIVersion defines the versioned schema of this representation 9512 of an object. Servers should convert recognized schemas to the latest 9513 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 9514 type: string 9515 kind: 9516 description: 'Kind is a string value representing the REST resource this 9517 object represents. Servers may infer this from the endpoint the client 9518 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 9519 type: string 9520 metadata: 9521 type: object 9522 spec: 9523 description: MachineSetSpec defines the desired state of MachineSet. 9524 properties: 9525 clusterName: 9526 description: ClusterName is the name of the Cluster this object belongs 9527 to. 9528 minLength: 1 9529 type: string 9530 deletePolicy: 9531 description: DeletePolicy defines the policy used to identify nodes 9532 to delete when downscaling. Defaults to "Random". Valid values 9533 are "Random, "Newest", "Oldest" 9534 enum: 9535 - Random 9536 - Newest 9537 - Oldest 9538 type: string 9539 minReadySeconds: 9540 description: MinReadySeconds is the minimum number of seconds for 9541 which a newly created machine should be ready. Defaults to 0 (machine 9542 will be considered available as soon as it is ready) 9543 format: int32 9544 type: integer 9545 replicas: 9546 description: Replicas is the number of desired replicas. This is a 9547 pointer to distinguish between explicit zero and unspecified. Defaults 9548 to 1. 9549 format: int32 9550 type: integer 9551 selector: 9552 description: 'Selector is a label query over machines that should 9553 match the replica count. Label keys and values that must match in 9554 order to be controlled by this MachineSet. It must match the machine 9555 template''s labels. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors' 9556 properties: 9557 matchExpressions: 9558 description: matchExpressions is a list of label selector requirements. 9559 The requirements are ANDed. 9560 items: 9561 description: A label selector requirement is a selector that 9562 contains values, a key, and an operator that relates the key 9563 and values. 9564 properties: 9565 key: 9566 description: key is the label key that the selector applies 9567 to. 9568 type: string 9569 operator: 9570 description: operator represents a key's relationship to 9571 a set of values. Valid operators are In, NotIn, Exists 9572 and DoesNotExist. 9573 type: string 9574 values: 9575 description: values is an array of string values. If the 9576 operator is In or NotIn, the values array must be non-empty. 9577 If the operator is Exists or DoesNotExist, the values 9578 array must be empty. This array is replaced during a strategic 9579 merge patch. 9580 items: 9581 type: string 9582 type: array 9583 required: 9584 - key 9585 - operator 9586 type: object 9587 type: array 9588 matchLabels: 9589 additionalProperties: 9590 type: string 9591 description: matchLabels is a map of {key,value} pairs. A single 9592 {key,value} in the matchLabels map is equivalent to an element 9593 of matchExpressions, whose key field is "key", the operator 9594 is "In", and the values array contains only "value". The requirements 9595 are ANDed. 9596 type: object 9597 type: object 9598 x-kubernetes-map-type: atomic 9599 template: 9600 description: Template is the object that describes the machine that 9601 will be created if insufficient replicas are detected. Object references 9602 to custom resources are treated as templates. 9603 properties: 9604 metadata: 9605 description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata' 9606 properties: 9607 annotations: 9608 additionalProperties: 9609 type: string 9610 description: 'Annotations is an unstructured key value map 9611 stored with a resource that may be set by external tools 9612 to store and retrieve arbitrary metadata. They are not queryable 9613 and should be preserved when modifying objects. More info: 9614 http://kubernetes.io/docs/user-guide/annotations' 9615 type: object 9616 generateName: 9617 description: "GenerateName is an optional prefix, used by 9618 the server, to generate a unique name ONLY IF the Name field 9619 has not been provided. If this field is used, the name returned 9620 to the client will be different than the name passed. This 9621 value will also be combined with a unique suffix. The provided 9622 value has the same validation rules as the Name field, and 9623 may be truncated by the length of the suffix required to 9624 make the value unique on the server. \n If this field is 9625 specified and the generated name exists, the server will 9626 NOT return a 409 - instead, it will either return 201 Created 9627 or 500 with Reason ServerTimeout indicating a unique name 9628 could not be found in the time allotted, and the client 9629 should retry (optionally after the time indicated in the 9630 Retry-After header). \n Applied only if Name is not specified. 9631 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency 9632 \n Deprecated: This field has no function and is going to 9633 be removed in a next release." 9634 type: string 9635 labels: 9636 additionalProperties: 9637 type: string 9638 description: 'Map of string keys and values that can be used 9639 to organize and categorize (scope and select) objects. May 9640 match selectors of replication controllers and services. 9641 More info: http://kubernetes.io/docs/user-guide/labels' 9642 type: object 9643 name: 9644 description: "Name must be unique within a namespace. Is required 9645 when creating resources, although some resources may allow 9646 a client to request the generation of an appropriate name 9647 automatically. Name is primarily intended for creation idempotence 9648 and configuration definition. Cannot be updated. More info: 9649 http://kubernetes.io/docs/user-guide/identifiers#names \n 9650 Deprecated: This field has no function and is going to be 9651 removed in a next release." 9652 type: string 9653 namespace: 9654 description: "Namespace defines the space within each name 9655 must be unique. An empty namespace is equivalent to the 9656 \"default\" namespace, but \"default\" is the canonical 9657 representation. Not all objects are required to be scoped 9658 to a namespace - the value of this field for those objects 9659 will be empty. \n Must be a DNS_LABEL. Cannot be updated. 9660 More info: http://kubernetes.io/docs/user-guide/namespaces 9661 \n Deprecated: This field has no function and is going to 9662 be removed in a next release." 9663 type: string 9664 ownerReferences: 9665 description: "List of objects depended by this object. If 9666 ALL objects in the list have been deleted, this object will 9667 be garbage collected. If this object is managed by a controller, 9668 then an entry in this list will point to this controller, 9669 with the controller field set to true. There cannot be more 9670 than one managing controller. \n Deprecated: This field 9671 has no function and is going to be removed in a next release." 9672 items: 9673 description: OwnerReference contains enough information 9674 to let you identify an owning object. An owning object 9675 must be in the same namespace as the dependent, or be 9676 cluster-scoped, so there is no namespace field. 9677 properties: 9678 apiVersion: 9679 description: API version of the referent. 9680 type: string 9681 blockOwnerDeletion: 9682 description: If true, AND if the owner has the "foregroundDeletion" 9683 finalizer, then the owner cannot be deleted from the 9684 key-value store until this reference is removed. See 9685 https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion 9686 for how the garbage collector interacts with this 9687 field and enforces the foreground deletion. Defaults 9688 to false. To set this field, a user needs "delete" 9689 permission of the owner, otherwise 422 (Unprocessable 9690 Entity) will be returned. 9691 type: boolean 9692 controller: 9693 description: If true, this reference points to the managing 9694 controller. 9695 type: boolean 9696 kind: 9697 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 9698 type: string 9699 name: 9700 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names' 9701 type: string 9702 uid: 9703 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids' 9704 type: string 9705 required: 9706 - apiVersion 9707 - kind 9708 - name 9709 - uid 9710 type: object 9711 x-kubernetes-map-type: atomic 9712 type: array 9713 type: object 9714 spec: 9715 description: 'Specification of the desired behavior of the machine. 9716 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' 9717 properties: 9718 bootstrap: 9719 description: Bootstrap is a reference to a local struct which 9720 encapsulates fields to configure the Machine’s bootstrapping 9721 mechanism. 9722 properties: 9723 configRef: 9724 description: ConfigRef is a reference to a bootstrap provider-specific 9725 resource that holds configuration details. The reference 9726 is optional to allow users/operators to specify Bootstrap.Data 9727 without the need of a controller. 9728 properties: 9729 apiVersion: 9730 description: API version of the referent. 9731 type: string 9732 fieldPath: 9733 description: 'If referring to a piece of an object 9734 instead of an entire object, this string should 9735 contain a valid JSON/Go field access statement, 9736 such as desiredState.manifest.containers[2]. For 9737 example, if the object reference is to a container 9738 within a pod, this would take on a value like: "spec.containers{name}" 9739 (where "name" refers to the name of the container 9740 that triggered the event) or if no container name 9741 is specified "spec.containers[2]" (container with 9742 index 2 in this pod). This syntax is chosen only 9743 to have some well-defined way of referencing a part 9744 of an object. TODO: this design is not final and 9745 this field is subject to change in the future.' 9746 type: string 9747 kind: 9748 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 9749 type: string 9750 name: 9751 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 9752 type: string 9753 namespace: 9754 description: 'Namespace of the referent. More info: 9755 https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 9756 type: string 9757 resourceVersion: 9758 description: 'Specific resourceVersion to which this 9759 reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 9760 type: string 9761 uid: 9762 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 9763 type: string 9764 type: object 9765 x-kubernetes-map-type: atomic 9766 data: 9767 description: "Data contains the bootstrap data, such as 9768 cloud-init details scripts. If nil, the Machine should 9769 remain in the Pending state. \n Deprecated: Switch to 9770 DataSecretName." 9771 type: string 9772 dataSecretName: 9773 description: DataSecretName is the name of the secret 9774 that stores the bootstrap data script. If nil, the Machine 9775 should remain in the Pending state. 9776 type: string 9777 type: object 9778 clusterName: 9779 description: ClusterName is the name of the Cluster this object 9780 belongs to. 9781 minLength: 1 9782 type: string 9783 failureDomain: 9784 description: FailureDomain is the failure domain the machine 9785 will be created in. Must match a key in the FailureDomains 9786 map stored on the cluster object. 9787 type: string 9788 infrastructureRef: 9789 description: InfrastructureRef is a required reference to 9790 a custom resource offered by an infrastructure provider. 9791 properties: 9792 apiVersion: 9793 description: API version of the referent. 9794 type: string 9795 fieldPath: 9796 description: 'If referring to a piece of an object instead 9797 of an entire object, this string should contain a valid 9798 JSON/Go field access statement, such as desiredState.manifest.containers[2]. 9799 For example, if the object reference is to a container 9800 within a pod, this would take on a value like: "spec.containers{name}" 9801 (where "name" refers to the name of the container that 9802 triggered the event) or if no container name is specified 9803 "spec.containers[2]" (container with index 2 in this 9804 pod). This syntax is chosen only to have some well-defined 9805 way of referencing a part of an object. TODO: this design 9806 is not final and this field is subject to change in 9807 the future.' 9808 type: string 9809 kind: 9810 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 9811 type: string 9812 name: 9813 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 9814 type: string 9815 namespace: 9816 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 9817 type: string 9818 resourceVersion: 9819 description: 'Specific resourceVersion to which this reference 9820 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 9821 type: string 9822 uid: 9823 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 9824 type: string 9825 type: object 9826 x-kubernetes-map-type: atomic 9827 nodeDrainTimeout: 9828 description: 'NodeDrainTimeout is the total amount of time 9829 that the controller will spend on draining a node. The default 9830 value is 0, meaning that the node can be drained without 9831 any time limitations. NOTE: NodeDrainTimeout is different 9832 from `kubectl drain --timeout`' 9833 type: string 9834 providerID: 9835 description: ProviderID is the identification ID of the machine 9836 provided by the provider. This field must match the provider 9837 ID as seen on the node object corresponding to this machine. 9838 This field is required by higher level consumers of cluster-api. 9839 Example use case is cluster autoscaler with cluster-api 9840 as provider. Clean-up logic in the autoscaler compares machines 9841 to nodes to find out machines at provider which could not 9842 get registered as Kubernetes nodes. With cluster-api as 9843 a generic out-of-tree provider for autoscaler, this field 9844 is required by autoscaler to be able to have a provider 9845 view of the list of machines. Another list of nodes is queried 9846 from the k8s apiserver and then a comparison is done to 9847 find out unregistered machines and are marked for delete. 9848 This field will be set by the actuators and consumed by 9849 higher level entities like autoscaler that will be interfacing 9850 with cluster-api as generic provider. 9851 type: string 9852 version: 9853 description: Version defines the desired Kubernetes version. 9854 This field is meant to be optionally used by bootstrap providers. 9855 type: string 9856 required: 9857 - bootstrap 9858 - clusterName 9859 - infrastructureRef 9860 type: object 9861 type: object 9862 required: 9863 - clusterName 9864 - selector 9865 type: object 9866 status: 9867 description: MachineSetStatus defines the observed state of MachineSet. 9868 properties: 9869 availableReplicas: 9870 description: The number of available replicas (ready for at least 9871 minReadySeconds) for this MachineSet. 9872 format: int32 9873 type: integer 9874 failureMessage: 9875 type: string 9876 failureReason: 9877 description: "In the event that there is a terminal problem reconciling 9878 the replicas, both FailureReason and FailureMessage will be set. 9879 FailureReason will be populated with a succinct value suitable for 9880 machine interpretation, while FailureMessage will contain a more 9881 verbose string suitable for logging and human consumption. \n These 9882 fields should not be set for transitive errors that a controller 9883 faces that are expected to be fixed automatically over time (like 9884 service outages), but instead indicate that something is fundamentally 9885 wrong with the MachineTemplate's spec or the configuration of the 9886 machine controller, and that manual intervention is required. Examples 9887 of terminal errors would be invalid combinations of settings in 9888 the spec, values that are unsupported by the machine controller, 9889 or the responsible machine controller itself being critically misconfigured. 9890 \n Any transient errors that occur during the reconciliation of 9891 Machines can be added as events to the MachineSet object and/or 9892 logged in the controller's output." 9893 type: string 9894 fullyLabeledReplicas: 9895 description: The number of replicas that have labels matching the 9896 labels of the machine template of the MachineSet. 9897 format: int32 9898 type: integer 9899 observedGeneration: 9900 description: ObservedGeneration reflects the generation of the most 9901 recently observed MachineSet. 9902 format: int64 9903 type: integer 9904 readyReplicas: 9905 description: The number of ready replicas for this MachineSet. A machine 9906 is considered ready when the node has been created and is "Ready". 9907 format: int32 9908 type: integer 9909 replicas: 9910 description: Replicas is the most recently observed number of replicas. 9911 format: int32 9912 type: integer 9913 selector: 9914 description: 'Selector is the same as the label selector but in the 9915 string format to avoid introspection by clients. The string will 9916 be in the same format as the query-param syntax. More info about 9917 label selectors: http://kubernetes.io/docs/user-guide/labels#label-selectors' 9918 type: string 9919 type: object 9920 type: object 9921 served: false 9922 storage: false 9923 subresources: 9924 scale: 9925 labelSelectorPath: .status.selector 9926 specReplicasPath: .spec.replicas 9927 statusReplicasPath: .status.replicas 9928 status: {} 9929 - additionalPrinterColumns: 9930 - description: Cluster 9931 jsonPath: .spec.clusterName 9932 name: Cluster 9933 type: string 9934 - description: Time duration since creation of MachineSet 9935 jsonPath: .metadata.creationTimestamp 9936 name: Age 9937 type: date 9938 - description: Total number of non-terminated machines targeted by this machineset 9939 jsonPath: .status.replicas 9940 name: Replicas 9941 type: integer 9942 - description: Total number of available machines (ready for at least minReadySeconds) 9943 jsonPath: .status.availableReplicas 9944 name: Available 9945 type: integer 9946 - description: Total number of ready machines targeted by this machineset. 9947 jsonPath: .status.readyReplicas 9948 name: Ready 9949 type: integer 9950 deprecated: true 9951 name: v1alpha4 9952 schema: 9953 openAPIV3Schema: 9954 description: "MachineSet is the Schema for the machinesets API. \n Deprecated: 9955 This type will be removed in one of the next releases." 9956 properties: 9957 apiVersion: 9958 description: 'APIVersion defines the versioned schema of this representation 9959 of an object. Servers should convert recognized schemas to the latest 9960 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 9961 type: string 9962 kind: 9963 description: 'Kind is a string value representing the REST resource this 9964 object represents. Servers may infer this from the endpoint the client 9965 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 9966 type: string 9967 metadata: 9968 type: object 9969 spec: 9970 description: MachineSetSpec defines the desired state of MachineSet. 9971 properties: 9972 clusterName: 9973 description: ClusterName is the name of the Cluster this object belongs 9974 to. 9975 minLength: 1 9976 type: string 9977 deletePolicy: 9978 description: DeletePolicy defines the policy used to identify nodes 9979 to delete when downscaling. Defaults to "Random". Valid values 9980 are "Random, "Newest", "Oldest" 9981 enum: 9982 - Random 9983 - Newest 9984 - Oldest 9985 type: string 9986 minReadySeconds: 9987 description: MinReadySeconds is the minimum number of seconds for 9988 which a newly created machine should be ready. Defaults to 0 (machine 9989 will be considered available as soon as it is ready) 9990 format: int32 9991 type: integer 9992 replicas: 9993 default: 1 9994 description: Replicas is the number of desired replicas. This is a 9995 pointer to distinguish between explicit zero and unspecified. Defaults 9996 to 1. 9997 format: int32 9998 type: integer 9999 selector: 10000 description: 'Selector is a label query over machines that should 10001 match the replica count. Label keys and values that must match in 10002 order to be controlled by this MachineSet. It must match the machine 10003 template''s labels. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors' 10004 properties: 10005 matchExpressions: 10006 description: matchExpressions is a list of label selector requirements. 10007 The requirements are ANDed. 10008 items: 10009 description: A label selector requirement is a selector that 10010 contains values, a key, and an operator that relates the key 10011 and values. 10012 properties: 10013 key: 10014 description: key is the label key that the selector applies 10015 to. 10016 type: string 10017 operator: 10018 description: operator represents a key's relationship to 10019 a set of values. Valid operators are In, NotIn, Exists 10020 and DoesNotExist. 10021 type: string 10022 values: 10023 description: values is an array of string values. If the 10024 operator is In or NotIn, the values array must be non-empty. 10025 If the operator is Exists or DoesNotExist, the values 10026 array must be empty. This array is replaced during a strategic 10027 merge patch. 10028 items: 10029 type: string 10030 type: array 10031 required: 10032 - key 10033 - operator 10034 type: object 10035 type: array 10036 matchLabels: 10037 additionalProperties: 10038 type: string 10039 description: matchLabels is a map of {key,value} pairs. A single 10040 {key,value} in the matchLabels map is equivalent to an element 10041 of matchExpressions, whose key field is "key", the operator 10042 is "In", and the values array contains only "value". The requirements 10043 are ANDed. 10044 type: object 10045 type: object 10046 x-kubernetes-map-type: atomic 10047 template: 10048 description: Template is the object that describes the machine that 10049 will be created if insufficient replicas are detected. Object references 10050 to custom resources are treated as templates. 10051 properties: 10052 metadata: 10053 description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata' 10054 properties: 10055 annotations: 10056 additionalProperties: 10057 type: string 10058 description: 'Annotations is an unstructured key value map 10059 stored with a resource that may be set by external tools 10060 to store and retrieve arbitrary metadata. They are not queryable 10061 and should be preserved when modifying objects. More info: 10062 http://kubernetes.io/docs/user-guide/annotations' 10063 type: object 10064 labels: 10065 additionalProperties: 10066 type: string 10067 description: 'Map of string keys and values that can be used 10068 to organize and categorize (scope and select) objects. May 10069 match selectors of replication controllers and services. 10070 More info: http://kubernetes.io/docs/user-guide/labels' 10071 type: object 10072 type: object 10073 spec: 10074 description: 'Specification of the desired behavior of the machine. 10075 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' 10076 properties: 10077 bootstrap: 10078 description: Bootstrap is a reference to a local struct which 10079 encapsulates fields to configure the Machine’s bootstrapping 10080 mechanism. 10081 properties: 10082 configRef: 10083 description: ConfigRef is a reference to a bootstrap provider-specific 10084 resource that holds configuration details. The reference 10085 is optional to allow users/operators to specify Bootstrap.DataSecretName 10086 without the need of a controller. 10087 properties: 10088 apiVersion: 10089 description: API version of the referent. 10090 type: string 10091 fieldPath: 10092 description: 'If referring to a piece of an object 10093 instead of an entire object, this string should 10094 contain a valid JSON/Go field access statement, 10095 such as desiredState.manifest.containers[2]. For 10096 example, if the object reference is to a container 10097 within a pod, this would take on a value like: "spec.containers{name}" 10098 (where "name" refers to the name of the container 10099 that triggered the event) or if no container name 10100 is specified "spec.containers[2]" (container with 10101 index 2 in this pod). This syntax is chosen only 10102 to have some well-defined way of referencing a part 10103 of an object. TODO: this design is not final and 10104 this field is subject to change in the future.' 10105 type: string 10106 kind: 10107 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 10108 type: string 10109 name: 10110 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 10111 type: string 10112 namespace: 10113 description: 'Namespace of the referent. More info: 10114 https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 10115 type: string 10116 resourceVersion: 10117 description: 'Specific resourceVersion to which this 10118 reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 10119 type: string 10120 uid: 10121 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 10122 type: string 10123 type: object 10124 x-kubernetes-map-type: atomic 10125 dataSecretName: 10126 description: DataSecretName is the name of the secret 10127 that stores the bootstrap data script. If nil, the Machine 10128 should remain in the Pending state. 10129 type: string 10130 type: object 10131 clusterName: 10132 description: ClusterName is the name of the Cluster this object 10133 belongs to. 10134 minLength: 1 10135 type: string 10136 failureDomain: 10137 description: FailureDomain is the failure domain the machine 10138 will be created in. Must match a key in the FailureDomains 10139 map stored on the cluster object. 10140 type: string 10141 infrastructureRef: 10142 description: InfrastructureRef is a required reference to 10143 a custom resource offered by an infrastructure provider. 10144 properties: 10145 apiVersion: 10146 description: API version of the referent. 10147 type: string 10148 fieldPath: 10149 description: 'If referring to a piece of an object instead 10150 of an entire object, this string should contain a valid 10151 JSON/Go field access statement, such as desiredState.manifest.containers[2]. 10152 For example, if the object reference is to a container 10153 within a pod, this would take on a value like: "spec.containers{name}" 10154 (where "name" refers to the name of the container that 10155 triggered the event) or if no container name is specified 10156 "spec.containers[2]" (container with index 2 in this 10157 pod). This syntax is chosen only to have some well-defined 10158 way of referencing a part of an object. TODO: this design 10159 is not final and this field is subject to change in 10160 the future.' 10161 type: string 10162 kind: 10163 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 10164 type: string 10165 name: 10166 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 10167 type: string 10168 namespace: 10169 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 10170 type: string 10171 resourceVersion: 10172 description: 'Specific resourceVersion to which this reference 10173 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 10174 type: string 10175 uid: 10176 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 10177 type: string 10178 type: object 10179 x-kubernetes-map-type: atomic 10180 nodeDrainTimeout: 10181 description: 'NodeDrainTimeout is the total amount of time 10182 that the controller will spend on draining a node. The default 10183 value is 0, meaning that the node can be drained without 10184 any time limitations. NOTE: NodeDrainTimeout is different 10185 from `kubectl drain --timeout`' 10186 type: string 10187 providerID: 10188 description: ProviderID is the identification ID of the machine 10189 provided by the provider. This field must match the provider 10190 ID as seen on the node object corresponding to this machine. 10191 This field is required by higher level consumers of cluster-api. 10192 Example use case is cluster autoscaler with cluster-api 10193 as provider. Clean-up logic in the autoscaler compares machines 10194 to nodes to find out machines at provider which could not 10195 get registered as Kubernetes nodes. With cluster-api as 10196 a generic out-of-tree provider for autoscaler, this field 10197 is required by autoscaler to be able to have a provider 10198 view of the list of machines. Another list of nodes is queried 10199 from the k8s apiserver and then a comparison is done to 10200 find out unregistered machines and are marked for delete. 10201 This field will be set by the actuators and consumed by 10202 higher level entities like autoscaler that will be interfacing 10203 with cluster-api as generic provider. 10204 type: string 10205 version: 10206 description: Version defines the desired Kubernetes version. 10207 This field is meant to be optionally used by bootstrap providers. 10208 type: string 10209 required: 10210 - bootstrap 10211 - clusterName 10212 - infrastructureRef 10213 type: object 10214 type: object 10215 required: 10216 - clusterName 10217 - selector 10218 type: object 10219 status: 10220 description: MachineSetStatus defines the observed state of MachineSet. 10221 properties: 10222 availableReplicas: 10223 description: The number of available replicas (ready for at least 10224 minReadySeconds) for this MachineSet. 10225 format: int32 10226 type: integer 10227 conditions: 10228 description: Conditions defines current service state of the MachineSet. 10229 items: 10230 description: Condition defines an observation of a Cluster API resource 10231 operational state. 10232 properties: 10233 lastTransitionTime: 10234 description: Last time the condition transitioned from one status 10235 to another. This should be when the underlying condition changed. 10236 If that is not known, then using the time when the API field 10237 changed is acceptable. 10238 format: date-time 10239 type: string 10240 message: 10241 description: A human readable message indicating details about 10242 the transition. This field may be empty. 10243 type: string 10244 reason: 10245 description: The reason for the condition's last transition 10246 in CamelCase. The specific API may choose whether or not this 10247 field is considered a guaranteed API. This field may not be 10248 empty. 10249 type: string 10250 severity: 10251 description: Severity provides an explicit classification of 10252 Reason code, so the users or machines can immediately understand 10253 the current situation and act accordingly. The Severity field 10254 MUST be set only when Status=False. 10255 type: string 10256 status: 10257 description: Status of the condition, one of True, False, Unknown. 10258 type: string 10259 type: 10260 description: Type of condition in CamelCase or in foo.example.com/CamelCase. 10261 Many .condition.type values are consistent across resources 10262 like Available, but because arbitrary conditions can be useful 10263 (see .node.status.conditions), the ability to deconflict is 10264 important. 10265 type: string 10266 required: 10267 - status 10268 - type 10269 type: object 10270 type: array 10271 failureMessage: 10272 type: string 10273 failureReason: 10274 description: "In the event that there is a terminal problem reconciling 10275 the replicas, both FailureReason and FailureMessage will be set. 10276 FailureReason will be populated with a succinct value suitable for 10277 machine interpretation, while FailureMessage will contain a more 10278 verbose string suitable for logging and human consumption. \n These 10279 fields should not be set for transitive errors that a controller 10280 faces that are expected to be fixed automatically over time (like 10281 service outages), but instead indicate that something is fundamentally 10282 wrong with the MachineTemplate's spec or the configuration of the 10283 machine controller, and that manual intervention is required. Examples 10284 of terminal errors would be invalid combinations of settings in 10285 the spec, values that are unsupported by the machine controller, 10286 or the responsible machine controller itself being critically misconfigured. 10287 \n Any transient errors that occur during the reconciliation of 10288 Machines can be added as events to the MachineSet object and/or 10289 logged in the controller's output." 10290 type: string 10291 fullyLabeledReplicas: 10292 description: The number of replicas that have labels matching the 10293 labels of the machine template of the MachineSet. 10294 format: int32 10295 type: integer 10296 observedGeneration: 10297 description: ObservedGeneration reflects the generation of the most 10298 recently observed MachineSet. 10299 format: int64 10300 type: integer 10301 readyReplicas: 10302 description: The number of ready replicas for this MachineSet. A machine 10303 is considered ready when the node has been created and is "Ready". 10304 format: int32 10305 type: integer 10306 replicas: 10307 description: Replicas is the most recently observed number of replicas. 10308 format: int32 10309 type: integer 10310 selector: 10311 description: 'Selector is the same as the label selector but in the 10312 string format to avoid introspection by clients. The string will 10313 be in the same format as the query-param syntax. More info about 10314 label selectors: http://kubernetes.io/docs/user-guide/labels#label-selectors' 10315 type: string 10316 type: object 10317 type: object 10318 served: true 10319 storage: false 10320 subresources: 10321 scale: 10322 labelSelectorPath: .status.selector 10323 specReplicasPath: .spec.replicas 10324 statusReplicasPath: .status.replicas 10325 status: {} 10326 - additionalPrinterColumns: 10327 - description: Cluster 10328 jsonPath: .spec.clusterName 10329 name: Cluster 10330 type: string 10331 - description: Total number of machines desired by this machineset 10332 jsonPath: .spec.replicas 10333 name: Desired 10334 priority: 10 10335 type: integer 10336 - description: Total number of non-terminated machines targeted by this machineset 10337 jsonPath: .status.replicas 10338 name: Replicas 10339 type: integer 10340 - description: Total number of ready machines targeted by this machineset. 10341 jsonPath: .status.readyReplicas 10342 name: Ready 10343 type: integer 10344 - description: Total number of available machines (ready for at least minReadySeconds) 10345 jsonPath: .status.availableReplicas 10346 name: Available 10347 type: integer 10348 - description: Time duration since creation of MachineSet 10349 jsonPath: .metadata.creationTimestamp 10350 name: Age 10351 type: date 10352 - description: Kubernetes version associated with this MachineSet 10353 jsonPath: .spec.template.spec.version 10354 name: Version 10355 type: string 10356 name: v1beta1 10357 schema: 10358 openAPIV3Schema: 10359 description: MachineSet is the Schema for the machinesets API. 10360 properties: 10361 apiVersion: 10362 description: 'APIVersion defines the versioned schema of this representation 10363 of an object. Servers should convert recognized schemas to the latest 10364 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 10365 type: string 10366 kind: 10367 description: 'Kind is a string value representing the REST resource this 10368 object represents. Servers may infer this from the endpoint the client 10369 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 10370 type: string 10371 metadata: 10372 type: object 10373 spec: 10374 description: MachineSetSpec defines the desired state of MachineSet. 10375 properties: 10376 clusterName: 10377 description: ClusterName is the name of the Cluster this object belongs 10378 to. 10379 minLength: 1 10380 type: string 10381 deletePolicy: 10382 description: DeletePolicy defines the policy used to identify nodes 10383 to delete when downscaling. Defaults to "Random". Valid values 10384 are "Random, "Newest", "Oldest" 10385 enum: 10386 - Random 10387 - Newest 10388 - Oldest 10389 type: string 10390 minReadySeconds: 10391 description: MinReadySeconds is the minimum number of seconds for 10392 which a Node for a newly created machine should be ready before 10393 considering the replica available. Defaults to 0 (machine will be 10394 considered available as soon as the Node is ready) 10395 format: int32 10396 type: integer 10397 replicas: 10398 default: 1 10399 description: Replicas is the number of desired replicas. This is a 10400 pointer to distinguish between explicit zero and unspecified. Defaults 10401 to 1. 10402 format: int32 10403 type: integer 10404 selector: 10405 description: 'Selector is a label query over machines that should 10406 match the replica count. Label keys and values that must match in 10407 order to be controlled by this MachineSet. It must match the machine 10408 template''s labels. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors' 10409 properties: 10410 matchExpressions: 10411 description: matchExpressions is a list of label selector requirements. 10412 The requirements are ANDed. 10413 items: 10414 description: A label selector requirement is a selector that 10415 contains values, a key, and an operator that relates the key 10416 and values. 10417 properties: 10418 key: 10419 description: key is the label key that the selector applies 10420 to. 10421 type: string 10422 operator: 10423 description: operator represents a key's relationship to 10424 a set of values. Valid operators are In, NotIn, Exists 10425 and DoesNotExist. 10426 type: string 10427 values: 10428 description: values is an array of string values. If the 10429 operator is In or NotIn, the values array must be non-empty. 10430 If the operator is Exists or DoesNotExist, the values 10431 array must be empty. This array is replaced during a strategic 10432 merge patch. 10433 items: 10434 type: string 10435 type: array 10436 required: 10437 - key 10438 - operator 10439 type: object 10440 type: array 10441 matchLabels: 10442 additionalProperties: 10443 type: string 10444 description: matchLabels is a map of {key,value} pairs. A single 10445 {key,value} in the matchLabels map is equivalent to an element 10446 of matchExpressions, whose key field is "key", the operator 10447 is "In", and the values array contains only "value". The requirements 10448 are ANDed. 10449 type: object 10450 type: object 10451 x-kubernetes-map-type: atomic 10452 template: 10453 description: Template is the object that describes the machine that 10454 will be created if insufficient replicas are detected. Object references 10455 to custom resources are treated as templates. 10456 properties: 10457 metadata: 10458 description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata' 10459 properties: 10460 annotations: 10461 additionalProperties: 10462 type: string 10463 description: 'Annotations is an unstructured key value map 10464 stored with a resource that may be set by external tools 10465 to store and retrieve arbitrary metadata. They are not queryable 10466 and should be preserved when modifying objects. More info: 10467 http://kubernetes.io/docs/user-guide/annotations' 10468 type: object 10469 labels: 10470 additionalProperties: 10471 type: string 10472 description: 'Map of string keys and values that can be used 10473 to organize and categorize (scope and select) objects. May 10474 match selectors of replication controllers and services. 10475 More info: http://kubernetes.io/docs/user-guide/labels' 10476 type: object 10477 type: object 10478 spec: 10479 description: 'Specification of the desired behavior of the machine. 10480 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' 10481 properties: 10482 bootstrap: 10483 description: Bootstrap is a reference to a local struct which 10484 encapsulates fields to configure the Machine’s bootstrapping 10485 mechanism. 10486 properties: 10487 configRef: 10488 description: ConfigRef is a reference to a bootstrap provider-specific 10489 resource that holds configuration details. The reference 10490 is optional to allow users/operators to specify Bootstrap.DataSecretName 10491 without the need of a controller. 10492 properties: 10493 apiVersion: 10494 description: API version of the referent. 10495 type: string 10496 fieldPath: 10497 description: 'If referring to a piece of an object 10498 instead of an entire object, this string should 10499 contain a valid JSON/Go field access statement, 10500 such as desiredState.manifest.containers[2]. For 10501 example, if the object reference is to a container 10502 within a pod, this would take on a value like: "spec.containers{name}" 10503 (where "name" refers to the name of the container 10504 that triggered the event) or if no container name 10505 is specified "spec.containers[2]" (container with 10506 index 2 in this pod). This syntax is chosen only 10507 to have some well-defined way of referencing a part 10508 of an object. TODO: this design is not final and 10509 this field is subject to change in the future.' 10510 type: string 10511 kind: 10512 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 10513 type: string 10514 name: 10515 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 10516 type: string 10517 namespace: 10518 description: 'Namespace of the referent. More info: 10519 https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 10520 type: string 10521 resourceVersion: 10522 description: 'Specific resourceVersion to which this 10523 reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 10524 type: string 10525 uid: 10526 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 10527 type: string 10528 type: object 10529 x-kubernetes-map-type: atomic 10530 dataSecretName: 10531 description: DataSecretName is the name of the secret 10532 that stores the bootstrap data script. If nil, the Machine 10533 should remain in the Pending state. 10534 type: string 10535 type: object 10536 clusterName: 10537 description: ClusterName is the name of the Cluster this object 10538 belongs to. 10539 minLength: 1 10540 type: string 10541 failureDomain: 10542 description: FailureDomain is the failure domain the machine 10543 will be created in. Must match a key in the FailureDomains 10544 map stored on the cluster object. 10545 type: string 10546 infrastructureRef: 10547 description: InfrastructureRef is a required reference to 10548 a custom resource offered by an infrastructure provider. 10549 properties: 10550 apiVersion: 10551 description: API version of the referent. 10552 type: string 10553 fieldPath: 10554 description: 'If referring to a piece of an object instead 10555 of an entire object, this string should contain a valid 10556 JSON/Go field access statement, such as desiredState.manifest.containers[2]. 10557 For example, if the object reference is to a container 10558 within a pod, this would take on a value like: "spec.containers{name}" 10559 (where "name" refers to the name of the container that 10560 triggered the event) or if no container name is specified 10561 "spec.containers[2]" (container with index 2 in this 10562 pod). This syntax is chosen only to have some well-defined 10563 way of referencing a part of an object. TODO: this design 10564 is not final and this field is subject to change in 10565 the future.' 10566 type: string 10567 kind: 10568 description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 10569 type: string 10570 name: 10571 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 10572 type: string 10573 namespace: 10574 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' 10575 type: string 10576 resourceVersion: 10577 description: 'Specific resourceVersion to which this reference 10578 is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' 10579 type: string 10580 uid: 10581 description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' 10582 type: string 10583 type: object 10584 x-kubernetes-map-type: atomic 10585 nodeDeletionTimeout: 10586 description: NodeDeletionTimeout defines how long the controller 10587 will attempt to delete the Node that the Machine hosts after 10588 the Machine is marked for deletion. A duration of 0 will 10589 retry deletion indefinitely. Defaults to 10 seconds. 10590 type: string 10591 nodeDrainTimeout: 10592 description: 'NodeDrainTimeout is the total amount of time 10593 that the controller will spend on draining a node. The default 10594 value is 0, meaning that the node can be drained without 10595 any time limitations. NOTE: NodeDrainTimeout is different 10596 from `kubectl drain --timeout`' 10597 type: string 10598 nodeVolumeDetachTimeout: 10599 description: NodeVolumeDetachTimeout is the total amount of 10600 time that the controller will spend on waiting for all volumes 10601 to be detached. The default value is 0, meaning that the 10602 volumes can be detached without any time limitations. 10603 type: string 10604 providerID: 10605 description: ProviderID is the identification ID of the machine 10606 provided by the provider. This field must match the provider 10607 ID as seen on the node object corresponding to this machine. 10608 This field is required by higher level consumers of cluster-api. 10609 Example use case is cluster autoscaler with cluster-api 10610 as provider. Clean-up logic in the autoscaler compares machines 10611 to nodes to find out machines at provider which could not 10612 get registered as Kubernetes nodes. With cluster-api as 10613 a generic out-of-tree provider for autoscaler, this field 10614 is required by autoscaler to be able to have a provider 10615 view of the list of machines. Another list of nodes is queried 10616 from the k8s apiserver and then a comparison is done to 10617 find out unregistered machines and are marked for delete. 10618 This field will be set by the actuators and consumed by 10619 higher level entities like autoscaler that will be interfacing 10620 with cluster-api as generic provider. 10621 type: string 10622 version: 10623 description: Version defines the desired Kubernetes version. 10624 This field is meant to be optionally used by bootstrap providers. 10625 type: string 10626 required: 10627 - bootstrap 10628 - clusterName 10629 - infrastructureRef 10630 type: object 10631 type: object 10632 required: 10633 - clusterName 10634 - selector 10635 type: object 10636 status: 10637 description: MachineSetStatus defines the observed state of MachineSet. 10638 properties: 10639 availableReplicas: 10640 description: The number of available replicas (ready for at least 10641 minReadySeconds) for this MachineSet. 10642 format: int32 10643 type: integer 10644 conditions: 10645 description: Conditions defines current service state of the MachineSet. 10646 items: 10647 description: Condition defines an observation of a Cluster API resource 10648 operational state. 10649 properties: 10650 lastTransitionTime: 10651 description: Last time the condition transitioned from one status 10652 to another. This should be when the underlying condition changed. 10653 If that is not known, then using the time when the API field 10654 changed is acceptable. 10655 format: date-time 10656 type: string 10657 message: 10658 description: A human readable message indicating details about 10659 the transition. This field may be empty. 10660 type: string 10661 reason: 10662 description: The reason for the condition's last transition 10663 in CamelCase. The specific API may choose whether or not this 10664 field is considered a guaranteed API. This field may not be 10665 empty. 10666 type: string 10667 severity: 10668 description: Severity provides an explicit classification of 10669 Reason code, so the users or machines can immediately understand 10670 the current situation and act accordingly. The Severity field 10671 MUST be set only when Status=False. 10672 type: string 10673 status: 10674 description: Status of the condition, one of True, False, Unknown. 10675 type: string 10676 type: 10677 description: Type of condition in CamelCase or in foo.example.com/CamelCase. 10678 Many .condition.type values are consistent across resources 10679 like Available, but because arbitrary conditions can be useful 10680 (see .node.status.conditions), the ability to deconflict is 10681 important. 10682 type: string 10683 required: 10684 - lastTransitionTime 10685 - status 10686 - type 10687 type: object 10688 type: array 10689 failureMessage: 10690 type: string 10691 failureReason: 10692 description: "In the event that there is a terminal problem reconciling 10693 the replicas, both FailureReason and FailureMessage will be set. 10694 FailureReason will be populated with a succinct value suitable for 10695 machine interpretation, while FailureMessage will contain a more 10696 verbose string suitable for logging and human consumption. \n These 10697 fields should not be set for transitive errors that a controller 10698 faces that are expected to be fixed automatically over time (like 10699 service outages), but instead indicate that something is fundamentally 10700 wrong with the MachineTemplate's spec or the configuration of the 10701 machine controller, and that manual intervention is required. Examples 10702 of terminal errors would be invalid combinations of settings in 10703 the spec, values that are unsupported by the machine controller, 10704 or the responsible machine controller itself being critically misconfigured. 10705 \n Any transient errors that occur during the reconciliation of 10706 Machines can be added as events to the MachineSet object and/or 10707 logged in the controller's output." 10708 type: string 10709 fullyLabeledReplicas: 10710 description: The number of replicas that have labels matching the 10711 labels of the machine template of the MachineSet. 10712 format: int32 10713 type: integer 10714 observedGeneration: 10715 description: ObservedGeneration reflects the generation of the most 10716 recently observed MachineSet. 10717 format: int64 10718 type: integer 10719 readyReplicas: 10720 description: The number of ready replicas for this MachineSet. A machine 10721 is considered ready when the node has been created and is "Ready". 10722 format: int32 10723 type: integer 10724 replicas: 10725 description: Replicas is the most recently observed number of replicas. 10726 format: int32 10727 type: integer 10728 selector: 10729 description: 'Selector is the same as the label selector but in the 10730 string format to avoid introspection by clients. The string will 10731 be in the same format as the query-param syntax. More info about 10732 label selectors: http://kubernetes.io/docs/user-guide/labels#label-selectors' 10733 type: string 10734 type: object 10735 type: object 10736 served: true 10737 storage: true 10738 subresources: 10739 scale: 10740 labelSelectorPath: .status.selector 10741 specReplicasPath: .spec.replicas 10742 statusReplicasPath: .status.replicas 10743 status: {} 10744 --- 10745 apiVersion: v1 10746 kind: ServiceAccount 10747 metadata: 10748 labels: 10749 cluster.x-k8s.io/provider: cluster-api 10750 name: capi-manager 10751 namespace: capi-system 10752 --- 10753 apiVersion: rbac.authorization.k8s.io/v1 10754 kind: Role 10755 metadata: 10756 labels: 10757 cluster.x-k8s.io/provider: cluster-api 10758 name: capi-leader-election-role 10759 namespace: capi-system 10760 rules: 10761 - apiGroups: 10762 - "" 10763 resources: 10764 - events 10765 verbs: 10766 - create 10767 - apiGroups: 10768 - coordination.k8s.io 10769 resources: 10770 - leases 10771 verbs: 10772 - get 10773 - list 10774 - watch 10775 - create 10776 - update 10777 - patch 10778 - delete 10779 --- 10780 aggregationRule: 10781 clusterRoleSelectors: 10782 - matchLabels: 10783 cluster.x-k8s.io/aggregate-to-manager: "true" 10784 apiVersion: rbac.authorization.k8s.io/v1 10785 kind: ClusterRole 10786 metadata: 10787 labels: 10788 cluster.x-k8s.io/provider: cluster-api 10789 name: capi-aggregated-manager-role 10790 rules: [] 10791 --- 10792 apiVersion: rbac.authorization.k8s.io/v1 10793 kind: ClusterRole 10794 metadata: 10795 labels: 10796 cluster.x-k8s.io/aggregate-to-manager: "true" 10797 cluster.x-k8s.io/provider: cluster-api 10798 name: capi-manager-role 10799 rules: 10800 - apiGroups: 10801 - "" 10802 resources: 10803 - namespaces 10804 verbs: 10805 - get 10806 - list 10807 - watch 10808 - apiGroups: 10809 - addons.cluster.x-k8s.io 10810 resources: 10811 - '*' 10812 verbs: 10813 - create 10814 - delete 10815 - get 10816 - list 10817 - patch 10818 - update 10819 - watch 10820 - apiGroups: 10821 - addons.cluster.x-k8s.io 10822 resources: 10823 - clusterresourcesets/finalizers 10824 - clusterresourcesets/status 10825 verbs: 10826 - get 10827 - patch 10828 - update 10829 - apiGroups: 10830 - apiextensions.k8s.io 10831 resources: 10832 - customresourcedefinitions 10833 verbs: 10834 - get 10835 - list 10836 - watch 10837 - apiGroups: 10838 - bootstrap.cluster.x-k8s.io 10839 - controlplane.cluster.x-k8s.io 10840 - infrastructure.cluster.x-k8s.io 10841 resources: 10842 - '*' 10843 verbs: 10844 - create 10845 - delete 10846 - get 10847 - list 10848 - patch 10849 - update 10850 - watch 10851 - apiGroups: 10852 - bootstrap.cluster.x-k8s.io 10853 - infrastructure.cluster.x-k8s.io 10854 resources: 10855 - '*' 10856 verbs: 10857 - create 10858 - delete 10859 - get 10860 - list 10861 - patch 10862 - update 10863 - watch 10864 - apiGroups: 10865 - cluster.x-k8s.io 10866 resources: 10867 - clusterclasses 10868 verbs: 10869 - create 10870 - delete 10871 - get 10872 - list 10873 - patch 10874 - update 10875 - watch 10876 - apiGroups: 10877 - cluster.x-k8s.io 10878 resources: 10879 - clusterclasses 10880 - clusterclasses/status 10881 verbs: 10882 - get 10883 - list 10884 - patch 10885 - update 10886 - watch 10887 - apiGroups: 10888 - cluster.x-k8s.io 10889 resources: 10890 - clusters 10891 verbs: 10892 - get 10893 - list 10894 - watch 10895 - apiGroups: 10896 - cluster.x-k8s.io 10897 resources: 10898 - clusters 10899 - clusters/finalizers 10900 - clusters/status 10901 verbs: 10902 - create 10903 - delete 10904 - get 10905 - list 10906 - patch 10907 - update 10908 - watch 10909 - apiGroups: 10910 - cluster.x-k8s.io 10911 resources: 10912 - clusters 10913 - clusters/status 10914 verbs: 10915 - create 10916 - delete 10917 - get 10918 - list 10919 - patch 10920 - update 10921 - watch 10922 - apiGroups: 10923 - cluster.x-k8s.io 10924 resources: 10925 - machinedeployments 10926 verbs: 10927 - create 10928 - delete 10929 - get 10930 - list 10931 - patch 10932 - update 10933 - watch 10934 - apiGroups: 10935 - cluster.x-k8s.io 10936 resources: 10937 - machinedeployments 10938 - machinedeployments/finalizers 10939 verbs: 10940 - get 10941 - list 10942 - patch 10943 - update 10944 - watch 10945 - apiGroups: 10946 - cluster.x-k8s.io 10947 resources: 10948 - machinedeployments 10949 - machinedeployments/finalizers 10950 - machinedeployments/status 10951 verbs: 10952 - create 10953 - delete 10954 - get 10955 - list 10956 - patch 10957 - update 10958 - watch 10959 - apiGroups: 10960 - cluster.x-k8s.io 10961 resources: 10962 - machinehealthchecks 10963 verbs: 10964 - create 10965 - delete 10966 - get 10967 - list 10968 - patch 10969 - update 10970 - watch 10971 - apiGroups: 10972 - cluster.x-k8s.io 10973 resources: 10974 - machinehealthchecks 10975 - machinehealthchecks/finalizers 10976 - machinehealthchecks/status 10977 verbs: 10978 - get 10979 - list 10980 - patch 10981 - update 10982 - watch 10983 - apiGroups: 10984 - cluster.x-k8s.io 10985 resources: 10986 - machinepools 10987 - machinepools/finalizers 10988 - machinepools/status 10989 verbs: 10990 - create 10991 - delete 10992 - get 10993 - list 10994 - patch 10995 - update 10996 - watch 10997 - apiGroups: 10998 - cluster.x-k8s.io 10999 resources: 11000 - machines 11001 - machines/finalizers 11002 - machines/status 11003 verbs: 11004 - create 11005 - delete 11006 - get 11007 - list 11008 - patch 11009 - update 11010 - watch 11011 - apiGroups: 11012 - cluster.x-k8s.io 11013 resources: 11014 - machines 11015 - machines/status 11016 verbs: 11017 - delete 11018 - get 11019 - list 11020 - watch 11021 - apiGroups: 11022 - cluster.x-k8s.io 11023 resources: 11024 - machinesets 11025 verbs: 11026 - get 11027 - list 11028 - watch 11029 - apiGroups: 11030 - cluster.x-k8s.io 11031 resources: 11032 - machinesets 11033 - machinesets/finalizers 11034 verbs: 11035 - get 11036 - list 11037 - patch 11038 - update 11039 - watch 11040 - apiGroups: 11041 - cluster.x-k8s.io 11042 resources: 11043 - machinesets 11044 - machinesets/finalizers 11045 - machinesets/status 11046 verbs: 11047 - create 11048 - delete 11049 - get 11050 - list 11051 - patch 11052 - update 11053 - watch 11054 - apiGroups: 11055 - "" 11056 resources: 11057 - configmaps 11058 verbs: 11059 - get 11060 - list 11061 - patch 11062 - watch 11063 - apiGroups: 11064 - "" 11065 resources: 11066 - events 11067 verbs: 11068 - create 11069 - get 11070 - list 11071 - patch 11072 - watch 11073 - apiGroups: 11074 - "" 11075 resources: 11076 - nodes 11077 verbs: 11078 - create 11079 - delete 11080 - get 11081 - list 11082 - patch 11083 - update 11084 - watch 11085 - apiGroups: 11086 - "" 11087 resources: 11088 - secrets 11089 verbs: 11090 - create 11091 - delete 11092 - get 11093 - list 11094 - patch 11095 - watch 11096 - apiGroups: 11097 - ipam.cluster.x-k8s.io 11098 resources: 11099 - ipaddressclaims 11100 verbs: 11101 - get 11102 - list 11103 - watch 11104 - apiGroups: 11105 - runtime.cluster.x-k8s.io 11106 resources: 11107 - extensionconfigs 11108 - extensionconfigs/status 11109 verbs: 11110 - get 11111 - list 11112 - patch 11113 - update 11114 - watch 11115 --- 11116 apiVersion: rbac.authorization.k8s.io/v1 11117 kind: RoleBinding 11118 metadata: 11119 labels: 11120 cluster.x-k8s.io/provider: cluster-api 11121 name: capi-leader-election-rolebinding 11122 namespace: capi-system 11123 roleRef: 11124 apiGroup: rbac.authorization.k8s.io 11125 kind: Role 11126 name: capi-leader-election-role 11127 subjects: 11128 - kind: ServiceAccount 11129 name: capi-manager 11130 namespace: capi-system 11131 --- 11132 apiVersion: rbac.authorization.k8s.io/v1 11133 kind: ClusterRoleBinding 11134 metadata: 11135 labels: 11136 cluster.x-k8s.io/provider: cluster-api 11137 name: capi-manager-rolebinding 11138 roleRef: 11139 apiGroup: rbac.authorization.k8s.io 11140 kind: ClusterRole 11141 name: capi-aggregated-manager-role 11142 subjects: 11143 - kind: ServiceAccount 11144 name: capi-manager 11145 namespace: capi-system 11146 --- 11147 apiVersion: v1 11148 kind: Service 11149 metadata: 11150 labels: 11151 cluster.x-k8s.io/provider: cluster-api 11152 name: capi-webhook-service 11153 namespace: capi-system 11154 spec: 11155 ports: 11156 - port: 443 11157 targetPort: webhook-server 11158 selector: 11159 cluster.x-k8s.io/provider: cluster-api 11160 --- 11161 apiVersion: apps/v1 11162 kind: Deployment 11163 metadata: 11164 labels: 11165 cluster.x-k8s.io/provider: cluster-api 11166 control-plane: controller-manager 11167 name: capi-controller-manager 11168 namespace: capi-system 11169 spec: 11170 replicas: 1 11171 selector: 11172 matchLabels: 11173 cluster.x-k8s.io/provider: cluster-api 11174 control-plane: controller-manager 11175 template: 11176 metadata: 11177 labels: 11178 cluster.x-k8s.io/provider: cluster-api 11179 control-plane: controller-manager 11180 spec: 11181 containers: 11182 - args: 11183 - --leader-elect 11184 - --metrics-bind-addr=localhost:8080 11185 - --feature-gates=MachinePool=${EXP_MACHINE_POOL:=false},ClusterResourceSet=${EXP_CLUSTER_RESOURCE_SET:=false},ClusterTopology=${CLUSTER_TOPOLOGY:=false},RuntimeSDK=${EXP_RUNTIME_SDK:=false},MachineSetPreflightChecks=${EXP_MACHINE_SET_PREFLIGHT_CHECKS:=false} 11186 command: 11187 - /manager 11188 env: 11189 - name: POD_NAMESPACE 11190 valueFrom: 11191 fieldRef: 11192 fieldPath: metadata.namespace 11193 - name: POD_NAME 11194 valueFrom: 11195 fieldRef: 11196 fieldPath: metadata.name 11197 - name: POD_UID 11198 valueFrom: 11199 fieldRef: 11200 fieldPath: metadata.uid 11201 image: ghcr.io/verrazzano/cluster-api-controller:v1.5.3-20231101190231-e11429a34 11202 imagePullPolicy: IfNotPresent 11203 livenessProbe: 11204 httpGet: 11205 path: /healthz 11206 port: healthz 11207 name: manager 11208 ports: 11209 - containerPort: 9443 11210 name: webhook-server 11211 protocol: TCP 11212 - containerPort: 9440 11213 name: healthz 11214 protocol: TCP 11215 readinessProbe: 11216 httpGet: 11217 path: /readyz 11218 port: healthz 11219 securityContext: 11220 allowPrivilegeEscalation: false 11221 capabilities: 11222 drop: 11223 - ALL 11224 privileged: false 11225 runAsGroup: 65532 11226 runAsUser: 1000 11227 volumeMounts: 11228 - mountPath: /tmp/k8s-webhook-server/serving-certs 11229 name: cert 11230 readOnly: true 11231 securityContext: 11232 runAsNonRoot: true 11233 seccompProfile: 11234 type: RuntimeDefault 11235 serviceAccountName: capi-manager 11236 terminationGracePeriodSeconds: 10 11237 tolerations: 11238 - effect: NoSchedule 11239 key: node-role.kubernetes.io/master 11240 - effect: NoSchedule 11241 key: node-role.kubernetes.io/control-plane 11242 volumes: 11243 - name: cert 11244 secret: 11245 secretName: capi-webhook-service-cert 11246 --- 11247 apiVersion: cert-manager.io/v1 11248 kind: Certificate 11249 metadata: 11250 labels: 11251 cluster.x-k8s.io/provider: cluster-api 11252 name: capi-serving-cert 11253 namespace: capi-system 11254 spec: 11255 dnsNames: 11256 - capi-webhook-service.capi-system.svc 11257 - capi-webhook-service.capi-system.svc.cluster.local 11258 issuerRef: 11259 kind: Issuer 11260 name: capi-selfsigned-issuer 11261 secretName: capi-webhook-service-cert 11262 subject: 11263 organizations: 11264 - k8s-sig-cluster-lifecycle 11265 --- 11266 apiVersion: cert-manager.io/v1 11267 kind: Issuer 11268 metadata: 11269 labels: 11270 cluster.x-k8s.io/provider: cluster-api 11271 name: capi-selfsigned-issuer 11272 namespace: capi-system 11273 spec: 11274 selfSigned: {} 11275 --- 11276 apiVersion: admissionregistration.k8s.io/v1 11277 kind: MutatingWebhookConfiguration 11278 metadata: 11279 annotations: 11280 cert-manager.io/inject-ca-from: capi-system/capi-serving-cert 11281 labels: 11282 cluster.x-k8s.io/provider: cluster-api 11283 name: capi-mutating-webhook-configuration 11284 webhooks: 11285 - admissionReviewVersions: 11286 - v1 11287 - v1beta1 11288 clientConfig: 11289 service: 11290 name: capi-webhook-service 11291 namespace: capi-system 11292 path: /mutate-cluster-x-k8s-io-v1beta1-machine 11293 failurePolicy: Fail 11294 matchPolicy: Equivalent 11295 name: default.machine.cluster.x-k8s.io 11296 rules: 11297 - apiGroups: 11298 - cluster.x-k8s.io 11299 apiVersions: 11300 - v1beta1 11301 operations: 11302 - CREATE 11303 - UPDATE 11304 resources: 11305 - machines 11306 sideEffects: None 11307 - admissionReviewVersions: 11308 - v1 11309 - v1beta1 11310 clientConfig: 11311 service: 11312 name: capi-webhook-service 11313 namespace: capi-system 11314 path: /mutate-cluster-x-k8s-io-v1beta1-machinedeployment 11315 failurePolicy: Fail 11316 matchPolicy: Equivalent 11317 name: default.machinedeployment.cluster.x-k8s.io 11318 rules: 11319 - apiGroups: 11320 - cluster.x-k8s.io 11321 apiVersions: 11322 - v1beta1 11323 operations: 11324 - CREATE 11325 - UPDATE 11326 resources: 11327 - machinedeployments 11328 sideEffects: None 11329 - admissionReviewVersions: 11330 - v1 11331 - v1beta1 11332 clientConfig: 11333 service: 11334 name: capi-webhook-service 11335 namespace: capi-system 11336 path: /mutate-cluster-x-k8s-io-v1beta1-machinehealthcheck 11337 failurePolicy: Fail 11338 matchPolicy: Equivalent 11339 name: default.machinehealthcheck.cluster.x-k8s.io 11340 rules: 11341 - apiGroups: 11342 - cluster.x-k8s.io 11343 apiVersions: 11344 - v1beta1 11345 operations: 11346 - CREATE 11347 - UPDATE 11348 resources: 11349 - machinehealthchecks 11350 sideEffects: None 11351 - admissionReviewVersions: 11352 - v1 11353 - v1beta1 11354 clientConfig: 11355 service: 11356 name: capi-webhook-service 11357 namespace: capi-system 11358 path: /mutate-cluster-x-k8s-io-v1beta1-machineset 11359 failurePolicy: Fail 11360 matchPolicy: Equivalent 11361 name: default.machineset.cluster.x-k8s.io 11362 rules: 11363 - apiGroups: 11364 - cluster.x-k8s.io 11365 apiVersions: 11366 - v1beta1 11367 operations: 11368 - CREATE 11369 - UPDATE 11370 resources: 11371 - machinesets 11372 sideEffects: None 11373 - admissionReviewVersions: 11374 - v1 11375 - v1beta1 11376 clientConfig: 11377 service: 11378 name: capi-webhook-service 11379 namespace: capi-system 11380 path: /mutate-cluster-x-k8s-io-v1beta1-cluster 11381 failurePolicy: Fail 11382 matchPolicy: Equivalent 11383 name: default.cluster.cluster.x-k8s.io 11384 rules: 11385 - apiGroups: 11386 - cluster.x-k8s.io 11387 apiVersions: 11388 - v1beta1 11389 operations: 11390 - CREATE 11391 - UPDATE 11392 resources: 11393 - clusters 11394 sideEffects: None 11395 - admissionReviewVersions: 11396 - v1 11397 - v1beta1 11398 clientConfig: 11399 service: 11400 name: capi-webhook-service 11401 namespace: capi-system 11402 path: /mutate-cluster-x-k8s-io-v1beta1-clusterclass 11403 failurePolicy: Fail 11404 matchPolicy: Equivalent 11405 name: default.clusterclass.cluster.x-k8s.io 11406 rules: 11407 - apiGroups: 11408 - cluster.x-k8s.io 11409 apiVersions: 11410 - v1beta1 11411 operations: 11412 - CREATE 11413 - UPDATE 11414 resources: 11415 - clusterclasses 11416 sideEffects: None 11417 - admissionReviewVersions: 11418 - v1 11419 - v1beta1 11420 clientConfig: 11421 service: 11422 name: capi-webhook-service 11423 namespace: capi-system 11424 path: /mutate-runtime-cluster-x-k8s-io-v1alpha1-extensionconfig 11425 failurePolicy: Fail 11426 matchPolicy: Equivalent 11427 name: default.extensionconfig.runtime.addons.cluster.x-k8s.io 11428 rules: 11429 - apiGroups: 11430 - runtime.cluster.x-k8s.io 11431 apiVersions: 11432 - v1alpha1 11433 operations: 11434 - CREATE 11435 - UPDATE 11436 resources: 11437 - extensionconfigs 11438 sideEffects: None 11439 - admissionReviewVersions: 11440 - v1 11441 - v1beta1 11442 clientConfig: 11443 service: 11444 name: capi-webhook-service 11445 namespace: capi-system 11446 path: /mutate-cluster-x-k8s-io-v1beta1-machinepool 11447 failurePolicy: Fail 11448 matchPolicy: Equivalent 11449 name: default.machinepool.cluster.x-k8s.io 11450 rules: 11451 - apiGroups: 11452 - cluster.x-k8s.io 11453 apiVersions: 11454 - v1beta1 11455 operations: 11456 - CREATE 11457 - UPDATE 11458 resources: 11459 - machinepools 11460 sideEffects: None 11461 - admissionReviewVersions: 11462 - v1 11463 - v1beta1 11464 clientConfig: 11465 service: 11466 name: capi-webhook-service 11467 namespace: capi-system 11468 path: /mutate-addons-cluster-x-k8s-io-v1beta1-clusterresourceset 11469 failurePolicy: Fail 11470 matchPolicy: Equivalent 11471 name: default.clusterresourceset.addons.cluster.x-k8s.io 11472 rules: 11473 - apiGroups: 11474 - addons.cluster.x-k8s.io 11475 apiVersions: 11476 - v1beta1 11477 operations: 11478 - CREATE 11479 - UPDATE 11480 resources: 11481 - clusterresourcesets 11482 sideEffects: None 11483 --- 11484 apiVersion: admissionregistration.k8s.io/v1 11485 kind: ValidatingWebhookConfiguration 11486 metadata: 11487 annotations: 11488 cert-manager.io/inject-ca-from: capi-system/capi-serving-cert 11489 labels: 11490 cluster.x-k8s.io/provider: cluster-api 11491 name: capi-validating-webhook-configuration 11492 webhooks: 11493 - admissionReviewVersions: 11494 - v1 11495 - v1beta1 11496 clientConfig: 11497 service: 11498 name: capi-webhook-service 11499 namespace: capi-system 11500 path: /validate-cluster-x-k8s-io-v1beta1-machine 11501 failurePolicy: Fail 11502 matchPolicy: Equivalent 11503 name: validation.machine.cluster.x-k8s.io 11504 rules: 11505 - apiGroups: 11506 - cluster.x-k8s.io 11507 apiVersions: 11508 - v1beta1 11509 operations: 11510 - CREATE 11511 - UPDATE 11512 resources: 11513 - machines 11514 sideEffects: None 11515 - admissionReviewVersions: 11516 - v1 11517 - v1beta1 11518 clientConfig: 11519 service: 11520 name: capi-webhook-service 11521 namespace: capi-system 11522 path: /validate-cluster-x-k8s-io-v1beta1-machinedeployment 11523 failurePolicy: Fail 11524 matchPolicy: Equivalent 11525 name: validation.machinedeployment.cluster.x-k8s.io 11526 rules: 11527 - apiGroups: 11528 - cluster.x-k8s.io 11529 apiVersions: 11530 - v1beta1 11531 operations: 11532 - CREATE 11533 - UPDATE 11534 resources: 11535 - machinedeployments 11536 sideEffects: None 11537 - admissionReviewVersions: 11538 - v1 11539 - v1beta1 11540 clientConfig: 11541 service: 11542 name: capi-webhook-service 11543 namespace: capi-system 11544 path: /validate-cluster-x-k8s-io-v1beta1-machinehealthcheck 11545 failurePolicy: Fail 11546 matchPolicy: Equivalent 11547 name: validation.machinehealthcheck.cluster.x-k8s.io 11548 rules: 11549 - apiGroups: 11550 - cluster.x-k8s.io 11551 apiVersions: 11552 - v1beta1 11553 operations: 11554 - CREATE 11555 - UPDATE 11556 resources: 11557 - machinehealthchecks 11558 sideEffects: None 11559 - admissionReviewVersions: 11560 - v1 11561 - v1beta1 11562 clientConfig: 11563 service: 11564 name: capi-webhook-service 11565 namespace: capi-system 11566 path: /validate-cluster-x-k8s-io-v1beta1-machineset 11567 failurePolicy: Fail 11568 matchPolicy: Equivalent 11569 name: validation.machineset.cluster.x-k8s.io 11570 rules: 11571 - apiGroups: 11572 - cluster.x-k8s.io 11573 apiVersions: 11574 - v1beta1 11575 operations: 11576 - CREATE 11577 - UPDATE 11578 resources: 11579 - machinesets 11580 sideEffects: None 11581 - admissionReviewVersions: 11582 - v1 11583 - v1beta1 11584 clientConfig: 11585 service: 11586 name: capi-webhook-service 11587 namespace: capi-system 11588 path: /validate-cluster-x-k8s-io-v1beta1-cluster 11589 failurePolicy: Fail 11590 matchPolicy: Equivalent 11591 name: validation.cluster.cluster.x-k8s.io 11592 rules: 11593 - apiGroups: 11594 - cluster.x-k8s.io 11595 apiVersions: 11596 - v1beta1 11597 operations: 11598 - CREATE 11599 - UPDATE 11600 - DELETE 11601 resources: 11602 - clusters 11603 sideEffects: None 11604 - admissionReviewVersions: 11605 - v1 11606 - v1beta1 11607 clientConfig: 11608 service: 11609 name: capi-webhook-service 11610 namespace: capi-system 11611 path: /validate-cluster-x-k8s-io-v1beta1-clusterclass 11612 failurePolicy: Fail 11613 matchPolicy: Equivalent 11614 name: validation.clusterclass.cluster.x-k8s.io 11615 rules: 11616 - apiGroups: 11617 - cluster.x-k8s.io 11618 apiVersions: 11619 - v1beta1 11620 operations: 11621 - CREATE 11622 - UPDATE 11623 - DELETE 11624 resources: 11625 - clusterclasses 11626 sideEffects: None 11627 - admissionReviewVersions: 11628 - v1 11629 - v1beta1 11630 clientConfig: 11631 service: 11632 name: capi-webhook-service 11633 namespace: capi-system 11634 path: /validate-runtime-cluster-x-k8s-io-v1alpha1-extensionconfig 11635 failurePolicy: Fail 11636 matchPolicy: Equivalent 11637 name: validation.extensionconfig.runtime.cluster.x-k8s.io 11638 rules: 11639 - apiGroups: 11640 - runtime.cluster.x-k8s.io 11641 apiVersions: 11642 - v1alpha1 11643 operations: 11644 - CREATE 11645 - UPDATE 11646 resources: 11647 - extensionconfigs 11648 sideEffects: None 11649 - admissionReviewVersions: 11650 - v1 11651 - v1beta1 11652 clientConfig: 11653 service: 11654 name: capi-webhook-service 11655 namespace: capi-system 11656 path: /validate-cluster-x-k8s-io-v1beta1-machinepool 11657 failurePolicy: Fail 11658 matchPolicy: Equivalent 11659 name: validation.machinepool.cluster.x-k8s.io 11660 rules: 11661 - apiGroups: 11662 - cluster.x-k8s.io 11663 apiVersions: 11664 - v1beta1 11665 operations: 11666 - CREATE 11667 - UPDATE 11668 resources: 11669 - machinepools 11670 sideEffects: None 11671 - admissionReviewVersions: 11672 - v1 11673 - v1beta1 11674 clientConfig: 11675 service: 11676 name: capi-webhook-service 11677 namespace: capi-system 11678 path: /validate-addons-cluster-x-k8s-io-v1beta1-clusterresourceset 11679 failurePolicy: Fail 11680 matchPolicy: Equivalent 11681 name: validation.clusterresourceset.addons.cluster.x-k8s.io 11682 rules: 11683 - apiGroups: 11684 - addons.cluster.x-k8s.io 11685 apiVersions: 11686 - v1beta1 11687 operations: 11688 - CREATE 11689 - UPDATE 11690 resources: 11691 - clusterresourcesets 11692 sideEffects: None 11693 - admissionReviewVersions: 11694 - v1 11695 - v1beta1 11696 clientConfig: 11697 service: 11698 name: capi-webhook-service 11699 namespace: capi-system 11700 path: /validate-addons-cluster-x-k8s-io-v1beta1-clusterresourcesetbinding 11701 failurePolicy: Fail 11702 matchPolicy: Equivalent 11703 name: validation.clusterresourcesetbinding.addons.cluster.x-k8s.io 11704 rules: 11705 - apiGroups: 11706 - addons.cluster.x-k8s.io 11707 apiVersions: 11708 - v1beta1 11709 operations: 11710 - CREATE 11711 - UPDATE 11712 resources: 11713 - clusterresourcesetbindings 11714 sideEffects: None 11715 - admissionReviewVersions: 11716 - v1 11717 - v1beta1 11718 clientConfig: 11719 service: 11720 name: capi-webhook-service 11721 namespace: capi-system 11722 path: /validate-ipam-cluster-x-k8s-io-v1alpha1-ipaddress 11723 failurePolicy: Fail 11724 matchPolicy: Equivalent 11725 name: validation.ipaddress.ipam.cluster.x-k8s.io 11726 rules: 11727 - apiGroups: 11728 - ipam.cluster.x-k8s.io 11729 apiVersions: 11730 - v1alpha1 11731 operations: 11732 - CREATE 11733 - UPDATE 11734 - DELETE 11735 resources: 11736 - ipaddresses 11737 sideEffects: None 11738 - admissionReviewVersions: 11739 - v1 11740 - v1beta1 11741 clientConfig: 11742 service: 11743 name: capi-webhook-service 11744 namespace: capi-system 11745 path: /validate-ipam-cluster-x-k8s-io-v1alpha1-ipaddressclaim 11746 failurePolicy: Fail 11747 matchPolicy: Equivalent 11748 name: validation.ipaddressclaim.ipam.cluster.x-k8s.io 11749 rules: 11750 - apiGroups: 11751 - ipam.cluster.x-k8s.io 11752 apiVersions: 11753 - v1alpha1 11754 operations: 11755 - CREATE 11756 - UPDATE 11757 - DELETE 11758 resources: 11759 - ipaddressclaims 11760 sideEffects: None