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