github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/deploy/neon/crds/neonvm-crd.yaml (about) 1 --- 2 apiVersion: apiextensions.k8s.io/v1 3 kind: CustomResourceDefinition 4 metadata: 5 annotations: 6 controller-gen.kubebuilder.io/version: v0.10.0 7 creationTimestamp: null 8 name: ippools.vm.neon.tech 9 spec: 10 group: vm.neon.tech 11 names: 12 kind: IPPool 13 listKind: IPPoolList 14 plural: ippools 15 singular: ippool 16 scope: Namespaced 17 versions: 18 - name: v1 19 schema: 20 openAPIV3Schema: 21 description: IPPool is the Schema for the ippools API 22 properties: 23 apiVersion: 24 description: 'APIVersion defines the versioned schema of this representation 25 of an object. Servers should convert recognized schemas to the latest 26 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 27 type: string 28 kind: 29 description: 'Kind is a string value representing the REST resource this 30 object represents. Servers may infer this from the endpoint the client 31 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 32 type: string 33 metadata: 34 type: object 35 spec: 36 description: IPPoolSpec defines the desired state of IPPool 37 properties: 38 allocations: 39 additionalProperties: 40 description: IPAllocation represents metadata about the pod/container 41 owner of a specific IP coped from Whereabout CNI as their allocation 42 functions used 43 properties: 44 id: 45 type: string 46 podref: 47 type: string 48 required: 49 - id 50 type: object 51 description: Allocations is the set of allocated IPs for the given 52 range. Its` indices are a direct mapping to the IP with the same 53 index/offset for the pool's range. 54 type: object 55 range: 56 description: Range is a RFC 4632/4291-style string that represents 57 an IP address and prefix length in CIDR notation 58 type: string 59 required: 60 - allocations 61 - range 62 type: object 63 type: object 64 served: true 65 storage: true 66 --- 67 apiVersion: apiextensions.k8s.io/v1 68 kind: CustomResourceDefinition 69 metadata: 70 annotations: 71 cert-manager.io/inject-ca-from: neonvm-system/neonvm-serving-cert 72 controller-gen.kubebuilder.io/version: v0.10.0 73 name: virtualmachinemigrations.vm.neon.tech 74 spec: 75 conversion: 76 strategy: Webhook 77 webhook: 78 clientConfig: 79 service: 80 name: neonvm-webhook-service 81 namespace: neonvm-system 82 path: /convert 83 conversionReviewVersions: 84 - v1 85 group: vm.neon.tech 86 names: 87 kind: VirtualMachineMigration 88 listKind: VirtualMachineMigrationList 89 plural: virtualmachinemigrations 90 singular: neonvmm 91 scope: Namespaced 92 versions: 93 - additionalPrinterColumns: 94 - jsonPath: .spec.vmName 95 name: VM 96 type: string 97 - jsonPath: .status.sourcePodName 98 name: Source 99 type: string 100 - jsonPath: .status.sourcePodIP 101 name: SourceIP 102 priority: 1 103 type: string 104 - jsonPath: .status.targetPodName 105 name: Target 106 type: string 107 - jsonPath: .status.targetPodIP 108 name: TargetIP 109 priority: 1 110 type: string 111 - jsonPath: .status.phase 112 name: Status 113 type: string 114 - jsonPath: .metadata.creationTimestamp 115 name: Age 116 type: date 117 name: v1 118 schema: 119 openAPIV3Schema: 120 description: VirtualMachineMigration is the Schema for the virtualmachinemigrations 121 API 122 properties: 123 apiVersion: 124 description: 'APIVersion defines the versioned schema of this representation 125 of an object. Servers should convert recognized schemas to the latest 126 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 127 type: string 128 kind: 129 description: 'Kind is a string value representing the REST resource this 130 object represents. Servers may infer this from the endpoint the client 131 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 132 type: string 133 metadata: 134 type: object 135 spec: 136 description: VirtualMachineMigrationSpec defines the desired state of 137 VirtualMachineMigration 138 properties: 139 allowPostCopy: 140 default: false 141 description: Use PostCopy migration by default 142 type: boolean 143 autoConverge: 144 default: true 145 description: Use Auto converge by default 146 type: boolean 147 completionTimeout: 148 default: 3600 149 description: 'TODO: not implemented Set 1 hour as default timeout 150 for migration' 151 format: int32 152 type: integer 153 incremental: 154 default: true 155 description: Trigger incremental disk copy migration by default, otherwise 156 full disk copy used in migration 157 type: boolean 158 maxBandwidth: 159 anyOf: 160 - type: integer 161 - type: string 162 default: 1Gi 163 description: Set 1 Gbyte/sec as default for migration bandwidth 164 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 165 x-kubernetes-int-or-string: true 166 nodeAffinity: 167 description: 'TODO: not implemented' 168 properties: 169 preferredDuringSchedulingIgnoredDuringExecution: 170 description: The scheduler will prefer to schedule pods to nodes 171 that satisfy the affinity expressions specified by this field, 172 but it may choose a node that violates one or more of the expressions. 173 The node that is most preferred is the one with the greatest 174 sum of weights, i.e. for each node that meets all of the scheduling 175 requirements (resource request, requiredDuringScheduling affinity 176 expressions, etc.), compute a sum by iterating through the elements 177 of this field and adding "weight" to the sum if the node matches 178 the corresponding matchExpressions; the node(s) with the highest 179 sum are the most preferred. 180 items: 181 description: An empty preferred scheduling term matches all 182 objects with implicit weight 0 (i.e. it's a no-op). A null 183 preferred scheduling term matches no objects (i.e. is also 184 a no-op). 185 properties: 186 preference: 187 description: A node selector term, associated with the corresponding 188 weight. 189 properties: 190 matchExpressions: 191 description: A list of node selector requirements by 192 node's labels. 193 items: 194 description: A node selector requirement is a selector 195 that contains values, a key, and an operator that 196 relates the key and values. 197 properties: 198 key: 199 description: The label key that the selector applies 200 to. 201 type: string 202 operator: 203 description: Represents a key's relationship to 204 a set of values. Valid operators are In, NotIn, 205 Exists, DoesNotExist. Gt, and Lt. 206 type: string 207 values: 208 description: An array of string values. If the 209 operator is In or NotIn, the values array must 210 be non-empty. If the operator is Exists or DoesNotExist, 211 the values array must be empty. If the operator 212 is Gt or Lt, the values array must have a single 213 element, which will be interpreted as an integer. 214 This array is replaced during a strategic merge 215 patch. 216 items: 217 type: string 218 type: array 219 required: 220 - key 221 - operator 222 type: object 223 type: array 224 matchFields: 225 description: A list of node selector requirements by 226 node's fields. 227 items: 228 description: A node selector requirement is a selector 229 that contains values, a key, and an operator that 230 relates the key and values. 231 properties: 232 key: 233 description: The label key that the selector applies 234 to. 235 type: string 236 operator: 237 description: Represents a key's relationship to 238 a set of values. Valid operators are In, NotIn, 239 Exists, DoesNotExist. Gt, and Lt. 240 type: string 241 values: 242 description: An array of string values. If the 243 operator is In or NotIn, the values array must 244 be non-empty. If the operator is Exists or DoesNotExist, 245 the values array must be empty. If the operator 246 is Gt or Lt, the values array must have a single 247 element, which will be interpreted as an integer. 248 This array is replaced during a strategic merge 249 patch. 250 items: 251 type: string 252 type: array 253 required: 254 - key 255 - operator 256 type: object 257 type: array 258 type: object 259 x-kubernetes-map-type: atomic 260 weight: 261 description: Weight associated with matching the corresponding 262 nodeSelectorTerm, in the range 1-100. 263 format: int32 264 type: integer 265 required: 266 - preference 267 - weight 268 type: object 269 type: array 270 requiredDuringSchedulingIgnoredDuringExecution: 271 description: If the affinity requirements specified by this field 272 are not met at scheduling time, the pod will not be scheduled 273 onto the node. If the affinity requirements specified by this 274 field cease to be met at some point during pod execution (e.g. 275 due to an update), the system may or may not try to eventually 276 evict the pod from its node. 277 properties: 278 nodeSelectorTerms: 279 description: Required. A list of node selector terms. The 280 terms are ORed. 281 items: 282 description: A null or empty node selector term matches 283 no objects. The requirements of them are ANDed. The TopologySelectorTerm 284 type implements a subset of the NodeSelectorTerm. 285 properties: 286 matchExpressions: 287 description: A list of node selector requirements by 288 node's labels. 289 items: 290 description: A node selector requirement is a selector 291 that contains values, a key, and an operator that 292 relates the key and values. 293 properties: 294 key: 295 description: The label key that the selector applies 296 to. 297 type: string 298 operator: 299 description: Represents a key's relationship to 300 a set of values. Valid operators are In, NotIn, 301 Exists, DoesNotExist. Gt, and Lt. 302 type: string 303 values: 304 description: An array of string values. If the 305 operator is In or NotIn, the values array must 306 be non-empty. If the operator is Exists or DoesNotExist, 307 the values array must be empty. If the operator 308 is Gt or Lt, the values array must have a single 309 element, which will be interpreted as an integer. 310 This array is replaced during a strategic merge 311 patch. 312 items: 313 type: string 314 type: array 315 required: 316 - key 317 - operator 318 type: object 319 type: array 320 matchFields: 321 description: A list of node selector requirements by 322 node's fields. 323 items: 324 description: A node selector requirement is a selector 325 that contains values, a key, and an operator that 326 relates the key and values. 327 properties: 328 key: 329 description: The label key that the selector applies 330 to. 331 type: string 332 operator: 333 description: Represents a key's relationship to 334 a set of values. Valid operators are In, NotIn, 335 Exists, DoesNotExist. Gt, and Lt. 336 type: string 337 values: 338 description: An array of string values. If the 339 operator is In or NotIn, the values array must 340 be non-empty. If the operator is Exists or DoesNotExist, 341 the values array must be empty. If the operator 342 is Gt or Lt, the values array must have a single 343 element, which will be interpreted as an integer. 344 This array is replaced during a strategic merge 345 patch. 346 items: 347 type: string 348 type: array 349 required: 350 - key 351 - operator 352 type: object 353 type: array 354 type: object 355 x-kubernetes-map-type: atomic 356 type: array 357 required: 358 - nodeSelectorTerms 359 type: object 360 x-kubernetes-map-type: atomic 361 type: object 362 nodeSelector: 363 additionalProperties: 364 type: string 365 description: 'TODO: not implemented' 366 type: object 367 preventMigrationToSameHost: 368 default: true 369 type: boolean 370 vmName: 371 type: string 372 required: 373 - vmName 374 type: object 375 status: 376 description: VirtualMachineMigrationStatus defines the observed state 377 of VirtualMachineMigration 378 properties: 379 conditions: 380 items: 381 description: "Condition contains details for one aspect of the current 382 state of this API Resource. --- This struct is intended for direct 383 use as an array at the field path .status.conditions. For example, 384 \n type FooStatus struct{ // Represents the observations of a 385 foo's current state. // Known .status.conditions.type are: \"Available\", 386 \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge 387 // +listType=map // +listMapKey=type Conditions []metav1.Condition 388 `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" 389 protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" 390 properties: 391 lastTransitionTime: 392 description: lastTransitionTime is the last time the condition 393 transitioned from one status to another. This should be when 394 the underlying condition changed. If that is not known, then 395 using the time when the API field changed is acceptable. 396 format: date-time 397 type: string 398 message: 399 description: message is a human readable message indicating 400 details about the transition. This may be an empty string. 401 maxLength: 32768 402 type: string 403 observedGeneration: 404 description: observedGeneration represents the .metadata.generation 405 that the condition was set based upon. For instance, if .metadata.generation 406 is currently 12, but the .status.conditions[x].observedGeneration 407 is 9, the condition is out of date with respect to the current 408 state of the instance. 409 format: int64 410 minimum: 0 411 type: integer 412 reason: 413 description: reason contains a programmatic identifier indicating 414 the reason for the condition's last transition. Producers 415 of specific condition types may define expected values and 416 meanings for this field, and whether the values are considered 417 a guaranteed API. The value should be a CamelCase string. 418 This field may not be empty. 419 maxLength: 1024 420 minLength: 1 421 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ 422 type: string 423 status: 424 description: status of the condition, one of True, False, Unknown. 425 enum: 426 - "True" 427 - "False" 428 - Unknown 429 type: string 430 type: 431 description: type of condition in CamelCase or in foo.example.com/CamelCase. 432 --- Many .condition.type values are consistent across resources 433 like Available, but because arbitrary conditions can be useful 434 (see .node.status.conditions), the ability to deconflict is 435 important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) 436 maxLength: 316 437 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ 438 type: string 439 required: 440 - lastTransitionTime 441 - message 442 - reason 443 - status 444 - type 445 type: object 446 type: array 447 info: 448 properties: 449 compression: 450 properties: 451 compressedSize: 452 format: int64 453 type: integer 454 compressionRate: 455 format: int64 456 type: integer 457 type: object 458 downtimeMs: 459 format: int64 460 type: integer 461 ram: 462 properties: 463 remaining: 464 format: int64 465 type: integer 466 total: 467 format: int64 468 type: integer 469 transferred: 470 format: int64 471 type: integer 472 type: object 473 setupTimeMs: 474 format: int64 475 type: integer 476 status: 477 type: string 478 totalTimeMs: 479 format: int64 480 type: integer 481 type: object 482 phase: 483 description: The phase of a VM is a simple, high-level summary of 484 where the VM is in its lifecycle. 485 type: string 486 sourceNode: 487 type: string 488 sourcePodIP: 489 type: string 490 sourcePodName: 491 type: string 492 targetNode: 493 type: string 494 targetPodIP: 495 type: string 496 targetPodName: 497 type: string 498 type: object 499 type: object 500 served: true 501 storage: true 502 subresources: 503 status: {} 504 --- 505 apiVersion: apiextensions.k8s.io/v1 506 kind: CustomResourceDefinition 507 metadata: 508 annotations: 509 cert-manager.io/inject-ca-from: neonvm-system/neonvm-serving-cert 510 controller-gen.kubebuilder.io/version: v0.10.0 511 name: virtualmachines.vm.neon.tech 512 spec: 513 conversion: 514 strategy: Webhook 515 webhook: 516 clientConfig: 517 service: 518 name: neonvm-webhook-service 519 namespace: neonvm-system 520 path: /convert 521 conversionReviewVersions: 522 - v1 523 group: vm.neon.tech 524 names: 525 kind: VirtualMachine 526 listKind: VirtualMachineList 527 plural: virtualmachines 528 singular: neonvm 529 scope: Namespaced 530 versions: 531 - additionalPrinterColumns: 532 - jsonPath: .status.cpus 533 name: Cpus 534 type: string 535 - jsonPath: .status.memorySize 536 name: Memory 537 type: string 538 - jsonPath: .status.podName 539 name: Pod 540 type: string 541 - jsonPath: .status.extraNetIP 542 name: ExtraIP 543 type: string 544 - jsonPath: .status.phase 545 name: Status 546 type: string 547 - jsonPath: .metadata.creationTimestamp 548 name: Age 549 type: date 550 - jsonPath: .status.node 551 name: Node 552 priority: 1 553 type: string 554 - jsonPath: .spec.guest.rootDisk.image 555 name: Image 556 priority: 1 557 type: string 558 name: v1 559 schema: 560 openAPIV3Schema: 561 description: VirtualMachine is the Schema for the virtualmachines API 562 properties: 563 apiVersion: 564 description: 'APIVersion defines the versioned schema of this representation 565 of an object. Servers should convert recognized schemas to the latest 566 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 567 type: string 568 kind: 569 description: 'Kind is a string value representing the REST resource this 570 object represents. Servers may infer this from the endpoint the client 571 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 572 type: string 573 metadata: 574 type: object 575 spec: 576 description: VirtualMachineSpec defines the desired state of VirtualMachine 577 properties: 578 affinity: 579 description: Affinity is a group of affinity scheduling rules. 580 properties: 581 nodeAffinity: 582 description: Describes node affinity scheduling rules for the 583 pod. 584 properties: 585 preferredDuringSchedulingIgnoredDuringExecution: 586 description: The scheduler will prefer to schedule pods to 587 nodes that satisfy the affinity expressions specified by 588 this field, but it may choose a node that violates one or 589 more of the expressions. The node that is most preferred 590 is the one with the greatest sum of weights, i.e. for each 591 node that meets all of the scheduling requirements (resource 592 request, requiredDuringScheduling affinity expressions, 593 etc.), compute a sum by iterating through the elements of 594 this field and adding "weight" to the sum if the node matches 595 the corresponding matchExpressions; the node(s) with the 596 highest sum are the most preferred. 597 items: 598 description: An empty preferred scheduling term matches 599 all objects with implicit weight 0 (i.e. it's a no-op). 600 A null preferred scheduling term matches no objects (i.e. 601 is also a no-op). 602 properties: 603 preference: 604 description: A node selector term, associated with the 605 corresponding weight. 606 properties: 607 matchExpressions: 608 description: A list of node selector requirements 609 by node's labels. 610 items: 611 description: A node selector requirement is a 612 selector that contains values, a key, and an 613 operator that relates the key and values. 614 properties: 615 key: 616 description: The label key that the selector 617 applies to. 618 type: string 619 operator: 620 description: Represents a key's relationship 621 to a set of values. Valid operators are 622 In, NotIn, Exists, DoesNotExist. Gt, and 623 Lt. 624 type: string 625 values: 626 description: An array of string values. If 627 the operator is In or NotIn, the values 628 array must be non-empty. If the operator 629 is Exists or DoesNotExist, the values array 630 must be empty. If the operator is Gt or 631 Lt, the values array must have a single 632 element, which will be interpreted as an 633 integer. This array is replaced during a 634 strategic merge patch. 635 items: 636 type: string 637 type: array 638 required: 639 - key 640 - operator 641 type: object 642 type: array 643 matchFields: 644 description: A list of node selector requirements 645 by node's fields. 646 items: 647 description: A node selector requirement is a 648 selector that contains values, a key, and an 649 operator that relates the key and values. 650 properties: 651 key: 652 description: The label key that the selector 653 applies to. 654 type: string 655 operator: 656 description: Represents a key's relationship 657 to a set of values. Valid operators are 658 In, NotIn, Exists, DoesNotExist. Gt, and 659 Lt. 660 type: string 661 values: 662 description: An array of string values. If 663 the operator is In or NotIn, the values 664 array must be non-empty. If the operator 665 is Exists or DoesNotExist, the values array 666 must be empty. If the operator is Gt or 667 Lt, the values array must have a single 668 element, which will be interpreted as an 669 integer. This array is replaced during a 670 strategic merge patch. 671 items: 672 type: string 673 type: array 674 required: 675 - key 676 - operator 677 type: object 678 type: array 679 type: object 680 x-kubernetes-map-type: atomic 681 weight: 682 description: Weight associated with matching the corresponding 683 nodeSelectorTerm, in the range 1-100. 684 format: int32 685 type: integer 686 required: 687 - preference 688 - weight 689 type: object 690 type: array 691 requiredDuringSchedulingIgnoredDuringExecution: 692 description: If the affinity requirements specified by this 693 field are not met at scheduling time, the pod will not be 694 scheduled onto the node. If the affinity requirements specified 695 by this field cease to be met at some point during pod execution 696 (e.g. due to an update), the system may or may not try to 697 eventually evict the pod from its node. 698 properties: 699 nodeSelectorTerms: 700 description: Required. A list of node selector terms. 701 The terms are ORed. 702 items: 703 description: A null or empty node selector term matches 704 no objects. The requirements of them are ANDed. The 705 TopologySelectorTerm type implements a subset of the 706 NodeSelectorTerm. 707 properties: 708 matchExpressions: 709 description: A list of node selector requirements 710 by node's labels. 711 items: 712 description: A node selector requirement is a 713 selector that contains values, a key, and an 714 operator that relates the key and values. 715 properties: 716 key: 717 description: The label key that the selector 718 applies to. 719 type: string 720 operator: 721 description: Represents a key's relationship 722 to a set of values. Valid operators are 723 In, NotIn, Exists, DoesNotExist. Gt, and 724 Lt. 725 type: string 726 values: 727 description: An array of string values. If 728 the operator is In or NotIn, the values 729 array must be non-empty. If the operator 730 is Exists or DoesNotExist, the values array 731 must be empty. If the operator is Gt or 732 Lt, the values array must have a single 733 element, which will be interpreted as an 734 integer. This array is replaced during a 735 strategic merge patch. 736 items: 737 type: string 738 type: array 739 required: 740 - key 741 - operator 742 type: object 743 type: array 744 matchFields: 745 description: A list of node selector requirements 746 by node's fields. 747 items: 748 description: A node selector requirement is a 749 selector that contains values, a key, and an 750 operator that relates the key and values. 751 properties: 752 key: 753 description: The label key that the selector 754 applies to. 755 type: string 756 operator: 757 description: Represents a key's relationship 758 to a set of values. Valid operators are 759 In, NotIn, Exists, DoesNotExist. Gt, and 760 Lt. 761 type: string 762 values: 763 description: An array of string values. If 764 the operator is In or NotIn, the values 765 array must be non-empty. If the operator 766 is Exists or DoesNotExist, the values array 767 must be empty. If the operator is Gt or 768 Lt, the values array must have a single 769 element, which will be interpreted as an 770 integer. This array is replaced during a 771 strategic merge patch. 772 items: 773 type: string 774 type: array 775 required: 776 - key 777 - operator 778 type: object 779 type: array 780 type: object 781 x-kubernetes-map-type: atomic 782 type: array 783 required: 784 - nodeSelectorTerms 785 type: object 786 x-kubernetes-map-type: atomic 787 type: object 788 podAffinity: 789 description: Describes pod affinity scheduling rules (e.g. co-locate 790 this pod in the same node, zone, etc. as some other pod(s)). 791 properties: 792 preferredDuringSchedulingIgnoredDuringExecution: 793 description: The scheduler will prefer to schedule pods to 794 nodes that satisfy the affinity expressions specified by 795 this field, but it may choose a node that violates one or 796 more of the expressions. The node that is most preferred 797 is the one with the greatest sum of weights, i.e. for each 798 node that meets all of the scheduling requirements (resource 799 request, requiredDuringScheduling affinity expressions, 800 etc.), compute a sum by iterating through the elements of 801 this field and adding "weight" to the sum if the node has 802 pods which matches the corresponding podAffinityTerm; the 803 node(s) with the highest sum are the most preferred. 804 items: 805 description: The weights of all of the matched WeightedPodAffinityTerm 806 fields are added per-node to find the most preferred node(s) 807 properties: 808 podAffinityTerm: 809 description: Required. A pod affinity term, associated 810 with the corresponding weight. 811 properties: 812 labelSelector: 813 description: A label query over a set of resources, 814 in this case pods. 815 properties: 816 matchExpressions: 817 description: matchExpressions is a list of label 818 selector requirements. The requirements are 819 ANDed. 820 items: 821 description: A label selector requirement 822 is a selector that contains values, a key, 823 and an operator that relates the key and 824 values. 825 properties: 826 key: 827 description: key is the label key that 828 the selector applies to. 829 type: string 830 operator: 831 description: operator represents a key's 832 relationship to a set of values. Valid 833 operators are In, NotIn, Exists and 834 DoesNotExist. 835 type: string 836 values: 837 description: values is an array of string 838 values. If the operator is In or NotIn, 839 the values array must be non-empty. 840 If the operator is Exists or DoesNotExist, 841 the values array must be empty. This 842 array is replaced during a strategic 843 merge patch. 844 items: 845 type: string 846 type: array 847 required: 848 - key 849 - operator 850 type: object 851 type: array 852 matchLabels: 853 additionalProperties: 854 type: string 855 description: matchLabels is a map of {key,value} 856 pairs. A single {key,value} in the matchLabels 857 map is equivalent to an element of matchExpressions, 858 whose key field is "key", the operator is 859 "In", and the values array contains only "value". 860 The requirements are ANDed. 861 type: object 862 type: object 863 x-kubernetes-map-type: atomic 864 namespaceSelector: 865 description: A label query over the set of namespaces 866 that the term applies to. The term is applied 867 to the union of the namespaces selected by this 868 field and the ones listed in the namespaces field. 869 null selector and null or empty namespaces list 870 means "this pod's namespace". An empty selector 871 ({}) matches all namespaces. 872 properties: 873 matchExpressions: 874 description: matchExpressions is a list of label 875 selector requirements. The requirements are 876 ANDed. 877 items: 878 description: A label selector requirement 879 is a selector that contains values, a key, 880 and an operator that relates the key and 881 values. 882 properties: 883 key: 884 description: key is the label key that 885 the selector applies to. 886 type: string 887 operator: 888 description: operator represents a key's 889 relationship to a set of values. Valid 890 operators are In, NotIn, Exists and 891 DoesNotExist. 892 type: string 893 values: 894 description: values is an array of string 895 values. If the operator is In or NotIn, 896 the values array must be non-empty. 897 If the operator is Exists or DoesNotExist, 898 the values array must be empty. This 899 array is replaced during a strategic 900 merge patch. 901 items: 902 type: string 903 type: array 904 required: 905 - key 906 - operator 907 type: object 908 type: array 909 matchLabels: 910 additionalProperties: 911 type: string 912 description: matchLabels is a map of {key,value} 913 pairs. A single {key,value} in the matchLabels 914 map is equivalent to an element of matchExpressions, 915 whose key field is "key", the operator is 916 "In", and the values array contains only "value". 917 The requirements are ANDed. 918 type: object 919 type: object 920 x-kubernetes-map-type: atomic 921 namespaces: 922 description: namespaces specifies a static list 923 of namespace names that the term applies to. The 924 term is applied to the union of the namespaces 925 listed in this field and the ones selected by 926 namespaceSelector. null or empty namespaces list 927 and null namespaceSelector means "this pod's namespace". 928 items: 929 type: string 930 type: array 931 topologyKey: 932 description: This pod should be co-located (affinity) 933 or not co-located (anti-affinity) with the pods 934 matching the labelSelector in the specified namespaces, 935 where co-located is defined as running on a node 936 whose value of the label with key topologyKey 937 matches that of any node on which any of the selected 938 pods is running. Empty topologyKey is not allowed. 939 type: string 940 required: 941 - topologyKey 942 type: object 943 weight: 944 description: weight associated with matching the corresponding 945 podAffinityTerm, in the range 1-100. 946 format: int32 947 type: integer 948 required: 949 - podAffinityTerm 950 - weight 951 type: object 952 type: array 953 requiredDuringSchedulingIgnoredDuringExecution: 954 description: If the affinity requirements specified by this 955 field are not met at scheduling time, the pod will not be 956 scheduled onto the node. If the affinity requirements specified 957 by this field cease to be met at some point during pod execution 958 (e.g. due to a pod label update), the system may or may 959 not try to eventually evict the pod from its node. When 960 there are multiple elements, the lists of nodes corresponding 961 to each podAffinityTerm are intersected, i.e. all terms 962 must be satisfied. 963 items: 964 description: Defines a set of pods (namely those matching 965 the labelSelector relative to the given namespace(s)) 966 that this pod should be co-located (affinity) or not co-located 967 (anti-affinity) with, where co-located is defined as running 968 on a node whose value of the label with key <topologyKey> 969 matches that of any node on which a pod of the set of 970 pods is running 971 properties: 972 labelSelector: 973 description: A label query over a set of resources, 974 in this case pods. 975 properties: 976 matchExpressions: 977 description: matchExpressions is a list of label 978 selector requirements. The requirements are ANDed. 979 items: 980 description: A label selector requirement is a 981 selector that contains values, a key, and an 982 operator that relates the key and values. 983 properties: 984 key: 985 description: key is the label key that the 986 selector applies to. 987 type: string 988 operator: 989 description: operator represents a key's relationship 990 to a set of values. Valid operators are 991 In, NotIn, Exists and DoesNotExist. 992 type: string 993 values: 994 description: values is an array of string 995 values. If the operator is In or NotIn, 996 the values array must be non-empty. If the 997 operator is Exists or DoesNotExist, the 998 values array must be empty. This array is 999 replaced during a strategic merge patch. 1000 items: 1001 type: string 1002 type: array 1003 required: 1004 - key 1005 - operator 1006 type: object 1007 type: array 1008 matchLabels: 1009 additionalProperties: 1010 type: string 1011 description: matchLabels is a map of {key,value} 1012 pairs. A single {key,value} in the matchLabels 1013 map is equivalent to an element of matchExpressions, 1014 whose key field is "key", the operator is "In", 1015 and the values array contains only "value". The 1016 requirements are ANDed. 1017 type: object 1018 type: object 1019 x-kubernetes-map-type: atomic 1020 namespaceSelector: 1021 description: A label query over the set of namespaces 1022 that the term applies to. The term is applied to the 1023 union of the namespaces selected by this field and 1024 the ones listed in the namespaces field. null selector 1025 and null or empty namespaces list means "this pod's 1026 namespace". An empty selector ({}) matches all namespaces. 1027 properties: 1028 matchExpressions: 1029 description: matchExpressions is a list of label 1030 selector requirements. The requirements are ANDed. 1031 items: 1032 description: A label selector requirement is a 1033 selector that contains values, a key, and an 1034 operator that relates the key and values. 1035 properties: 1036 key: 1037 description: key is the label key that the 1038 selector applies to. 1039 type: string 1040 operator: 1041 description: operator represents a key's relationship 1042 to a set of values. Valid operators are 1043 In, NotIn, Exists and DoesNotExist. 1044 type: string 1045 values: 1046 description: values is an array of string 1047 values. If the operator is In or NotIn, 1048 the values array must be non-empty. If the 1049 operator is Exists or DoesNotExist, the 1050 values array must be empty. This array is 1051 replaced during a strategic merge patch. 1052 items: 1053 type: string 1054 type: array 1055 required: 1056 - key 1057 - operator 1058 type: object 1059 type: array 1060 matchLabels: 1061 additionalProperties: 1062 type: string 1063 description: matchLabels is a map of {key,value} 1064 pairs. A single {key,value} in the matchLabels 1065 map is equivalent to an element of matchExpressions, 1066 whose key field is "key", the operator is "In", 1067 and the values array contains only "value". The 1068 requirements are ANDed. 1069 type: object 1070 type: object 1071 x-kubernetes-map-type: atomic 1072 namespaces: 1073 description: namespaces specifies a static list of namespace 1074 names that the term applies to. The term is applied 1075 to the union of the namespaces listed in this field 1076 and the ones selected by namespaceSelector. null or 1077 empty namespaces list and null namespaceSelector means 1078 "this pod's namespace". 1079 items: 1080 type: string 1081 type: array 1082 topologyKey: 1083 description: This pod should be co-located (affinity) 1084 or not co-located (anti-affinity) with the pods matching 1085 the labelSelector in the specified namespaces, where 1086 co-located is defined as running on a node whose value 1087 of the label with key topologyKey matches that of 1088 any node on which any of the selected pods is running. 1089 Empty topologyKey is not allowed. 1090 type: string 1091 required: 1092 - topologyKey 1093 type: object 1094 type: array 1095 type: object 1096 podAntiAffinity: 1097 description: Describes pod anti-affinity scheduling rules (e.g. 1098 avoid putting this pod in the same node, zone, etc. as some 1099 other pod(s)). 1100 properties: 1101 preferredDuringSchedulingIgnoredDuringExecution: 1102 description: The scheduler will prefer to schedule pods to 1103 nodes that satisfy the anti-affinity expressions specified 1104 by this field, but it may choose a node that violates one 1105 or more of the expressions. The node that is most preferred 1106 is the one with the greatest sum of weights, i.e. for each 1107 node that meets all of the scheduling requirements (resource 1108 request, requiredDuringScheduling anti-affinity expressions, 1109 etc.), compute a sum by iterating through the elements of 1110 this field and adding "weight" to the sum if the node has 1111 pods which matches the corresponding podAffinityTerm; the 1112 node(s) with the highest sum are the most preferred. 1113 items: 1114 description: The weights of all of the matched WeightedPodAffinityTerm 1115 fields are added per-node to find the most preferred node(s) 1116 properties: 1117 podAffinityTerm: 1118 description: Required. A pod affinity term, associated 1119 with the corresponding weight. 1120 properties: 1121 labelSelector: 1122 description: A label query over a set of resources, 1123 in this case pods. 1124 properties: 1125 matchExpressions: 1126 description: matchExpressions is a list of label 1127 selector requirements. The requirements are 1128 ANDed. 1129 items: 1130 description: A label selector requirement 1131 is a selector that contains values, a key, 1132 and an operator that relates the key and 1133 values. 1134 properties: 1135 key: 1136 description: key is the label key that 1137 the selector applies to. 1138 type: string 1139 operator: 1140 description: operator represents a key's 1141 relationship to a set of values. Valid 1142 operators are In, NotIn, Exists and 1143 DoesNotExist. 1144 type: string 1145 values: 1146 description: values is an array of string 1147 values. If the operator is In or NotIn, 1148 the values array must be non-empty. 1149 If the operator is Exists or DoesNotExist, 1150 the values array must be empty. This 1151 array is replaced during a strategic 1152 merge patch. 1153 items: 1154 type: string 1155 type: array 1156 required: 1157 - key 1158 - operator 1159 type: object 1160 type: array 1161 matchLabels: 1162 additionalProperties: 1163 type: string 1164 description: matchLabels is a map of {key,value} 1165 pairs. A single {key,value} in the matchLabels 1166 map is equivalent to an element of matchExpressions, 1167 whose key field is "key", the operator is 1168 "In", and the values array contains only "value". 1169 The requirements are ANDed. 1170 type: object 1171 type: object 1172 x-kubernetes-map-type: atomic 1173 namespaceSelector: 1174 description: A label query over the set of namespaces 1175 that the term applies to. The term is applied 1176 to the union of the namespaces selected by this 1177 field and the ones listed in the namespaces field. 1178 null selector and null or empty namespaces list 1179 means "this pod's namespace". An empty selector 1180 ({}) matches all namespaces. 1181 properties: 1182 matchExpressions: 1183 description: matchExpressions is a list of label 1184 selector requirements. The requirements are 1185 ANDed. 1186 items: 1187 description: A label selector requirement 1188 is a selector that contains values, a key, 1189 and an operator that relates the key and 1190 values. 1191 properties: 1192 key: 1193 description: key is the label key that 1194 the selector applies to. 1195 type: string 1196 operator: 1197 description: operator represents a key's 1198 relationship to a set of values. Valid 1199 operators are In, NotIn, Exists and 1200 DoesNotExist. 1201 type: string 1202 values: 1203 description: values is an array of string 1204 values. If the operator is In or NotIn, 1205 the values array must be non-empty. 1206 If the operator is Exists or DoesNotExist, 1207 the values array must be empty. This 1208 array is replaced during a strategic 1209 merge patch. 1210 items: 1211 type: string 1212 type: array 1213 required: 1214 - key 1215 - operator 1216 type: object 1217 type: array 1218 matchLabels: 1219 additionalProperties: 1220 type: string 1221 description: matchLabels is a map of {key,value} 1222 pairs. A single {key,value} in the matchLabels 1223 map is equivalent to an element of matchExpressions, 1224 whose key field is "key", the operator is 1225 "In", and the values array contains only "value". 1226 The requirements are ANDed. 1227 type: object 1228 type: object 1229 x-kubernetes-map-type: atomic 1230 namespaces: 1231 description: namespaces specifies a static list 1232 of namespace names that the term applies to. The 1233 term is applied to the union of the namespaces 1234 listed in this field and the ones selected by 1235 namespaceSelector. null or empty namespaces list 1236 and null namespaceSelector means "this pod's namespace". 1237 items: 1238 type: string 1239 type: array 1240 topologyKey: 1241 description: This pod should be co-located (affinity) 1242 or not co-located (anti-affinity) with the pods 1243 matching the labelSelector in the specified namespaces, 1244 where co-located is defined as running on a node 1245 whose value of the label with key topologyKey 1246 matches that of any node on which any of the selected 1247 pods is running. Empty topologyKey is not allowed. 1248 type: string 1249 required: 1250 - topologyKey 1251 type: object 1252 weight: 1253 description: weight associated with matching the corresponding 1254 podAffinityTerm, in the range 1-100. 1255 format: int32 1256 type: integer 1257 required: 1258 - podAffinityTerm 1259 - weight 1260 type: object 1261 type: array 1262 requiredDuringSchedulingIgnoredDuringExecution: 1263 description: If the anti-affinity requirements specified by 1264 this field are not met at scheduling time, the pod will 1265 not be scheduled onto the node. If the anti-affinity requirements 1266 specified by this field cease to be met at some point during 1267 pod execution (e.g. due to a pod label update), the system 1268 may or may not try to eventually evict the pod from its 1269 node. When there are multiple elements, the lists of nodes 1270 corresponding to each podAffinityTerm are intersected, i.e. 1271 all terms must be satisfied. 1272 items: 1273 description: Defines a set of pods (namely those matching 1274 the labelSelector relative to the given namespace(s)) 1275 that this pod should be co-located (affinity) or not co-located 1276 (anti-affinity) with, where co-located is defined as running 1277 on a node whose value of the label with key <topologyKey> 1278 matches that of any node on which a pod of the set of 1279 pods is running 1280 properties: 1281 labelSelector: 1282 description: A label query over a set of resources, 1283 in this case pods. 1284 properties: 1285 matchExpressions: 1286 description: matchExpressions is a list of label 1287 selector requirements. The requirements are ANDed. 1288 items: 1289 description: A label selector requirement is a 1290 selector that contains values, a key, and an 1291 operator that relates the key and values. 1292 properties: 1293 key: 1294 description: key is the label key that the 1295 selector applies to. 1296 type: string 1297 operator: 1298 description: operator represents a key's relationship 1299 to a set of values. Valid operators are 1300 In, NotIn, Exists and DoesNotExist. 1301 type: string 1302 values: 1303 description: values is an array of string 1304 values. If the operator is In or NotIn, 1305 the values array must be non-empty. If the 1306 operator is Exists or DoesNotExist, the 1307 values array must be empty. This array is 1308 replaced during a strategic merge patch. 1309 items: 1310 type: string 1311 type: array 1312 required: 1313 - key 1314 - operator 1315 type: object 1316 type: array 1317 matchLabels: 1318 additionalProperties: 1319 type: string 1320 description: matchLabels is a map of {key,value} 1321 pairs. A single {key,value} in the matchLabels 1322 map is equivalent to an element of matchExpressions, 1323 whose key field is "key", the operator is "In", 1324 and the values array contains only "value". The 1325 requirements are ANDed. 1326 type: object 1327 type: object 1328 x-kubernetes-map-type: atomic 1329 namespaceSelector: 1330 description: A label query over the set of namespaces 1331 that the term applies to. The term is applied to the 1332 union of the namespaces selected by this field and 1333 the ones listed in the namespaces field. null selector 1334 and null or empty namespaces list means "this pod's 1335 namespace". An empty selector ({}) matches all namespaces. 1336 properties: 1337 matchExpressions: 1338 description: matchExpressions is a list of label 1339 selector requirements. The requirements are ANDed. 1340 items: 1341 description: A label selector requirement is a 1342 selector that contains values, a key, and an 1343 operator that relates the key and values. 1344 properties: 1345 key: 1346 description: key is the label key that the 1347 selector applies to. 1348 type: string 1349 operator: 1350 description: operator represents a key's relationship 1351 to a set of values. Valid operators are 1352 In, NotIn, Exists and DoesNotExist. 1353 type: string 1354 values: 1355 description: values is an array of string 1356 values. If the operator is In or NotIn, 1357 the values array must be non-empty. If the 1358 operator is Exists or DoesNotExist, the 1359 values array must be empty. This array is 1360 replaced during a strategic merge patch. 1361 items: 1362 type: string 1363 type: array 1364 required: 1365 - key 1366 - operator 1367 type: object 1368 type: array 1369 matchLabels: 1370 additionalProperties: 1371 type: string 1372 description: matchLabels is a map of {key,value} 1373 pairs. A single {key,value} in the matchLabels 1374 map is equivalent to an element of matchExpressions, 1375 whose key field is "key", the operator is "In", 1376 and the values array contains only "value". The 1377 requirements are ANDed. 1378 type: object 1379 type: object 1380 x-kubernetes-map-type: atomic 1381 namespaces: 1382 description: namespaces specifies a static list of namespace 1383 names that the term applies to. The term is applied 1384 to the union of the namespaces listed in this field 1385 and the ones selected by namespaceSelector. null or 1386 empty namespaces list and null namespaceSelector means 1387 "this pod's namespace". 1388 items: 1389 type: string 1390 type: array 1391 topologyKey: 1392 description: This pod should be co-located (affinity) 1393 or not co-located (anti-affinity) with the pods matching 1394 the labelSelector in the specified namespaces, where 1395 co-located is defined as running on a node whose value 1396 of the label with key topologyKey matches that of 1397 any node on which any of the selected pods is running. 1398 Empty topologyKey is not allowed. 1399 type: string 1400 required: 1401 - topologyKey 1402 type: object 1403 type: array 1404 type: object 1405 type: object 1406 disks: 1407 description: List of disk that can be mounted by virtual machine. 1408 items: 1409 properties: 1410 configMap: 1411 description: configMap represents a configMap that should populate 1412 this disk 1413 properties: 1414 defaultMode: 1415 description: 'defaultMode is optional: mode bits used to 1416 set permissions on created files by default. Must be an 1417 octal value between 0000 and 0777 or a decimal value between 1418 0 and 511. YAML accepts both octal and decimal values, 1419 JSON requires decimal values for mode bits. Defaults to 1420 0644. Directories within the path are not affected by 1421 this setting. This might be in conflict with other options 1422 that affect the file mode, like fsGroup, and the result 1423 can be other mode bits set.' 1424 format: int32 1425 type: integer 1426 items: 1427 description: items if unspecified, each key-value pair in 1428 the Data field of the referenced ConfigMap will be projected 1429 into the volume as a file whose name is the key and content 1430 is the value. If specified, the listed keys will be projected 1431 into the specified paths, and unlisted keys will not be 1432 present. If a key is specified which is not present in 1433 the ConfigMap, the volume setup will error unless it is 1434 marked optional. Paths must be relative and may not contain 1435 the '..' path or start with '..'. 1436 items: 1437 description: Maps a string key to a path within a volume. 1438 properties: 1439 key: 1440 description: key is the key to project. 1441 type: string 1442 mode: 1443 description: 'mode is Optional: mode bits used to 1444 set permissions on this file. Must be an octal value 1445 between 0000 and 0777 or a decimal value between 1446 0 and 511. YAML accepts both octal and decimal values, 1447 JSON requires decimal values for mode bits. If not 1448 specified, the volume defaultMode will be used. 1449 This might be in conflict with other options that 1450 affect the file mode, like fsGroup, and the result 1451 can be other mode bits set.' 1452 format: int32 1453 type: integer 1454 path: 1455 description: path is the relative path of the file 1456 to map the key to. May not be an absolute path. 1457 May not contain the path element '..'. May not start 1458 with the string '..'. 1459 type: string 1460 required: 1461 - key 1462 - path 1463 type: object 1464 type: array 1465 name: 1466 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1467 TODO: Add other useful fields. apiVersion, kind, uid?' 1468 type: string 1469 optional: 1470 description: optional specify whether the ConfigMap or its 1471 keys must be defined 1472 type: boolean 1473 type: object 1474 x-kubernetes-map-type: atomic 1475 emptyDisk: 1476 description: EmptyDisk represents a temporary empty qcow2 disk 1477 that shares a vm's lifetime. 1478 properties: 1479 size: 1480 anyOf: 1481 - type: integer 1482 - type: string 1483 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 1484 x-kubernetes-int-or-string: true 1485 required: 1486 - size 1487 type: object 1488 mountPath: 1489 description: Path within the virtual machine at which the disk 1490 should be mounted. Must not contain ':'. 1491 type: string 1492 name: 1493 description: Disk's name. Must be a DNS_LABEL and unique within 1494 the virtual machine. 1495 type: string 1496 readOnly: 1497 default: false 1498 description: Mounted read-only if true, read-write otherwise 1499 (false or unspecified). Defaults to false. 1500 type: boolean 1501 secret: 1502 description: Secret represents a secret that should populate 1503 this disk. 1504 properties: 1505 defaultMode: 1506 description: 'defaultMode is Optional: mode bits used to 1507 set permissions on created files by default. Must be an 1508 octal value between 0000 and 0777 or a decimal value between 1509 0 and 511. YAML accepts both octal and decimal values, 1510 JSON requires decimal values for mode bits. Defaults to 1511 0644. Directories within the path are not affected by 1512 this setting. This might be in conflict with other options 1513 that affect the file mode, like fsGroup, and the result 1514 can be other mode bits set.' 1515 format: int32 1516 type: integer 1517 items: 1518 description: items If unspecified, each key-value pair in 1519 the Data field of the referenced Secret will be projected 1520 into the volume as a file whose name is the key and content 1521 is the value. If specified, the listed keys will be projected 1522 into the specified paths, and unlisted keys will not be 1523 present. If a key is specified which is not present in 1524 the Secret, the volume setup will error unless it is marked 1525 optional. Paths must be relative and may not contain the 1526 '..' path or start with '..'. 1527 items: 1528 description: Maps a string key to a path within a volume. 1529 properties: 1530 key: 1531 description: key is the key to project. 1532 type: string 1533 mode: 1534 description: 'mode is Optional: mode bits used to 1535 set permissions on this file. Must be an octal value 1536 between 0000 and 0777 or a decimal value between 1537 0 and 511. YAML accepts both octal and decimal values, 1538 JSON requires decimal values for mode bits. If not 1539 specified, the volume defaultMode will be used. 1540 This might be in conflict with other options that 1541 affect the file mode, like fsGroup, and the result 1542 can be other mode bits set.' 1543 format: int32 1544 type: integer 1545 path: 1546 description: path is the relative path of the file 1547 to map the key to. May not be an absolute path. 1548 May not contain the path element '..'. May not start 1549 with the string '..'. 1550 type: string 1551 required: 1552 - key 1553 - path 1554 type: object 1555 type: array 1556 optional: 1557 description: optional field specify whether the Secret or 1558 its keys must be defined 1559 type: boolean 1560 secretName: 1561 description: 'secretName is the name of the secret in the 1562 pod''s namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' 1563 type: string 1564 type: object 1565 tmpfs: 1566 description: TmpfsDisk represents a tmpfs. 1567 properties: 1568 size: 1569 anyOf: 1570 - type: integer 1571 - type: string 1572 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 1573 x-kubernetes-int-or-string: true 1574 required: 1575 - size 1576 type: object 1577 required: 1578 - mountPath 1579 - name 1580 type: object 1581 type: array 1582 enableAcceleration: 1583 default: true 1584 description: Use KVM acceleation 1585 type: boolean 1586 extraInitContainers: 1587 items: 1588 description: A single application container that you want to run 1589 within a pod. 1590 properties: 1591 args: 1592 description: 'Arguments to the entrypoint. The container image''s 1593 CMD is used if this is not provided. Variable references $(VAR_NAME) 1594 are expanded using the container''s environment. If a variable 1595 cannot be resolved, the reference in the input string will 1596 be unchanged. Double $$ are reduced to a single $, which allows 1597 for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will 1598 produce the string literal "$(VAR_NAME)". Escaped references 1599 will never be expanded, regardless of whether the variable 1600 exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 1601 items: 1602 type: string 1603 type: array 1604 command: 1605 description: 'Entrypoint array. Not executed within a shell. 1606 The container image''s ENTRYPOINT is used if this is not provided. 1607 Variable references $(VAR_NAME) are expanded using the container''s 1608 environment. If a variable cannot be resolved, the reference 1609 in the input string will be unchanged. Double $$ are reduced 1610 to a single $, which allows for escaping the $(VAR_NAME) syntax: 1611 i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". 1612 Escaped references will never be expanded, regardless of whether 1613 the variable exists or not. Cannot be updated. More info: 1614 https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 1615 items: 1616 type: string 1617 type: array 1618 env: 1619 description: List of environment variables to set in the container. 1620 Cannot be updated. 1621 items: 1622 description: EnvVar represents an environment variable present 1623 in a Container. 1624 properties: 1625 name: 1626 description: Name of the environment variable. Must be 1627 a C_IDENTIFIER. 1628 type: string 1629 value: 1630 description: 'Variable references $(VAR_NAME) are expanded 1631 using the previously defined environment variables in 1632 the container and any service environment variables. 1633 If a variable cannot be resolved, the reference in the 1634 input string will be unchanged. Double $$ are reduced 1635 to a single $, which allows for escaping the $(VAR_NAME) 1636 syntax: i.e. "$$(VAR_NAME)" will produce the string 1637 literal "$(VAR_NAME)". Escaped references will never 1638 be expanded, regardless of whether the variable exists 1639 or not. Defaults to "".' 1640 type: string 1641 valueFrom: 1642 description: Source for the environment variable's value. 1643 Cannot be used if value is not empty. 1644 properties: 1645 configMapKeyRef: 1646 description: Selects a key of a ConfigMap. 1647 properties: 1648 key: 1649 description: The key to select. 1650 type: string 1651 name: 1652 description: 'Name of the referent. More info: 1653 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1654 TODO: Add other useful fields. apiVersion, kind, 1655 uid?' 1656 type: string 1657 optional: 1658 description: Specify whether the ConfigMap or 1659 its key must be defined 1660 type: boolean 1661 required: 1662 - key 1663 type: object 1664 x-kubernetes-map-type: atomic 1665 fieldRef: 1666 description: 'Selects a field of the pod: supports 1667 metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`, 1668 `metadata.annotations[''<KEY>'']`, spec.nodeName, 1669 spec.serviceAccountName, status.hostIP, status.podIP, 1670 status.podIPs.' 1671 properties: 1672 apiVersion: 1673 description: Version of the schema the FieldPath 1674 is written in terms of, defaults to "v1". 1675 type: string 1676 fieldPath: 1677 description: Path of the field to select in the 1678 specified API version. 1679 type: string 1680 required: 1681 - fieldPath 1682 type: object 1683 x-kubernetes-map-type: atomic 1684 resourceFieldRef: 1685 description: 'Selects a resource of the container: 1686 only resources limits and requests (limits.cpu, 1687 limits.memory, limits.ephemeral-storage, requests.cpu, 1688 requests.memory and requests.ephemeral-storage) 1689 are currently supported.' 1690 properties: 1691 containerName: 1692 description: 'Container name: required for volumes, 1693 optional for env vars' 1694 type: string 1695 divisor: 1696 anyOf: 1697 - type: integer 1698 - type: string 1699 description: Specifies the output format of the 1700 exposed resources, defaults to "1" 1701 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 1702 x-kubernetes-int-or-string: true 1703 resource: 1704 description: 'Required: resource to select' 1705 type: string 1706 required: 1707 - resource 1708 type: object 1709 x-kubernetes-map-type: atomic 1710 secretKeyRef: 1711 description: Selects a key of a secret in the pod's 1712 namespace 1713 properties: 1714 key: 1715 description: The key of the secret to select from. Must 1716 be a valid secret key. 1717 type: string 1718 name: 1719 description: 'Name of the referent. More info: 1720 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1721 TODO: Add other useful fields. apiVersion, kind, 1722 uid?' 1723 type: string 1724 optional: 1725 description: Specify whether the Secret or its 1726 key must be defined 1727 type: boolean 1728 required: 1729 - key 1730 type: object 1731 x-kubernetes-map-type: atomic 1732 type: object 1733 required: 1734 - name 1735 type: object 1736 type: array 1737 envFrom: 1738 description: List of sources to populate environment variables 1739 in the container. The keys defined within a source must be 1740 a C_IDENTIFIER. All invalid keys will be reported as an event 1741 when the container is starting. When a key exists in multiple 1742 sources, the value associated with the last source will take 1743 precedence. Values defined by an Env with a duplicate key 1744 will take precedence. Cannot be updated. 1745 items: 1746 description: EnvFromSource represents the source of a set 1747 of ConfigMaps 1748 properties: 1749 configMapRef: 1750 description: The ConfigMap to select from 1751 properties: 1752 name: 1753 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1754 TODO: Add other useful fields. apiVersion, kind, 1755 uid?' 1756 type: string 1757 optional: 1758 description: Specify whether the ConfigMap must be 1759 defined 1760 type: boolean 1761 type: object 1762 x-kubernetes-map-type: atomic 1763 prefix: 1764 description: An optional identifier to prepend to each 1765 key in the ConfigMap. Must be a C_IDENTIFIER. 1766 type: string 1767 secretRef: 1768 description: The Secret to select from 1769 properties: 1770 name: 1771 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1772 TODO: Add other useful fields. apiVersion, kind, 1773 uid?' 1774 type: string 1775 optional: 1776 description: Specify whether the Secret must be defined 1777 type: boolean 1778 type: object 1779 x-kubernetes-map-type: atomic 1780 type: object 1781 type: array 1782 image: 1783 description: 'Container image name. More info: https://kubernetes.io/docs/concepts/containers/images 1784 This field is optional to allow higher level config management 1785 to default or override container images in workload controllers 1786 like Deployments and StatefulSets.' 1787 type: string 1788 imagePullPolicy: 1789 description: 'Image pull policy. One of Always, Never, IfNotPresent. 1790 Defaults to Always if :latest tag is specified, or IfNotPresent 1791 otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' 1792 type: string 1793 lifecycle: 1794 description: Actions that the management system should take 1795 in response to container lifecycle events. Cannot be updated. 1796 properties: 1797 postStart: 1798 description: 'PostStart is called immediately after a container 1799 is created. If the handler fails, the container is terminated 1800 and restarted according to its restart policy. Other management 1801 of the container blocks until the hook completes. More 1802 info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 1803 properties: 1804 exec: 1805 description: Exec specifies the action to take. 1806 properties: 1807 command: 1808 description: Command is the command line to execute 1809 inside the container, the working directory for 1810 the command is root ('/') in the container's 1811 filesystem. The command is simply exec'd, it is 1812 not run inside a shell, so traditional shell instructions 1813 ('|', etc) won't work. To use a shell, you need 1814 to explicitly call out to that shell. Exit status 1815 of 0 is treated as live/healthy and non-zero is 1816 unhealthy. 1817 items: 1818 type: string 1819 type: array 1820 type: object 1821 httpGet: 1822 description: HTTPGet specifies the http request to perform. 1823 properties: 1824 host: 1825 description: Host name to connect to, defaults to 1826 the pod IP. You probably want to set "Host" in 1827 httpHeaders instead. 1828 type: string 1829 httpHeaders: 1830 description: Custom headers to set in the request. 1831 HTTP allows repeated headers. 1832 items: 1833 description: HTTPHeader describes a custom header 1834 to be used in HTTP probes 1835 properties: 1836 name: 1837 description: The header field name. This will 1838 be canonicalized upon output, so case-variant 1839 names will be understood as the same header. 1840 type: string 1841 value: 1842 description: The header field value 1843 type: string 1844 required: 1845 - name 1846 - value 1847 type: object 1848 type: array 1849 path: 1850 description: Path to access on the HTTP server. 1851 type: string 1852 port: 1853 anyOf: 1854 - type: integer 1855 - type: string 1856 description: Name or number of the port to access 1857 on the container. Number must be in the range 1858 1 to 65535. Name must be an IANA_SVC_NAME. 1859 x-kubernetes-int-or-string: true 1860 scheme: 1861 description: Scheme to use for connecting to the 1862 host. Defaults to HTTP. 1863 type: string 1864 required: 1865 - port 1866 type: object 1867 tcpSocket: 1868 description: Deprecated. TCPSocket is NOT supported 1869 as a LifecycleHandler and kept for the backward compatibility. 1870 There are no validation of this field and lifecycle 1871 hooks will fail in runtime when tcp handler is specified. 1872 properties: 1873 host: 1874 description: 'Optional: Host name to connect to, 1875 defaults to the pod IP.' 1876 type: string 1877 port: 1878 anyOf: 1879 - type: integer 1880 - type: string 1881 description: Number or name of the port to access 1882 on the container. Number must be in the range 1883 1 to 65535. Name must be an IANA_SVC_NAME. 1884 x-kubernetes-int-or-string: true 1885 required: 1886 - port 1887 type: object 1888 type: object 1889 preStop: 1890 description: 'PreStop is called immediately before a container 1891 is terminated due to an API request or management event 1892 such as liveness/startup probe failure, preemption, resource 1893 contention, etc. The handler is not called if the container 1894 crashes or exits. The Pod''s termination grace period 1895 countdown begins before the PreStop hook is executed. 1896 Regardless of the outcome of the handler, the container 1897 will eventually terminate within the Pod''s termination 1898 grace period (unless delayed by finalizers). Other management 1899 of the container blocks until the hook completes or until 1900 the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 1901 properties: 1902 exec: 1903 description: Exec specifies the action to take. 1904 properties: 1905 command: 1906 description: Command is the command line to execute 1907 inside the container, the working directory for 1908 the command is root ('/') in the container's 1909 filesystem. The command is simply exec'd, it is 1910 not run inside a shell, so traditional shell instructions 1911 ('|', etc) won't work. To use a shell, you need 1912 to explicitly call out to that shell. Exit status 1913 of 0 is treated as live/healthy and non-zero is 1914 unhealthy. 1915 items: 1916 type: string 1917 type: array 1918 type: object 1919 httpGet: 1920 description: HTTPGet specifies the http request to perform. 1921 properties: 1922 host: 1923 description: Host name to connect to, defaults to 1924 the pod IP. You probably want to set "Host" in 1925 httpHeaders instead. 1926 type: string 1927 httpHeaders: 1928 description: Custom headers to set in the request. 1929 HTTP allows repeated headers. 1930 items: 1931 description: HTTPHeader describes a custom header 1932 to be used in HTTP probes 1933 properties: 1934 name: 1935 description: The header field name. This will 1936 be canonicalized upon output, so case-variant 1937 names will be understood as the same header. 1938 type: string 1939 value: 1940 description: The header field value 1941 type: string 1942 required: 1943 - name 1944 - value 1945 type: object 1946 type: array 1947 path: 1948 description: Path to access on the HTTP server. 1949 type: string 1950 port: 1951 anyOf: 1952 - type: integer 1953 - type: string 1954 description: Name or number of the port to access 1955 on the container. Number must be in the range 1956 1 to 65535. Name must be an IANA_SVC_NAME. 1957 x-kubernetes-int-or-string: true 1958 scheme: 1959 description: Scheme to use for connecting to the 1960 host. Defaults to HTTP. 1961 type: string 1962 required: 1963 - port 1964 type: object 1965 tcpSocket: 1966 description: Deprecated. TCPSocket is NOT supported 1967 as a LifecycleHandler and kept for the backward compatibility. 1968 There are no validation of this field and lifecycle 1969 hooks will fail in runtime when tcp handler is specified. 1970 properties: 1971 host: 1972 description: 'Optional: Host name to connect to, 1973 defaults to the pod IP.' 1974 type: string 1975 port: 1976 anyOf: 1977 - type: integer 1978 - type: string 1979 description: Number or name of the port to access 1980 on the container. Number must be in the range 1981 1 to 65535. Name must be an IANA_SVC_NAME. 1982 x-kubernetes-int-or-string: true 1983 required: 1984 - port 1985 type: object 1986 type: object 1987 type: object 1988 livenessProbe: 1989 description: 'Periodic probe of container liveness. Container 1990 will be restarted if the probe fails. Cannot be updated. More 1991 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 1992 properties: 1993 exec: 1994 description: Exec specifies the action to take. 1995 properties: 1996 command: 1997 description: Command is the command line to execute 1998 inside the container, the working directory for the 1999 command is root ('/') in the container's filesystem. 2000 The command is simply exec'd, it is not run inside 2001 a shell, so traditional shell instructions ('|', etc) 2002 won't work. To use a shell, you need to explicitly 2003 call out to that shell. Exit status of 0 is treated 2004 as live/healthy and non-zero is unhealthy. 2005 items: 2006 type: string 2007 type: array 2008 type: object 2009 failureThreshold: 2010 description: Minimum consecutive failures for the probe 2011 to be considered failed after having succeeded. Defaults 2012 to 3. Minimum value is 1. 2013 format: int32 2014 type: integer 2015 grpc: 2016 description: GRPC specifies an action involving a GRPC port. 2017 This is a beta field and requires enabling GRPCContainerProbe 2018 feature gate. 2019 properties: 2020 port: 2021 description: Port number of the gRPC service. Number 2022 must be in the range 1 to 65535. 2023 format: int32 2024 type: integer 2025 service: 2026 description: "Service is the name of the service to 2027 place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 2028 \n If this is not specified, the default behavior 2029 is defined by gRPC." 2030 type: string 2031 required: 2032 - port 2033 type: object 2034 httpGet: 2035 description: HTTPGet specifies the http request to perform. 2036 properties: 2037 host: 2038 description: Host name to connect to, defaults to the 2039 pod IP. You probably want to set "Host" in httpHeaders 2040 instead. 2041 type: string 2042 httpHeaders: 2043 description: Custom headers to set in the request. HTTP 2044 allows repeated headers. 2045 items: 2046 description: HTTPHeader describes a custom header 2047 to be used in HTTP probes 2048 properties: 2049 name: 2050 description: The header field name. This will 2051 be canonicalized upon output, so case-variant 2052 names will be understood as the same header. 2053 type: string 2054 value: 2055 description: The header field value 2056 type: string 2057 required: 2058 - name 2059 - value 2060 type: object 2061 type: array 2062 path: 2063 description: Path to access on the HTTP server. 2064 type: string 2065 port: 2066 anyOf: 2067 - type: integer 2068 - type: string 2069 description: Name or number of the port to access on 2070 the container. Number must be in the range 1 to 65535. 2071 Name must be an IANA_SVC_NAME. 2072 x-kubernetes-int-or-string: true 2073 scheme: 2074 description: Scheme to use for connecting to the host. 2075 Defaults to HTTP. 2076 type: string 2077 required: 2078 - port 2079 type: object 2080 initialDelaySeconds: 2081 description: 'Number of seconds after the container has 2082 started before liveness probes are initiated. More info: 2083 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 2084 format: int32 2085 type: integer 2086 periodSeconds: 2087 description: How often (in seconds) to perform the probe. 2088 Default to 10 seconds. Minimum value is 1. 2089 format: int32 2090 type: integer 2091 successThreshold: 2092 description: Minimum consecutive successes for the probe 2093 to be considered successful after having failed. Defaults 2094 to 1. Must be 1 for liveness and startup. Minimum value 2095 is 1. 2096 format: int32 2097 type: integer 2098 tcpSocket: 2099 description: TCPSocket specifies an action involving a TCP 2100 port. 2101 properties: 2102 host: 2103 description: 'Optional: Host name to connect to, defaults 2104 to the pod IP.' 2105 type: string 2106 port: 2107 anyOf: 2108 - type: integer 2109 - type: string 2110 description: Number or name of the port to access on 2111 the container. Number must be in the range 1 to 65535. 2112 Name must be an IANA_SVC_NAME. 2113 x-kubernetes-int-or-string: true 2114 required: 2115 - port 2116 type: object 2117 terminationGracePeriodSeconds: 2118 description: Optional duration in seconds the pod needs 2119 to terminate gracefully upon probe failure. The grace 2120 period is the duration in seconds after the processes 2121 running in the pod are sent a termination signal and the 2122 time when the processes are forcibly halted with a kill 2123 signal. Set this value longer than the expected cleanup 2124 time for your process. If this value is nil, the pod's 2125 terminationGracePeriodSeconds will be used. Otherwise, 2126 this value overrides the value provided by the pod spec. 2127 Value must be non-negative integer. The value zero indicates 2128 stop immediately via the kill signal (no opportunity to 2129 shut down). This is a beta field and requires enabling 2130 ProbeTerminationGracePeriod feature gate. Minimum value 2131 is 1. spec.terminationGracePeriodSeconds is used if unset. 2132 format: int64 2133 type: integer 2134 timeoutSeconds: 2135 description: 'Number of seconds after which the probe times 2136 out. Defaults to 1 second. Minimum value is 1. More info: 2137 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 2138 format: int32 2139 type: integer 2140 type: object 2141 name: 2142 description: Name of the container specified as a DNS_LABEL. 2143 Each container in a pod must have a unique name (DNS_LABEL). 2144 Cannot be updated. 2145 type: string 2146 ports: 2147 description: List of ports to expose from the container. Not 2148 specifying a port here DOES NOT prevent that port from being 2149 exposed. Any port which is listening on the default "0.0.0.0" 2150 address inside a container will be accessible from the network. 2151 Modifying this array with strategic merge patch may corrupt 2152 the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. 2153 Cannot be updated. 2154 items: 2155 description: ContainerPort represents a network port in a 2156 single container. 2157 properties: 2158 containerPort: 2159 description: Number of port to expose on the pod's IP 2160 address. This must be a valid port number, 0 < x < 65536. 2161 format: int32 2162 type: integer 2163 hostIP: 2164 description: What host IP to bind the external port to. 2165 type: string 2166 hostPort: 2167 description: Number of port to expose on the host. If 2168 specified, this must be a valid port number, 0 < x < 2169 65536. If HostNetwork is specified, this must match 2170 ContainerPort. Most containers do not need this. 2171 format: int32 2172 type: integer 2173 name: 2174 description: If specified, this must be an IANA_SVC_NAME 2175 and unique within the pod. Each named port in a pod 2176 must have a unique name. Name for the port that can 2177 be referred to by services. 2178 type: string 2179 protocol: 2180 default: TCP 2181 description: Protocol for port. Must be UDP, TCP, or SCTP. 2182 Defaults to "TCP". 2183 type: string 2184 required: 2185 - containerPort 2186 type: object 2187 type: array 2188 x-kubernetes-list-map-keys: 2189 - containerPort 2190 - protocol 2191 x-kubernetes-list-type: map 2192 readinessProbe: 2193 description: 'Periodic probe of container service readiness. 2194 Container will be removed from service endpoints if the probe 2195 fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 2196 properties: 2197 exec: 2198 description: Exec specifies the action to take. 2199 properties: 2200 command: 2201 description: Command is the command line to execute 2202 inside the container, the working directory for the 2203 command is root ('/') in the container's filesystem. 2204 The command is simply exec'd, it is not run inside 2205 a shell, so traditional shell instructions ('|', etc) 2206 won't work. To use a shell, you need to explicitly 2207 call out to that shell. Exit status of 0 is treated 2208 as live/healthy and non-zero is unhealthy. 2209 items: 2210 type: string 2211 type: array 2212 type: object 2213 failureThreshold: 2214 description: Minimum consecutive failures for the probe 2215 to be considered failed after having succeeded. Defaults 2216 to 3. Minimum value is 1. 2217 format: int32 2218 type: integer 2219 grpc: 2220 description: GRPC specifies an action involving a GRPC port. 2221 This is a beta field and requires enabling GRPCContainerProbe 2222 feature gate. 2223 properties: 2224 port: 2225 description: Port number of the gRPC service. Number 2226 must be in the range 1 to 65535. 2227 format: int32 2228 type: integer 2229 service: 2230 description: "Service is the name of the service to 2231 place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 2232 \n If this is not specified, the default behavior 2233 is defined by gRPC." 2234 type: string 2235 required: 2236 - port 2237 type: object 2238 httpGet: 2239 description: HTTPGet specifies the http request to perform. 2240 properties: 2241 host: 2242 description: Host name to connect to, defaults to the 2243 pod IP. You probably want to set "Host" in httpHeaders 2244 instead. 2245 type: string 2246 httpHeaders: 2247 description: Custom headers to set in the request. HTTP 2248 allows repeated headers. 2249 items: 2250 description: HTTPHeader describes a custom header 2251 to be used in HTTP probes 2252 properties: 2253 name: 2254 description: The header field name. This will 2255 be canonicalized upon output, so case-variant 2256 names will be understood as the same header. 2257 type: string 2258 value: 2259 description: The header field value 2260 type: string 2261 required: 2262 - name 2263 - value 2264 type: object 2265 type: array 2266 path: 2267 description: Path to access on the HTTP server. 2268 type: string 2269 port: 2270 anyOf: 2271 - type: integer 2272 - type: string 2273 description: Name or number of the port to access on 2274 the container. Number must be in the range 1 to 65535. 2275 Name must be an IANA_SVC_NAME. 2276 x-kubernetes-int-or-string: true 2277 scheme: 2278 description: Scheme to use for connecting to the host. 2279 Defaults to HTTP. 2280 type: string 2281 required: 2282 - port 2283 type: object 2284 initialDelaySeconds: 2285 description: 'Number of seconds after the container has 2286 started before liveness probes are initiated. More info: 2287 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 2288 format: int32 2289 type: integer 2290 periodSeconds: 2291 description: How often (in seconds) to perform the probe. 2292 Default to 10 seconds. Minimum value is 1. 2293 format: int32 2294 type: integer 2295 successThreshold: 2296 description: Minimum consecutive successes for the probe 2297 to be considered successful after having failed. Defaults 2298 to 1. Must be 1 for liveness and startup. Minimum value 2299 is 1. 2300 format: int32 2301 type: integer 2302 tcpSocket: 2303 description: TCPSocket specifies an action involving a TCP 2304 port. 2305 properties: 2306 host: 2307 description: 'Optional: Host name to connect to, defaults 2308 to the pod IP.' 2309 type: string 2310 port: 2311 anyOf: 2312 - type: integer 2313 - type: string 2314 description: Number or name of the port to access on 2315 the container. Number must be in the range 1 to 65535. 2316 Name must be an IANA_SVC_NAME. 2317 x-kubernetes-int-or-string: true 2318 required: 2319 - port 2320 type: object 2321 terminationGracePeriodSeconds: 2322 description: Optional duration in seconds the pod needs 2323 to terminate gracefully upon probe failure. The grace 2324 period is the duration in seconds after the processes 2325 running in the pod are sent a termination signal and the 2326 time when the processes are forcibly halted with a kill 2327 signal. Set this value longer than the expected cleanup 2328 time for your process. If this value is nil, the pod's 2329 terminationGracePeriodSeconds will be used. Otherwise, 2330 this value overrides the value provided by the pod spec. 2331 Value must be non-negative integer. The value zero indicates 2332 stop immediately via the kill signal (no opportunity to 2333 shut down). This is a beta field and requires enabling 2334 ProbeTerminationGracePeriod feature gate. Minimum value 2335 is 1. spec.terminationGracePeriodSeconds is used if unset. 2336 format: int64 2337 type: integer 2338 timeoutSeconds: 2339 description: 'Number of seconds after which the probe times 2340 out. Defaults to 1 second. Minimum value is 1. More info: 2341 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 2342 format: int32 2343 type: integer 2344 type: object 2345 resources: 2346 description: 'Compute Resources required by this container. 2347 Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 2348 properties: 2349 limits: 2350 additionalProperties: 2351 anyOf: 2352 - type: integer 2353 - type: string 2354 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 2355 x-kubernetes-int-or-string: true 2356 description: 'Limits describes the maximum amount of compute 2357 resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 2358 type: object 2359 requests: 2360 additionalProperties: 2361 anyOf: 2362 - type: integer 2363 - type: string 2364 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 2365 x-kubernetes-int-or-string: true 2366 description: 'Requests describes the minimum amount of compute 2367 resources required. If Requests is omitted for a container, 2368 it defaults to Limits if that is explicitly specified, 2369 otherwise to an implementation-defined value. More info: 2370 https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 2371 type: object 2372 type: object 2373 securityContext: 2374 description: 'SecurityContext defines the security options the 2375 container should be run with. If set, the fields of SecurityContext 2376 override the equivalent fields of PodSecurityContext. More 2377 info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/' 2378 properties: 2379 allowPrivilegeEscalation: 2380 description: 'AllowPrivilegeEscalation controls whether 2381 a process can gain more privileges than its parent process. 2382 This bool directly controls if the no_new_privs flag will 2383 be set on the container process. AllowPrivilegeEscalation 2384 is true always when the container is: 1) run as Privileged 2385 2) has CAP_SYS_ADMIN Note that this field cannot be set 2386 when spec.os.name is windows.' 2387 type: boolean 2388 capabilities: 2389 description: The capabilities to add/drop when running containers. 2390 Defaults to the default set of capabilities granted by 2391 the container runtime. Note that this field cannot be 2392 set when spec.os.name is windows. 2393 properties: 2394 add: 2395 description: Added capabilities 2396 items: 2397 description: Capability represent POSIX capabilities 2398 type 2399 type: string 2400 type: array 2401 drop: 2402 description: Removed capabilities 2403 items: 2404 description: Capability represent POSIX capabilities 2405 type 2406 type: string 2407 type: array 2408 type: object 2409 privileged: 2410 description: Run container in privileged mode. Processes 2411 in privileged containers are essentially equivalent to 2412 root on the host. Defaults to false. Note that this field 2413 cannot be set when spec.os.name is windows. 2414 type: boolean 2415 procMount: 2416 description: procMount denotes the type of proc mount to 2417 use for the containers. The default is DefaultProcMount 2418 which uses the container runtime defaults for readonly 2419 paths and masked paths. This requires the ProcMountType 2420 feature flag to be enabled. Note that this field cannot 2421 be set when spec.os.name is windows. 2422 type: string 2423 readOnlyRootFilesystem: 2424 description: Whether this container has a read-only root 2425 filesystem. Default is false. Note that this field cannot 2426 be set when spec.os.name is windows. 2427 type: boolean 2428 runAsGroup: 2429 description: The GID to run the entrypoint of the container 2430 process. Uses runtime default if unset. May also be set 2431 in PodSecurityContext. If set in both SecurityContext 2432 and PodSecurityContext, the value specified in SecurityContext 2433 takes precedence. Note that this field cannot be set when 2434 spec.os.name is windows. 2435 format: int64 2436 type: integer 2437 runAsNonRoot: 2438 description: Indicates that the container must run as a 2439 non-root user. If true, the Kubelet will validate the 2440 image at runtime to ensure that it does not run as UID 2441 0 (root) and fail to start the container if it does. If 2442 unset or false, no such validation will be performed. 2443 May also be set in PodSecurityContext. If set in both 2444 SecurityContext and PodSecurityContext, the value specified 2445 in SecurityContext takes precedence. 2446 type: boolean 2447 runAsUser: 2448 description: The UID to run the entrypoint of the container 2449 process. Defaults to user specified in image metadata 2450 if unspecified. May also be set in PodSecurityContext. If 2451 set in both SecurityContext and PodSecurityContext, the 2452 value specified in SecurityContext takes precedence. Note 2453 that this field cannot be set when spec.os.name is windows. 2454 format: int64 2455 type: integer 2456 seLinuxOptions: 2457 description: The SELinux context to be applied to the container. 2458 If unspecified, the container runtime will allocate a 2459 random SELinux context for each container. May also be 2460 set in PodSecurityContext. If set in both SecurityContext 2461 and PodSecurityContext, the value specified in SecurityContext 2462 takes precedence. Note that this field cannot be set when 2463 spec.os.name is windows. 2464 properties: 2465 level: 2466 description: Level is SELinux level label that applies 2467 to the container. 2468 type: string 2469 role: 2470 description: Role is a SELinux role label that applies 2471 to the container. 2472 type: string 2473 type: 2474 description: Type is a SELinux type label that applies 2475 to the container. 2476 type: string 2477 user: 2478 description: User is a SELinux user label that applies 2479 to the container. 2480 type: string 2481 type: object 2482 seccompProfile: 2483 description: The seccomp options to use by this container. 2484 If seccomp options are provided at both the pod & container 2485 level, the container options override the pod options. 2486 Note that this field cannot be set when spec.os.name is 2487 windows. 2488 properties: 2489 localhostProfile: 2490 description: localhostProfile indicates a profile defined 2491 in a file on the node should be used. The profile 2492 must be preconfigured on the node to work. Must be 2493 a descending path, relative to the kubelet's configured 2494 seccomp profile location. Must only be set if type 2495 is "Localhost". 2496 type: string 2497 type: 2498 description: "type indicates which kind of seccomp profile 2499 will be applied. Valid options are: \n Localhost - 2500 a profile defined in a file on the node should be 2501 used. RuntimeDefault - the container runtime default 2502 profile should be used. Unconfined - no profile should 2503 be applied." 2504 type: string 2505 required: 2506 - type 2507 type: object 2508 windowsOptions: 2509 description: The Windows specific settings applied to all 2510 containers. If unspecified, the options from the PodSecurityContext 2511 will be used. If set in both SecurityContext and PodSecurityContext, 2512 the value specified in SecurityContext takes precedence. 2513 Note that this field cannot be set when spec.os.name is 2514 linux. 2515 properties: 2516 gmsaCredentialSpec: 2517 description: GMSACredentialSpec is where the GMSA admission 2518 webhook (https://github.com/kubernetes-sigs/windows-gmsa) 2519 inlines the contents of the GMSA credential spec named 2520 by the GMSACredentialSpecName field. 2521 type: string 2522 gmsaCredentialSpecName: 2523 description: GMSACredentialSpecName is the name of the 2524 GMSA credential spec to use. 2525 type: string 2526 hostProcess: 2527 description: HostProcess determines if a container should 2528 be run as a 'Host Process' container. This field is 2529 alpha-level and will only be honored by components 2530 that enable the WindowsHostProcessContainers feature 2531 flag. Setting this field without the feature flag 2532 will result in errors when validating the Pod. All 2533 of a Pod's containers must have the same effective 2534 HostProcess value (it is not allowed to have a mix 2535 of HostProcess containers and non-HostProcess containers). In 2536 addition, if HostProcess is true then HostNetwork 2537 must also be set to true. 2538 type: boolean 2539 runAsUserName: 2540 description: The UserName in Windows to run the entrypoint 2541 of the container process. Defaults to the user specified 2542 in image metadata if unspecified. May also be set 2543 in PodSecurityContext. If set in both SecurityContext 2544 and PodSecurityContext, the value specified in SecurityContext 2545 takes precedence. 2546 type: string 2547 type: object 2548 type: object 2549 startupProbe: 2550 description: 'StartupProbe indicates that the Pod has successfully 2551 initialized. If specified, no other probes are executed until 2552 this completes successfully. If this probe fails, the Pod 2553 will be restarted, just as if the livenessProbe failed. This 2554 can be used to provide different probe parameters at the beginning 2555 of a Pod''s lifecycle, when it might take a long time to load 2556 data or warm a cache, than during steady-state operation. 2557 This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 2558 properties: 2559 exec: 2560 description: Exec specifies the action to take. 2561 properties: 2562 command: 2563 description: Command is the command line to execute 2564 inside the container, the working directory for the 2565 command is root ('/') in the container's filesystem. 2566 The command is simply exec'd, it is not run inside 2567 a shell, so traditional shell instructions ('|', etc) 2568 won't work. To use a shell, you need to explicitly 2569 call out to that shell. Exit status of 0 is treated 2570 as live/healthy and non-zero is unhealthy. 2571 items: 2572 type: string 2573 type: array 2574 type: object 2575 failureThreshold: 2576 description: Minimum consecutive failures for the probe 2577 to be considered failed after having succeeded. Defaults 2578 to 3. Minimum value is 1. 2579 format: int32 2580 type: integer 2581 grpc: 2582 description: GRPC specifies an action involving a GRPC port. 2583 This is a beta field and requires enabling GRPCContainerProbe 2584 feature gate. 2585 properties: 2586 port: 2587 description: Port number of the gRPC service. Number 2588 must be in the range 1 to 65535. 2589 format: int32 2590 type: integer 2591 service: 2592 description: "Service is the name of the service to 2593 place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 2594 \n If this is not specified, the default behavior 2595 is defined by gRPC." 2596 type: string 2597 required: 2598 - port 2599 type: object 2600 httpGet: 2601 description: HTTPGet specifies the http request to perform. 2602 properties: 2603 host: 2604 description: Host name to connect to, defaults to the 2605 pod IP. You probably want to set "Host" in httpHeaders 2606 instead. 2607 type: string 2608 httpHeaders: 2609 description: Custom headers to set in the request. HTTP 2610 allows repeated headers. 2611 items: 2612 description: HTTPHeader describes a custom header 2613 to be used in HTTP probes 2614 properties: 2615 name: 2616 description: The header field name. This will 2617 be canonicalized upon output, so case-variant 2618 names will be understood as the same header. 2619 type: string 2620 value: 2621 description: The header field value 2622 type: string 2623 required: 2624 - name 2625 - value 2626 type: object 2627 type: array 2628 path: 2629 description: Path to access on the HTTP server. 2630 type: string 2631 port: 2632 anyOf: 2633 - type: integer 2634 - type: string 2635 description: Name or number of the port to access on 2636 the container. Number must be in the range 1 to 65535. 2637 Name must be an IANA_SVC_NAME. 2638 x-kubernetes-int-or-string: true 2639 scheme: 2640 description: Scheme to use for connecting to the host. 2641 Defaults to HTTP. 2642 type: string 2643 required: 2644 - port 2645 type: object 2646 initialDelaySeconds: 2647 description: 'Number of seconds after the container has 2648 started before liveness probes are initiated. More info: 2649 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 2650 format: int32 2651 type: integer 2652 periodSeconds: 2653 description: How often (in seconds) to perform the probe. 2654 Default to 10 seconds. Minimum value is 1. 2655 format: int32 2656 type: integer 2657 successThreshold: 2658 description: Minimum consecutive successes for the probe 2659 to be considered successful after having failed. Defaults 2660 to 1. Must be 1 for liveness and startup. Minimum value 2661 is 1. 2662 format: int32 2663 type: integer 2664 tcpSocket: 2665 description: TCPSocket specifies an action involving a TCP 2666 port. 2667 properties: 2668 host: 2669 description: 'Optional: Host name to connect to, defaults 2670 to the pod IP.' 2671 type: string 2672 port: 2673 anyOf: 2674 - type: integer 2675 - type: string 2676 description: Number or name of the port to access on 2677 the container. Number must be in the range 1 to 65535. 2678 Name must be an IANA_SVC_NAME. 2679 x-kubernetes-int-or-string: true 2680 required: 2681 - port 2682 type: object 2683 terminationGracePeriodSeconds: 2684 description: Optional duration in seconds the pod needs 2685 to terminate gracefully upon probe failure. The grace 2686 period is the duration in seconds after the processes 2687 running in the pod are sent a termination signal and the 2688 time when the processes are forcibly halted with a kill 2689 signal. Set this value longer than the expected cleanup 2690 time for your process. If this value is nil, the pod's 2691 terminationGracePeriodSeconds will be used. Otherwise, 2692 this value overrides the value provided by the pod spec. 2693 Value must be non-negative integer. The value zero indicates 2694 stop immediately via the kill signal (no opportunity to 2695 shut down). This is a beta field and requires enabling 2696 ProbeTerminationGracePeriod feature gate. Minimum value 2697 is 1. spec.terminationGracePeriodSeconds is used if unset. 2698 format: int64 2699 type: integer 2700 timeoutSeconds: 2701 description: 'Number of seconds after which the probe times 2702 out. Defaults to 1 second. Minimum value is 1. More info: 2703 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 2704 format: int32 2705 type: integer 2706 type: object 2707 stdin: 2708 description: Whether this container should allocate a buffer 2709 for stdin in the container runtime. If this is not set, reads 2710 from stdin in the container will always result in EOF. Default 2711 is false. 2712 type: boolean 2713 stdinOnce: 2714 description: Whether the container runtime should close the 2715 stdin channel after it has been opened by a single attach. 2716 When stdin is true the stdin stream will remain open across 2717 multiple attach sessions. If stdinOnce is set to true, stdin 2718 is opened on container start, is empty until the first client 2719 attaches to stdin, and then remains open and accepts data 2720 until the client disconnects, at which time stdin is closed 2721 and remains closed until the container is restarted. If this 2722 flag is false, a container processes that reads from stdin 2723 will never receive an EOF. Default is false 2724 type: boolean 2725 terminationMessagePath: 2726 description: 'Optional: Path at which the file to which the 2727 container''s termination message will be written is mounted 2728 into the container''s filesystem. Message written is intended 2729 to be brief final status, such as an assertion failure message. 2730 Will be truncated by the node if greater than 4096 bytes. 2731 The total message length across all containers will be limited 2732 to 12kb. Defaults to /dev/termination-log. Cannot be updated.' 2733 type: string 2734 terminationMessagePolicy: 2735 description: Indicate how the termination message should be 2736 populated. File will use the contents of terminationMessagePath 2737 to populate the container status message on both success and 2738 failure. FallbackToLogsOnError will use the last chunk of 2739 container log output if the termination message file is empty 2740 and the container exited with an error. The log output is 2741 limited to 2048 bytes or 80 lines, whichever is smaller. Defaults 2742 to File. Cannot be updated. 2743 type: string 2744 tty: 2745 description: Whether this container should allocate a TTY for 2746 itself, also requires 'stdin' to be true. Default is false. 2747 type: boolean 2748 volumeDevices: 2749 description: volumeDevices is the list of block devices to be 2750 used by the container. 2751 items: 2752 description: volumeDevice describes a mapping of a raw block 2753 device within a container. 2754 properties: 2755 devicePath: 2756 description: devicePath is the path inside of the container 2757 that the device will be mapped to. 2758 type: string 2759 name: 2760 description: name must match the name of a persistentVolumeClaim 2761 in the pod 2762 type: string 2763 required: 2764 - devicePath 2765 - name 2766 type: object 2767 type: array 2768 volumeMounts: 2769 description: Pod volumes to mount into the container's filesystem. 2770 Cannot be updated. 2771 items: 2772 description: VolumeMount describes a mounting of a Volume 2773 within a container. 2774 properties: 2775 mountPath: 2776 description: Path within the container at which the volume 2777 should be mounted. Must not contain ':'. 2778 type: string 2779 mountPropagation: 2780 description: mountPropagation determines how mounts are 2781 propagated from the host to container and the other 2782 way around. When not set, MountPropagationNone is used. 2783 This field is beta in 1.10. 2784 type: string 2785 name: 2786 description: This must match the Name of a Volume. 2787 type: string 2788 readOnly: 2789 description: Mounted read-only if true, read-write otherwise 2790 (false or unspecified). Defaults to false. 2791 type: boolean 2792 subPath: 2793 description: Path within the volume from which the container's 2794 volume should be mounted. Defaults to "" (volume's root). 2795 type: string 2796 subPathExpr: 2797 description: Expanded path within the volume from which 2798 the container's volume should be mounted. Behaves similarly 2799 to SubPath but environment variable references $(VAR_NAME) 2800 are expanded using the container's environment. Defaults 2801 to "" (volume's root). SubPathExpr and SubPath are mutually 2802 exclusive. 2803 type: string 2804 required: 2805 - mountPath 2806 - name 2807 type: object 2808 type: array 2809 workingDir: 2810 description: Container's working directory. If not specified, 2811 the container runtime's default will be used, which might 2812 be configured in the container image. Cannot be updated. 2813 type: string 2814 required: 2815 - name 2816 type: object 2817 type: array 2818 extraNetwork: 2819 description: Extra network interface attached to network provided 2820 by Mutlus CNI. 2821 properties: 2822 enable: 2823 default: false 2824 description: Enable extra network interface 2825 type: boolean 2826 interface: 2827 default: net1 2828 description: Interface name. 2829 type: string 2830 multusNetwork: 2831 description: Multus Network name specified in network-attachments-definition. 2832 type: string 2833 type: object 2834 guest: 2835 properties: 2836 args: 2837 description: Arguments to the entrypoint. The docker image's cmd 2838 is used if this is not provided. 2839 items: 2840 type: string 2841 type: array 2842 command: 2843 description: Docker image Entrypoint array replacement. 2844 items: 2845 type: string 2846 type: array 2847 cpus: 2848 properties: 2849 max: 2850 description: MilliCPU is a special type to represent vCPUs 2851 * 1000 e.g. 2 vCPU is 2000, 0.25 is 250 2852 format: int32 2853 pattern: ^[0-9]+((\.[0-9]*)?|m) 2854 type: integer 2855 x-kubernetes-int-or-string: true 2856 min: 2857 default: 1 2858 description: MilliCPU is a special type to represent vCPUs 2859 * 1000 e.g. 2 vCPU is 2000, 0.25 is 250 2860 format: int32 2861 pattern: ^[0-9]+((\.[0-9]*)?|m) 2862 type: integer 2863 x-kubernetes-int-or-string: true 2864 use: 2865 description: MilliCPU is a special type to represent vCPUs 2866 * 1000 e.g. 2 vCPU is 2000, 0.25 is 250 2867 format: int32 2868 pattern: ^[0-9]+((\.[0-9]*)?|m) 2869 type: integer 2870 x-kubernetes-int-or-string: true 2871 type: object 2872 env: 2873 description: List of environment variables to set in the vmstart 2874 process. 2875 items: 2876 properties: 2877 name: 2878 description: Name of the environment variable. Must be a 2879 C_IDENTIFIER. 2880 type: string 2881 value: 2882 default: "" 2883 type: string 2884 required: 2885 - name 2886 type: object 2887 type: array 2888 memorySlotSize: 2889 anyOf: 2890 - type: integer 2891 - type: string 2892 default: 1Gi 2893 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 2894 x-kubernetes-int-or-string: true 2895 memorySlots: 2896 properties: 2897 max: 2898 format: int32 2899 maximum: 128 2900 minimum: 1 2901 type: integer 2902 min: 2903 default: 1 2904 format: int32 2905 maximum: 128 2906 minimum: 1 2907 type: integer 2908 use: 2909 format: int32 2910 maximum: 128 2911 minimum: 1 2912 type: integer 2913 type: object 2914 ports: 2915 description: List of ports to expose from the container. Cannot 2916 be updated. 2917 items: 2918 properties: 2919 name: 2920 description: If specified, this must be an IANA_SVC_NAME 2921 and unique within the pod. Each named port in a pod must 2922 have a unique name. Name for the port that can be referred 2923 to by services. 2924 type: string 2925 port: 2926 description: Number of port to expose on the pod's IP address. 2927 This must be a valid port number, 0 < x < 65536. 2928 maximum: 65535 2929 minimum: 1 2930 type: integer 2931 protocol: 2932 default: TCP 2933 description: Protocol for port. Must be UDP or TCP. Defaults 2934 to "TCP". 2935 type: string 2936 required: 2937 - port 2938 type: object 2939 type: array 2940 rootDisk: 2941 properties: 2942 execute: 2943 items: 2944 type: string 2945 type: array 2946 image: 2947 type: string 2948 imagePullPolicy: 2949 default: IfNotPresent 2950 description: PullPolicy describes a policy for if/when to 2951 pull a container image 2952 type: string 2953 size: 2954 anyOf: 2955 - type: integer 2956 - type: string 2957 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 2958 x-kubernetes-int-or-string: true 2959 required: 2960 - image 2961 type: object 2962 type: object 2963 imagePullSecrets: 2964 items: 2965 description: LocalObjectReference contains enough information to 2966 let you locate the referenced object inside the same namespace. 2967 properties: 2968 name: 2969 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 2970 TODO: Add other useful fields. apiVersion, kind, uid?' 2971 type: string 2972 type: object 2973 x-kubernetes-map-type: atomic 2974 type: array 2975 nodeSelector: 2976 additionalProperties: 2977 type: string 2978 type: object 2979 podResources: 2980 description: ResourceRequirements describes the compute resource requirements. 2981 properties: 2982 limits: 2983 additionalProperties: 2984 anyOf: 2985 - type: integer 2986 - type: string 2987 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 2988 x-kubernetes-int-or-string: true 2989 description: 'Limits describes the maximum amount of compute resources 2990 allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 2991 type: object 2992 requests: 2993 additionalProperties: 2994 anyOf: 2995 - type: integer 2996 - type: string 2997 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 2998 x-kubernetes-int-or-string: true 2999 description: 'Requests describes the minimum amount of compute 3000 resources required. If Requests is omitted for a container, 3001 it defaults to Limits if that is explicitly specified, otherwise 3002 to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 3003 type: object 3004 type: object 3005 qmp: 3006 default: 20183 3007 format: int32 3008 maximum: 65535 3009 minimum: 1 3010 type: integer 3011 restartPolicy: 3012 default: Always 3013 enum: 3014 - Always 3015 - OnFailure 3016 - Never 3017 type: string 3018 runnerPort: 3019 default: 25183 3020 format: int32 3021 maximum: 65535 3022 minimum: 1 3023 type: integer 3024 schedulerName: 3025 type: string 3026 service_links: 3027 type: boolean 3028 terminationGracePeriodSeconds: 3029 default: 5 3030 format: int64 3031 type: integer 3032 tolerations: 3033 items: 3034 description: The pod this Toleration is attached to tolerates any 3035 taint that matches the triple <key,value,effect> using the matching 3036 operator <operator>. 3037 properties: 3038 effect: 3039 description: Effect indicates the taint effect to match. Empty 3040 means match all taint effects. When specified, allowed values 3041 are NoSchedule, PreferNoSchedule and NoExecute. 3042 type: string 3043 key: 3044 description: Key is the taint key that the toleration applies 3045 to. Empty means match all taint keys. If the key is empty, 3046 operator must be Exists; this combination means to match all 3047 values and all keys. 3048 type: string 3049 operator: 3050 description: Operator represents a key's relationship to the 3051 value. Valid operators are Exists and Equal. Defaults to Equal. 3052 Exists is equivalent to wildcard for value, so that a pod 3053 can tolerate all taints of a particular category. 3054 type: string 3055 tolerationSeconds: 3056 description: TolerationSeconds represents the period of time 3057 the toleration (which must be of effect NoExecute, otherwise 3058 this field is ignored) tolerates the taint. By default, it 3059 is not set, which means tolerate the taint forever (do not 3060 evict). Zero and negative values will be treated as 0 (evict 3061 immediately) by the system. 3062 format: int64 3063 type: integer 3064 value: 3065 description: Value is the taint value the toleration matches 3066 to. If the operator is Exists, the value should be empty, 3067 otherwise just a regular string. 3068 type: string 3069 type: object 3070 type: array 3071 required: 3072 - guest 3073 type: object 3074 status: 3075 description: VirtualMachineStatus defines the observed state of VirtualMachine 3076 properties: 3077 conditions: 3078 items: 3079 description: "Condition contains details for one aspect of the current 3080 state of this API Resource. --- This struct is intended for direct 3081 use as an array at the field path .status.conditions. For example, 3082 \n type FooStatus struct{ // Represents the observations of a 3083 foo's current state. // Known .status.conditions.type are: \"Available\", 3084 \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge 3085 // +listType=map // +listMapKey=type Conditions []metav1.Condition 3086 `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" 3087 protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" 3088 properties: 3089 lastTransitionTime: 3090 description: lastTransitionTime is the last time the condition 3091 transitioned from one status to another. This should be when 3092 the underlying condition changed. If that is not known, then 3093 using the time when the API field changed is acceptable. 3094 format: date-time 3095 type: string 3096 message: 3097 description: message is a human readable message indicating 3098 details about the transition. This may be an empty string. 3099 maxLength: 32768 3100 type: string 3101 observedGeneration: 3102 description: observedGeneration represents the .metadata.generation 3103 that the condition was set based upon. For instance, if .metadata.generation 3104 is currently 12, but the .status.conditions[x].observedGeneration 3105 is 9, the condition is out of date with respect to the current 3106 state of the instance. 3107 format: int64 3108 minimum: 0 3109 type: integer 3110 reason: 3111 description: reason contains a programmatic identifier indicating 3112 the reason for the condition's last transition. Producers 3113 of specific condition types may define expected values and 3114 meanings for this field, and whether the values are considered 3115 a guaranteed API. The value should be a CamelCase string. 3116 This field may not be empty. 3117 maxLength: 1024 3118 minLength: 1 3119 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ 3120 type: string 3121 status: 3122 description: status of the condition, one of True, False, Unknown. 3123 enum: 3124 - "True" 3125 - "False" 3126 - Unknown 3127 type: string 3128 type: 3129 description: type of condition in CamelCase or in foo.example.com/CamelCase. 3130 --- Many .condition.type values are consistent across resources 3131 like Available, but because arbitrary conditions can be useful 3132 (see .node.status.conditions), the ability to deconflict is 3133 important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) 3134 maxLength: 316 3135 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ 3136 type: string 3137 required: 3138 - lastTransitionTime 3139 - message 3140 - reason 3141 - status 3142 - type 3143 type: object 3144 type: array 3145 cpus: 3146 description: MilliCPU is a special type to represent vCPUs * 1000 3147 e.g. 2 vCPU is 2000, 0.25 is 250 3148 format: int32 3149 pattern: ^[0-9]+((\.[0-9]*)?|m) 3150 type: integer 3151 x-kubernetes-int-or-string: true 3152 extraNetIP: 3153 type: string 3154 extraNetMask: 3155 type: string 3156 memorySize: 3157 anyOf: 3158 - type: integer 3159 - type: string 3160 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 3161 x-kubernetes-int-or-string: true 3162 node: 3163 type: string 3164 phase: 3165 description: The phase of a VM is a simple, high-level summary of 3166 where the VM is in its lifecycle. 3167 type: string 3168 podIP: 3169 type: string 3170 podName: 3171 type: string 3172 type: object 3173 type: object 3174 served: true 3175 storage: true 3176 subresources: 3177 status: {}