sigs.k8s.io/cluster-api@v1.7.1/config/crd/bases/cluster.x-k8s.io_machines.yaml (about) 1 --- 2 apiVersion: apiextensions.k8s.io/v1 3 kind: CustomResourceDefinition 4 metadata: 5 annotations: 6 controller-gen.kubebuilder.io/version: v0.14.0 7 name: machines.cluster.x-k8s.io 8 spec: 9 group: cluster.x-k8s.io 10 names: 11 categories: 12 - cluster-api 13 kind: Machine 14 listKind: MachineList 15 plural: machines 16 shortNames: 17 - ma 18 singular: machine 19 scope: Namespaced 20 versions: 21 - additionalPrinterColumns: 22 - description: Provider ID 23 jsonPath: .spec.providerID 24 name: ProviderID 25 type: string 26 - description: Machine status such as Terminating/Pending/Running/Failed etc 27 jsonPath: .status.phase 28 name: Phase 29 type: string 30 - description: Kubernetes version associated with this Machine 31 jsonPath: .spec.version 32 name: Version 33 type: string 34 - description: Node name associated with this machine 35 jsonPath: .status.nodeRef.name 36 name: NodeName 37 priority: 1 38 type: string 39 deprecated: true 40 name: v1alpha3 41 schema: 42 openAPIV3Schema: 43 description: |- 44 Machine is the Schema for the machines API. 45 46 47 Deprecated: This type will be removed in one of the next releases. 48 properties: 49 apiVersion: 50 description: |- 51 APIVersion defines the versioned schema of this representation of an object. 52 Servers should convert recognized schemas to the latest internal value, and 53 may reject unrecognized values. 54 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 55 type: string 56 kind: 57 description: |- 58 Kind is a string value representing the REST resource this object represents. 59 Servers may infer this from the endpoint the client submits requests to. 60 Cannot be updated. 61 In CamelCase. 62 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 63 type: string 64 metadata: 65 type: object 66 spec: 67 description: MachineSpec defines the desired state of Machine. 68 properties: 69 bootstrap: 70 description: |- 71 Bootstrap is a reference to a local struct which encapsulates 72 fields to configure the Machine’s bootstrapping mechanism. 73 properties: 74 configRef: 75 description: |- 76 ConfigRef is a reference to a bootstrap provider-specific resource 77 that holds configuration details. The reference is optional to 78 allow users/operators to specify Bootstrap.Data without 79 the need of a controller. 80 properties: 81 apiVersion: 82 description: API version of the referent. 83 type: string 84 fieldPath: 85 description: |- 86 If referring to a piece of an object instead of an entire object, this string 87 should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. 88 For example, if the object reference is to a container within a pod, this would take on a value like: 89 "spec.containers{name}" (where "name" refers to the name of the container that triggered 90 the event) or if no container name is specified "spec.containers[2]" (container with 91 index 2 in this pod). This syntax is chosen only to have some well-defined way of 92 referencing a part of an object. 93 TODO: this design is not final and this field is subject to change in the future. 94 type: string 95 kind: 96 description: |- 97 Kind of the referent. 98 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 99 type: string 100 name: 101 description: |- 102 Name of the referent. 103 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 104 type: string 105 namespace: 106 description: |- 107 Namespace of the referent. 108 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ 109 type: string 110 resourceVersion: 111 description: |- 112 Specific resourceVersion to which this reference is made, if any. 113 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency 114 type: string 115 uid: 116 description: |- 117 UID of the referent. 118 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids 119 type: string 120 type: object 121 x-kubernetes-map-type: atomic 122 data: 123 description: |- 124 Data contains the bootstrap data, such as cloud-init details scripts. 125 If nil, the Machine should remain in the Pending state. 126 127 128 Deprecated: Switch to DataSecretName. 129 type: string 130 dataSecretName: 131 description: |- 132 DataSecretName is the name of the secret that stores the bootstrap data script. 133 If nil, the Machine should remain in the Pending state. 134 type: string 135 type: object 136 clusterName: 137 description: ClusterName is the name of the Cluster this object belongs 138 to. 139 minLength: 1 140 type: string 141 failureDomain: 142 description: |- 143 FailureDomain is the failure domain the machine will be created in. 144 Must match a key in the FailureDomains map stored on the cluster object. 145 type: string 146 infrastructureRef: 147 description: |- 148 InfrastructureRef is a required reference to a custom resource 149 offered by an infrastructure provider. 150 properties: 151 apiVersion: 152 description: API version of the referent. 153 type: string 154 fieldPath: 155 description: |- 156 If referring to a piece of an object instead of an entire object, this string 157 should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. 158 For example, if the object reference is to a container within a pod, this would take on a value like: 159 "spec.containers{name}" (where "name" refers to the name of the container that triggered 160 the event) or if no container name is specified "spec.containers[2]" (container with 161 index 2 in this pod). This syntax is chosen only to have some well-defined way of 162 referencing a part of an object. 163 TODO: this design is not final and this field is subject to change in the future. 164 type: string 165 kind: 166 description: |- 167 Kind of the referent. 168 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 169 type: string 170 name: 171 description: |- 172 Name of the referent. 173 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 174 type: string 175 namespace: 176 description: |- 177 Namespace of the referent. 178 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ 179 type: string 180 resourceVersion: 181 description: |- 182 Specific resourceVersion to which this reference is made, if any. 183 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency 184 type: string 185 uid: 186 description: |- 187 UID of the referent. 188 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids 189 type: string 190 type: object 191 x-kubernetes-map-type: atomic 192 nodeDrainTimeout: 193 description: |- 194 NodeDrainTimeout is the total amount of time that the controller will spend on draining a node. 195 The default value is 0, meaning that the node can be drained without any time limitations. 196 NOTE: NodeDrainTimeout is different from `kubectl drain --timeout` 197 type: string 198 providerID: 199 description: |- 200 ProviderID is the identification ID of the machine provided by the provider. 201 This field must match the provider ID as seen on the node object corresponding to this machine. 202 This field is required by higher level consumers of cluster-api. Example use case is cluster autoscaler 203 with cluster-api as provider. Clean-up logic in the autoscaler compares machines to nodes to find out 204 machines at provider which could not get registered as Kubernetes nodes. With cluster-api as a 205 generic out-of-tree provider for autoscaler, this field is required by autoscaler to be 206 able to have a provider view of the list of machines. Another list of nodes is queried from the k8s apiserver 207 and then a comparison is done to find out unregistered machines and are marked for delete. 208 This field will be set by the actuators and consumed by higher level entities like autoscaler that will 209 be interfacing with cluster-api as generic provider. 210 type: string 211 version: 212 description: |- 213 Version defines the desired Kubernetes version. 214 This field is meant to be optionally used by bootstrap providers. 215 type: string 216 required: 217 - bootstrap 218 - clusterName 219 - infrastructureRef 220 type: object 221 status: 222 description: MachineStatus defines the observed state of Machine. 223 properties: 224 addresses: 225 description: |- 226 Addresses is a list of addresses assigned to the machine. 227 This field is copied from the infrastructure provider reference. 228 items: 229 description: MachineAddress contains information for the node's 230 address. 231 properties: 232 address: 233 description: The machine address. 234 type: string 235 type: 236 description: Machine address type, one of Hostname, ExternalIP 237 or InternalIP. 238 type: string 239 required: 240 - address 241 - type 242 type: object 243 type: array 244 bootstrapReady: 245 description: BootstrapReady is the state of the bootstrap provider. 246 type: boolean 247 conditions: 248 description: Conditions defines current service state of the Machine. 249 items: 250 description: Condition defines an observation of a Cluster API resource 251 operational state. 252 properties: 253 lastTransitionTime: 254 description: |- 255 Last time the condition transitioned from one status to another. 256 This should be when the underlying condition changed. If that is not known, then using the time when 257 the API field changed is acceptable. 258 format: date-time 259 type: string 260 message: 261 description: |- 262 A human readable message indicating details about the transition. 263 This field may be empty. 264 type: string 265 reason: 266 description: |- 267 The reason for the condition's last transition in CamelCase. 268 The specific API may choose whether or not this field is considered a guaranteed API. 269 This field may not be empty. 270 type: string 271 severity: 272 description: |- 273 Severity provides an explicit classification of Reason code, so the users or machines can immediately 274 understand the current situation and act accordingly. 275 The Severity field MUST be set only when Status=False. 276 type: string 277 status: 278 description: Status of the condition, one of True, False, Unknown. 279 type: string 280 type: 281 description: |- 282 Type of condition in CamelCase or in foo.example.com/CamelCase. 283 Many .condition.type values are consistent across resources like Available, but because arbitrary conditions 284 can be useful (see .node.status.conditions), the ability to deconflict is important. 285 type: string 286 required: 287 - status 288 - type 289 type: object 290 type: array 291 failureMessage: 292 description: |- 293 FailureMessage will be set in the event that there is a terminal problem 294 reconciling the Machine and will contain a more verbose string suitable 295 for logging and human consumption. 296 297 298 This field should not be set for transitive errors that a controller 299 faces that are expected to be fixed automatically over 300 time (like service outages), but instead indicate that something is 301 fundamentally wrong with the Machine's spec or the configuration of 302 the controller, and that manual intervention is required. Examples 303 of terminal errors would be invalid combinations of settings in the 304 spec, values that are unsupported by the controller, or the 305 responsible controller itself being critically misconfigured. 306 307 308 Any transient errors that occur during the reconciliation of Machines 309 can be added as events to the Machine object and/or logged in the 310 controller's output. 311 type: string 312 failureReason: 313 description: |- 314 FailureReason will be set in the event that there is a terminal problem 315 reconciling the Machine and will contain a succinct value suitable 316 for machine interpretation. 317 318 319 This field should not be set for transitive errors that a controller 320 faces that are expected to be fixed automatically over 321 time (like service outages), but instead indicate that something is 322 fundamentally wrong with the Machine's spec or the configuration of 323 the controller, and that manual intervention is required. Examples 324 of terminal errors would be invalid combinations of settings in the 325 spec, values that are unsupported by the controller, or the 326 responsible controller itself being critically misconfigured. 327 328 329 Any transient errors that occur during the reconciliation of Machines 330 can be added as events to the Machine object and/or logged in the 331 controller's output. 332 type: string 333 infrastructureReady: 334 description: InfrastructureReady is the state of the infrastructure 335 provider. 336 type: boolean 337 lastUpdated: 338 description: LastUpdated identifies when the phase of the Machine 339 last transitioned. 340 format: date-time 341 type: string 342 nodeRef: 343 description: NodeRef will point to the corresponding Node if it exists. 344 properties: 345 apiVersion: 346 description: API version of the referent. 347 type: string 348 fieldPath: 349 description: |- 350 If referring to a piece of an object instead of an entire object, this string 351 should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. 352 For example, if the object reference is to a container within a pod, this would take on a value like: 353 "spec.containers{name}" (where "name" refers to the name of the container that triggered 354 the event) or if no container name is specified "spec.containers[2]" (container with 355 index 2 in this pod). This syntax is chosen only to have some well-defined way of 356 referencing a part of an object. 357 TODO: this design is not final and this field is subject to change in the future. 358 type: string 359 kind: 360 description: |- 361 Kind of the referent. 362 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 363 type: string 364 name: 365 description: |- 366 Name of the referent. 367 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 368 type: string 369 namespace: 370 description: |- 371 Namespace of the referent. 372 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ 373 type: string 374 resourceVersion: 375 description: |- 376 Specific resourceVersion to which this reference is made, if any. 377 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency 378 type: string 379 uid: 380 description: |- 381 UID of the referent. 382 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids 383 type: string 384 type: object 385 x-kubernetes-map-type: atomic 386 observedGeneration: 387 description: ObservedGeneration is the latest generation observed 388 by the controller. 389 format: int64 390 type: integer 391 phase: 392 description: |- 393 Phase represents the current phase of machine actuation. 394 E.g. Pending, Running, Terminating, Failed etc. 395 type: string 396 version: 397 description: |- 398 Version specifies the current version of Kubernetes running 399 on the corresponding Node. This is meant to be a means of bubbling 400 up status from the Node to the Machine. 401 It is entirely optional, but useful for end-user UX if it’s present. 402 type: string 403 type: object 404 type: object 405 served: false 406 storage: false 407 subresources: 408 status: {} 409 - additionalPrinterColumns: 410 - description: Cluster 411 jsonPath: .spec.clusterName 412 name: Cluster 413 type: string 414 - description: Time duration since creation of Machine 415 jsonPath: .metadata.creationTimestamp 416 name: Age 417 type: date 418 - description: Provider ID 419 jsonPath: .spec.providerID 420 name: ProviderID 421 type: string 422 - description: Machine status such as Terminating/Pending/Running/Failed etc 423 jsonPath: .status.phase 424 name: Phase 425 type: string 426 - description: Kubernetes version associated with this Machine 427 jsonPath: .spec.version 428 name: Version 429 type: string 430 - description: Node name associated with this machine 431 jsonPath: .status.nodeRef.name 432 name: NodeName 433 priority: 1 434 type: string 435 deprecated: true 436 name: v1alpha4 437 schema: 438 openAPIV3Schema: 439 description: |- 440 Machine is the Schema for the machines API. 441 442 443 Deprecated: This type will be removed in one of the next releases. 444 properties: 445 apiVersion: 446 description: |- 447 APIVersion defines the versioned schema of this representation of an object. 448 Servers should convert recognized schemas to the latest internal value, and 449 may reject unrecognized values. 450 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 451 type: string 452 kind: 453 description: |- 454 Kind is a string value representing the REST resource this object represents. 455 Servers may infer this from the endpoint the client submits requests to. 456 Cannot be updated. 457 In CamelCase. 458 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 459 type: string 460 metadata: 461 type: object 462 spec: 463 description: MachineSpec defines the desired state of Machine. 464 properties: 465 bootstrap: 466 description: |- 467 Bootstrap is a reference to a local struct which encapsulates 468 fields to configure the Machine’s bootstrapping mechanism. 469 properties: 470 configRef: 471 description: |- 472 ConfigRef is a reference to a bootstrap provider-specific resource 473 that holds configuration details. The reference is optional to 474 allow users/operators to specify Bootstrap.DataSecretName without 475 the need of a controller. 476 properties: 477 apiVersion: 478 description: API version of the referent. 479 type: string 480 fieldPath: 481 description: |- 482 If referring to a piece of an object instead of an entire object, this string 483 should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. 484 For example, if the object reference is to a container within a pod, this would take on a value like: 485 "spec.containers{name}" (where "name" refers to the name of the container that triggered 486 the event) or if no container name is specified "spec.containers[2]" (container with 487 index 2 in this pod). This syntax is chosen only to have some well-defined way of 488 referencing a part of an object. 489 TODO: this design is not final and this field is subject to change in the future. 490 type: string 491 kind: 492 description: |- 493 Kind of the referent. 494 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 495 type: string 496 name: 497 description: |- 498 Name of the referent. 499 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 500 type: string 501 namespace: 502 description: |- 503 Namespace of the referent. 504 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ 505 type: string 506 resourceVersion: 507 description: |- 508 Specific resourceVersion to which this reference is made, if any. 509 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency 510 type: string 511 uid: 512 description: |- 513 UID of the referent. 514 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids 515 type: string 516 type: object 517 x-kubernetes-map-type: atomic 518 dataSecretName: 519 description: |- 520 DataSecretName is the name of the secret that stores the bootstrap data script. 521 If nil, the Machine should remain in the Pending state. 522 type: string 523 type: object 524 clusterName: 525 description: ClusterName is the name of the Cluster this object belongs 526 to. 527 minLength: 1 528 type: string 529 failureDomain: 530 description: |- 531 FailureDomain is the failure domain the machine will be created in. 532 Must match a key in the FailureDomains map stored on the cluster object. 533 type: string 534 infrastructureRef: 535 description: |- 536 InfrastructureRef is a required reference to a custom resource 537 offered by an infrastructure provider. 538 properties: 539 apiVersion: 540 description: API version of the referent. 541 type: string 542 fieldPath: 543 description: |- 544 If referring to a piece of an object instead of an entire object, this string 545 should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. 546 For example, if the object reference is to a container within a pod, this would take on a value like: 547 "spec.containers{name}" (where "name" refers to the name of the container that triggered 548 the event) or if no container name is specified "spec.containers[2]" (container with 549 index 2 in this pod). This syntax is chosen only to have some well-defined way of 550 referencing a part of an object. 551 TODO: this design is not final and this field is subject to change in the future. 552 type: string 553 kind: 554 description: |- 555 Kind of the referent. 556 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 557 type: string 558 name: 559 description: |- 560 Name of the referent. 561 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 562 type: string 563 namespace: 564 description: |- 565 Namespace of the referent. 566 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ 567 type: string 568 resourceVersion: 569 description: |- 570 Specific resourceVersion to which this reference is made, if any. 571 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency 572 type: string 573 uid: 574 description: |- 575 UID of the referent. 576 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids 577 type: string 578 type: object 579 x-kubernetes-map-type: atomic 580 nodeDrainTimeout: 581 description: |- 582 NodeDrainTimeout is the total amount of time that the controller will spend on draining a node. 583 The default value is 0, meaning that the node can be drained without any time limitations. 584 NOTE: NodeDrainTimeout is different from `kubectl drain --timeout` 585 type: string 586 providerID: 587 description: |- 588 ProviderID is the identification ID of the machine provided by the provider. 589 This field must match the provider ID as seen on the node object corresponding to this machine. 590 This field is required by higher level consumers of cluster-api. Example use case is cluster autoscaler 591 with cluster-api as provider. Clean-up logic in the autoscaler compares machines to nodes to find out 592 machines at provider which could not get registered as Kubernetes nodes. With cluster-api as a 593 generic out-of-tree provider for autoscaler, this field is required by autoscaler to be 594 able to have a provider view of the list of machines. Another list of nodes is queried from the k8s apiserver 595 and then a comparison is done to find out unregistered machines and are marked for delete. 596 This field will be set by the actuators and consumed by higher level entities like autoscaler that will 597 be interfacing with cluster-api as generic provider. 598 type: string 599 version: 600 description: |- 601 Version defines the desired Kubernetes version. 602 This field is meant to be optionally used by bootstrap providers. 603 type: string 604 required: 605 - bootstrap 606 - clusterName 607 - infrastructureRef 608 type: object 609 status: 610 description: MachineStatus defines the observed state of Machine. 611 properties: 612 addresses: 613 description: |- 614 Addresses is a list of addresses assigned to the machine. 615 This field is copied from the infrastructure provider reference. 616 items: 617 description: MachineAddress contains information for the node's 618 address. 619 properties: 620 address: 621 description: The machine address. 622 type: string 623 type: 624 description: Machine address type, one of Hostname, ExternalIP 625 or InternalIP. 626 type: string 627 required: 628 - address 629 - type 630 type: object 631 type: array 632 bootstrapReady: 633 description: BootstrapReady is the state of the bootstrap provider. 634 type: boolean 635 conditions: 636 description: Conditions defines current service state of the Machine. 637 items: 638 description: Condition defines an observation of a Cluster API resource 639 operational state. 640 properties: 641 lastTransitionTime: 642 description: |- 643 Last time the condition transitioned from one status to another. 644 This should be when the underlying condition changed. If that is not known, then using the time when 645 the API field changed is acceptable. 646 format: date-time 647 type: string 648 message: 649 description: |- 650 A human readable message indicating details about the transition. 651 This field may be empty. 652 type: string 653 reason: 654 description: |- 655 The reason for the condition's last transition in CamelCase. 656 The specific API may choose whether or not this field is considered a guaranteed API. 657 This field may not be empty. 658 type: string 659 severity: 660 description: |- 661 Severity provides an explicit classification of Reason code, so the users or machines can immediately 662 understand the current situation and act accordingly. 663 The Severity field MUST be set only when Status=False. 664 type: string 665 status: 666 description: Status of the condition, one of True, False, Unknown. 667 type: string 668 type: 669 description: |- 670 Type of condition in CamelCase or in foo.example.com/CamelCase. 671 Many .condition.type values are consistent across resources like Available, but because arbitrary conditions 672 can be useful (see .node.status.conditions), the ability to deconflict is important. 673 type: string 674 required: 675 - status 676 - type 677 type: object 678 type: array 679 failureMessage: 680 description: |- 681 FailureMessage will be set in the event that there is a terminal problem 682 reconciling the Machine and will contain a more verbose string suitable 683 for logging and human consumption. 684 685 686 This field should not be set for transitive errors that a controller 687 faces that are expected to be fixed automatically over 688 time (like service outages), but instead indicate that something is 689 fundamentally wrong with the Machine's spec or the configuration of 690 the controller, and that manual intervention is required. Examples 691 of terminal errors would be invalid combinations of settings in the 692 spec, values that are unsupported by the controller, or the 693 responsible controller itself being critically misconfigured. 694 695 696 Any transient errors that occur during the reconciliation of Machines 697 can be added as events to the Machine object and/or logged in the 698 controller's output. 699 type: string 700 failureReason: 701 description: |- 702 FailureReason will be set in the event that there is a terminal problem 703 reconciling the Machine and will contain a succinct value suitable 704 for machine interpretation. 705 706 707 This field should not be set for transitive errors that a controller 708 faces that are expected to be fixed automatically over 709 time (like service outages), but instead indicate that something is 710 fundamentally wrong with the Machine's spec or the configuration of 711 the controller, and that manual intervention is required. Examples 712 of terminal errors would be invalid combinations of settings in the 713 spec, values that are unsupported by the controller, or the 714 responsible controller itself being critically misconfigured. 715 716 717 Any transient errors that occur during the reconciliation of Machines 718 can be added as events to the Machine object and/or logged in the 719 controller's output. 720 type: string 721 infrastructureReady: 722 description: InfrastructureReady is the state of the infrastructure 723 provider. 724 type: boolean 725 lastUpdated: 726 description: LastUpdated identifies when the phase of the Machine 727 last transitioned. 728 format: date-time 729 type: string 730 nodeInfo: 731 description: |- 732 NodeInfo is a set of ids/uuids to uniquely identify the node. 733 More info: https://kubernetes.io/docs/concepts/nodes/node/#info 734 properties: 735 architecture: 736 description: The Architecture reported by the node 737 type: string 738 bootID: 739 description: Boot ID reported by the node. 740 type: string 741 containerRuntimeVersion: 742 description: ContainerRuntime Version reported by the node through 743 runtime remote API (e.g. containerd://1.4.2). 744 type: string 745 kernelVersion: 746 description: Kernel Version reported by the node from 'uname -r' 747 (e.g. 3.16.0-0.bpo.4-amd64). 748 type: string 749 kubeProxyVersion: 750 description: KubeProxy Version reported by the node. 751 type: string 752 kubeletVersion: 753 description: Kubelet Version reported by the node. 754 type: string 755 machineID: 756 description: |- 757 MachineID reported by the node. For unique machine identification 758 in the cluster this field is preferred. Learn more from man(5) 759 machine-id: http://man7.org/linux/man-pages/man5/machine-id.5.html 760 type: string 761 operatingSystem: 762 description: The Operating System reported by the node 763 type: string 764 osImage: 765 description: OS Image reported by the node from /etc/os-release 766 (e.g. Debian GNU/Linux 7 (wheezy)). 767 type: string 768 systemUUID: 769 description: |- 770 SystemUUID reported by the node. For unique machine identification 771 MachineID is preferred. This field is specific to Red Hat hosts 772 https://access.redhat.com/documentation/en-us/red_hat_subscription_management/1/html/rhsm/uuid 773 type: string 774 required: 775 - architecture 776 - bootID 777 - containerRuntimeVersion 778 - kernelVersion 779 - kubeProxyVersion 780 - kubeletVersion 781 - machineID 782 - operatingSystem 783 - osImage 784 - systemUUID 785 type: object 786 nodeRef: 787 description: NodeRef will point to the corresponding Node if it exists. 788 properties: 789 apiVersion: 790 description: API version of the referent. 791 type: string 792 fieldPath: 793 description: |- 794 If referring to a piece of an object instead of an entire object, this string 795 should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. 796 For example, if the object reference is to a container within a pod, this would take on a value like: 797 "spec.containers{name}" (where "name" refers to the name of the container that triggered 798 the event) or if no container name is specified "spec.containers[2]" (container with 799 index 2 in this pod). This syntax is chosen only to have some well-defined way of 800 referencing a part of an object. 801 TODO: this design is not final and this field is subject to change in the future. 802 type: string 803 kind: 804 description: |- 805 Kind of the referent. 806 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 807 type: string 808 name: 809 description: |- 810 Name of the referent. 811 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 812 type: string 813 namespace: 814 description: |- 815 Namespace of the referent. 816 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ 817 type: string 818 resourceVersion: 819 description: |- 820 Specific resourceVersion to which this reference is made, if any. 821 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency 822 type: string 823 uid: 824 description: |- 825 UID of the referent. 826 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids 827 type: string 828 type: object 829 x-kubernetes-map-type: atomic 830 observedGeneration: 831 description: ObservedGeneration is the latest generation observed 832 by the controller. 833 format: int64 834 type: integer 835 phase: 836 description: |- 837 Phase represents the current phase of machine actuation. 838 E.g. Pending, Running, Terminating, Failed etc. 839 type: string 840 version: 841 description: |- 842 Version specifies the current version of Kubernetes running 843 on the corresponding Node. This is meant to be a means of bubbling 844 up status from the Node to the Machine. 845 It is entirely optional, but useful for end-user UX if it’s present. 846 type: string 847 type: object 848 type: object 849 served: false 850 storage: false 851 subresources: 852 status: {} 853 - additionalPrinterColumns: 854 - description: Cluster 855 jsonPath: .spec.clusterName 856 name: Cluster 857 type: string 858 - description: Node name associated with this machine 859 jsonPath: .status.nodeRef.name 860 name: NodeName 861 type: string 862 - description: Provider ID 863 jsonPath: .spec.providerID 864 name: ProviderID 865 type: string 866 - description: Machine status such as Terminating/Pending/Running/Failed etc 867 jsonPath: .status.phase 868 name: Phase 869 type: string 870 - description: Time duration since creation of Machine 871 jsonPath: .metadata.creationTimestamp 872 name: Age 873 type: date 874 - description: Kubernetes version associated with this Machine 875 jsonPath: .spec.version 876 name: Version 877 type: string 878 name: v1beta1 879 schema: 880 openAPIV3Schema: 881 description: Machine is the Schema for the machines API. 882 properties: 883 apiVersion: 884 description: |- 885 APIVersion defines the versioned schema of this representation of an object. 886 Servers should convert recognized schemas to the latest internal value, and 887 may reject unrecognized values. 888 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 889 type: string 890 kind: 891 description: |- 892 Kind is a string value representing the REST resource this object represents. 893 Servers may infer this from the endpoint the client submits requests to. 894 Cannot be updated. 895 In CamelCase. 896 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 897 type: string 898 metadata: 899 type: object 900 spec: 901 description: MachineSpec defines the desired state of Machine. 902 properties: 903 bootstrap: 904 description: |- 905 Bootstrap is a reference to a local struct which encapsulates 906 fields to configure the Machine’s bootstrapping mechanism. 907 properties: 908 configRef: 909 description: |- 910 ConfigRef is a reference to a bootstrap provider-specific resource 911 that holds configuration details. The reference is optional to 912 allow users/operators to specify Bootstrap.DataSecretName without 913 the need of a controller. 914 properties: 915 apiVersion: 916 description: API version of the referent. 917 type: string 918 fieldPath: 919 description: |- 920 If referring to a piece of an object instead of an entire object, this string 921 should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. 922 For example, if the object reference is to a container within a pod, this would take on a value like: 923 "spec.containers{name}" (where "name" refers to the name of the container that triggered 924 the event) or if no container name is specified "spec.containers[2]" (container with 925 index 2 in this pod). This syntax is chosen only to have some well-defined way of 926 referencing a part of an object. 927 TODO: this design is not final and this field is subject to change in the future. 928 type: string 929 kind: 930 description: |- 931 Kind of the referent. 932 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 933 type: string 934 name: 935 description: |- 936 Name of the referent. 937 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 938 type: string 939 namespace: 940 description: |- 941 Namespace of the referent. 942 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ 943 type: string 944 resourceVersion: 945 description: |- 946 Specific resourceVersion to which this reference is made, if any. 947 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency 948 type: string 949 uid: 950 description: |- 951 UID of the referent. 952 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids 953 type: string 954 type: object 955 x-kubernetes-map-type: atomic 956 dataSecretName: 957 description: |- 958 DataSecretName is the name of the secret that stores the bootstrap data script. 959 If nil, the Machine should remain in the Pending state. 960 type: string 961 type: object 962 clusterName: 963 description: ClusterName is the name of the Cluster this object belongs 964 to. 965 minLength: 1 966 type: string 967 failureDomain: 968 description: |- 969 FailureDomain is the failure domain the machine will be created in. 970 Must match a key in the FailureDomains map stored on the cluster object. 971 type: string 972 infrastructureRef: 973 description: |- 974 InfrastructureRef is a required reference to a custom resource 975 offered by an infrastructure provider. 976 properties: 977 apiVersion: 978 description: API version of the referent. 979 type: string 980 fieldPath: 981 description: |- 982 If referring to a piece of an object instead of an entire object, this string 983 should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. 984 For example, if the object reference is to a container within a pod, this would take on a value like: 985 "spec.containers{name}" (where "name" refers to the name of the container that triggered 986 the event) or if no container name is specified "spec.containers[2]" (container with 987 index 2 in this pod). This syntax is chosen only to have some well-defined way of 988 referencing a part of an object. 989 TODO: this design is not final and this field is subject to change in the future. 990 type: string 991 kind: 992 description: |- 993 Kind of the referent. 994 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 995 type: string 996 name: 997 description: |- 998 Name of the referent. 999 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1000 type: string 1001 namespace: 1002 description: |- 1003 Namespace of the referent. 1004 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ 1005 type: string 1006 resourceVersion: 1007 description: |- 1008 Specific resourceVersion to which this reference is made, if any. 1009 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency 1010 type: string 1011 uid: 1012 description: |- 1013 UID of the referent. 1014 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids 1015 type: string 1016 type: object 1017 x-kubernetes-map-type: atomic 1018 nodeDeletionTimeout: 1019 description: |- 1020 NodeDeletionTimeout defines how long the controller will attempt to delete the Node that the Machine 1021 hosts after the Machine is marked for deletion. A duration of 0 will retry deletion indefinitely. 1022 Defaults to 10 seconds. 1023 type: string 1024 nodeDrainTimeout: 1025 description: |- 1026 NodeDrainTimeout is the total amount of time that the controller will spend on draining a node. 1027 The default value is 0, meaning that the node can be drained without any time limitations. 1028 NOTE: NodeDrainTimeout is different from `kubectl drain --timeout` 1029 type: string 1030 nodeVolumeDetachTimeout: 1031 description: |- 1032 NodeVolumeDetachTimeout is the total amount of time that the controller will spend on waiting for all volumes 1033 to be detached. The default value is 0, meaning that the volumes can be detached without any time limitations. 1034 type: string 1035 providerID: 1036 description: |- 1037 ProviderID is the identification ID of the machine provided by the provider. 1038 This field must match the provider ID as seen on the node object corresponding to this machine. 1039 This field is required by higher level consumers of cluster-api. Example use case is cluster autoscaler 1040 with cluster-api as provider. Clean-up logic in the autoscaler compares machines to nodes to find out 1041 machines at provider which could not get registered as Kubernetes nodes. With cluster-api as a 1042 generic out-of-tree provider for autoscaler, this field is required by autoscaler to be 1043 able to have a provider view of the list of machines. Another list of nodes is queried from the k8s apiserver 1044 and then a comparison is done to find out unregistered machines and are marked for delete. 1045 This field will be set by the actuators and consumed by higher level entities like autoscaler that will 1046 be interfacing with cluster-api as generic provider. 1047 type: string 1048 version: 1049 description: |- 1050 Version defines the desired Kubernetes version. 1051 This field is meant to be optionally used by bootstrap providers. 1052 type: string 1053 required: 1054 - bootstrap 1055 - clusterName 1056 - infrastructureRef 1057 type: object 1058 status: 1059 description: MachineStatus defines the observed state of Machine. 1060 properties: 1061 addresses: 1062 description: |- 1063 Addresses is a list of addresses assigned to the machine. 1064 This field is copied from the infrastructure provider reference. 1065 items: 1066 description: MachineAddress contains information for the node's 1067 address. 1068 properties: 1069 address: 1070 description: The machine address. 1071 type: string 1072 type: 1073 description: Machine address type, one of Hostname, ExternalIP, 1074 InternalIP, ExternalDNS or InternalDNS. 1075 type: string 1076 required: 1077 - address 1078 - type 1079 type: object 1080 type: array 1081 bootstrapReady: 1082 description: BootstrapReady is the state of the bootstrap provider. 1083 type: boolean 1084 certificatesExpiryDate: 1085 description: |- 1086 CertificatesExpiryDate is the expiry date of the machine certificates. 1087 This value is only set for control plane machines. 1088 format: date-time 1089 type: string 1090 conditions: 1091 description: Conditions defines current service state of the Machine. 1092 items: 1093 description: Condition defines an observation of a Cluster API resource 1094 operational state. 1095 properties: 1096 lastTransitionTime: 1097 description: |- 1098 Last time the condition transitioned from one status to another. 1099 This should be when the underlying condition changed. If that is not known, then using the time when 1100 the API field changed is acceptable. 1101 format: date-time 1102 type: string 1103 message: 1104 description: |- 1105 A human readable message indicating details about the transition. 1106 This field may be empty. 1107 type: string 1108 reason: 1109 description: |- 1110 The reason for the condition's last transition in CamelCase. 1111 The specific API may choose whether or not this field is considered a guaranteed API. 1112 This field may not be empty. 1113 type: string 1114 severity: 1115 description: |- 1116 Severity provides an explicit classification of Reason code, so the users or machines can immediately 1117 understand the current situation and act accordingly. 1118 The Severity field MUST be set only when Status=False. 1119 type: string 1120 status: 1121 description: Status of the condition, one of True, False, Unknown. 1122 type: string 1123 type: 1124 description: |- 1125 Type of condition in CamelCase or in foo.example.com/CamelCase. 1126 Many .condition.type values are consistent across resources like Available, but because arbitrary conditions 1127 can be useful (see .node.status.conditions), the ability to deconflict is important. 1128 type: string 1129 required: 1130 - lastTransitionTime 1131 - status 1132 - type 1133 type: object 1134 type: array 1135 failureMessage: 1136 description: |- 1137 FailureMessage will be set in the event that there is a terminal problem 1138 reconciling the Machine and will contain a more verbose string suitable 1139 for logging and human consumption. 1140 1141 1142 This field should not be set for transitive errors that a controller 1143 faces that are expected to be fixed automatically over 1144 time (like service outages), but instead indicate that something is 1145 fundamentally wrong with the Machine's spec or the configuration of 1146 the controller, and that manual intervention is required. Examples 1147 of terminal errors would be invalid combinations of settings in the 1148 spec, values that are unsupported by the controller, or the 1149 responsible controller itself being critically misconfigured. 1150 1151 1152 Any transient errors that occur during the reconciliation of Machines 1153 can be added as events to the Machine object and/or logged in the 1154 controller's output. 1155 type: string 1156 failureReason: 1157 description: |- 1158 FailureReason will be set in the event that there is a terminal problem 1159 reconciling the Machine and will contain a succinct value suitable 1160 for machine interpretation. 1161 1162 1163 This field should not be set for transitive errors that a controller 1164 faces that are expected to be fixed automatically over 1165 time (like service outages), but instead indicate that something is 1166 fundamentally wrong with the Machine's spec or the configuration of 1167 the controller, and that manual intervention is required. Examples 1168 of terminal errors would be invalid combinations of settings in the 1169 spec, values that are unsupported by the controller, or the 1170 responsible controller itself being critically misconfigured. 1171 1172 1173 Any transient errors that occur during the reconciliation of Machines 1174 can be added as events to the Machine object and/or logged in the 1175 controller's output. 1176 type: string 1177 infrastructureReady: 1178 description: InfrastructureReady is the state of the infrastructure 1179 provider. 1180 type: boolean 1181 lastUpdated: 1182 description: LastUpdated identifies when the phase of the Machine 1183 last transitioned. 1184 format: date-time 1185 type: string 1186 nodeInfo: 1187 description: |- 1188 NodeInfo is a set of ids/uuids to uniquely identify the node. 1189 More info: https://kubernetes.io/docs/concepts/nodes/node/#info 1190 properties: 1191 architecture: 1192 description: The Architecture reported by the node 1193 type: string 1194 bootID: 1195 description: Boot ID reported by the node. 1196 type: string 1197 containerRuntimeVersion: 1198 description: ContainerRuntime Version reported by the node through 1199 runtime remote API (e.g. containerd://1.4.2). 1200 type: string 1201 kernelVersion: 1202 description: Kernel Version reported by the node from 'uname -r' 1203 (e.g. 3.16.0-0.bpo.4-amd64). 1204 type: string 1205 kubeProxyVersion: 1206 description: KubeProxy Version reported by the node. 1207 type: string 1208 kubeletVersion: 1209 description: Kubelet Version reported by the node. 1210 type: string 1211 machineID: 1212 description: |- 1213 MachineID reported by the node. For unique machine identification 1214 in the cluster this field is preferred. Learn more from man(5) 1215 machine-id: http://man7.org/linux/man-pages/man5/machine-id.5.html 1216 type: string 1217 operatingSystem: 1218 description: The Operating System reported by the node 1219 type: string 1220 osImage: 1221 description: OS Image reported by the node from /etc/os-release 1222 (e.g. Debian GNU/Linux 7 (wheezy)). 1223 type: string 1224 systemUUID: 1225 description: |- 1226 SystemUUID reported by the node. For unique machine identification 1227 MachineID is preferred. This field is specific to Red Hat hosts 1228 https://access.redhat.com/documentation/en-us/red_hat_subscription_management/1/html/rhsm/uuid 1229 type: string 1230 required: 1231 - architecture 1232 - bootID 1233 - containerRuntimeVersion 1234 - kernelVersion 1235 - kubeProxyVersion 1236 - kubeletVersion 1237 - machineID 1238 - operatingSystem 1239 - osImage 1240 - systemUUID 1241 type: object 1242 nodeRef: 1243 description: NodeRef will point to the corresponding Node if it exists. 1244 properties: 1245 apiVersion: 1246 description: API version of the referent. 1247 type: string 1248 fieldPath: 1249 description: |- 1250 If referring to a piece of an object instead of an entire object, this string 1251 should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. 1252 For example, if the object reference is to a container within a pod, this would take on a value like: 1253 "spec.containers{name}" (where "name" refers to the name of the container that triggered 1254 the event) or if no container name is specified "spec.containers[2]" (container with 1255 index 2 in this pod). This syntax is chosen only to have some well-defined way of 1256 referencing a part of an object. 1257 TODO: this design is not final and this field is subject to change in the future. 1258 type: string 1259 kind: 1260 description: |- 1261 Kind of the referent. 1262 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 1263 type: string 1264 name: 1265 description: |- 1266 Name of the referent. 1267 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1268 type: string 1269 namespace: 1270 description: |- 1271 Namespace of the referent. 1272 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ 1273 type: string 1274 resourceVersion: 1275 description: |- 1276 Specific resourceVersion to which this reference is made, if any. 1277 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency 1278 type: string 1279 uid: 1280 description: |- 1281 UID of the referent. 1282 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids 1283 type: string 1284 type: object 1285 x-kubernetes-map-type: atomic 1286 observedGeneration: 1287 description: ObservedGeneration is the latest generation observed 1288 by the controller. 1289 format: int64 1290 type: integer 1291 phase: 1292 description: |- 1293 Phase represents the current phase of machine actuation. 1294 E.g. Pending, Running, Terminating, Failed etc. 1295 type: string 1296 type: object 1297 type: object 1298 served: true 1299 storage: true 1300 subresources: 1301 status: {}