github.com/verrazzano/verrazzano@v1.7.0/platform-operator/thirdparty/charts/opensearch-operator/files/opensearch.opster.io_opensearchclusters.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: opensearchclusters.opensearch.opster.io 9 spec: 10 group: opensearch.opster.io 11 names: 12 kind: OpenSearchCluster 13 listKind: OpenSearchClusterList 14 plural: opensearchclusters 15 shortNames: 16 - os 17 - opensearch 18 singular: opensearchcluster 19 scope: Namespaced 20 versions: 21 - additionalPrinterColumns: 22 - description: Opensearch version 23 jsonPath: .status.version 24 name: version 25 type: string 26 - jsonPath: .status.phase 27 name: phase 28 type: string 29 - jsonPath: .metadata.creationTimestamp 30 name: age 31 type: date 32 name: v1 33 schema: 34 openAPIV3Schema: 35 description: Es is the Schema for the es API 36 properties: 37 apiVersion: 38 description: 'APIVersion defines the versioned schema of this representation 39 of an object. Servers should convert recognized schemas to the latest 40 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 41 type: string 42 kind: 43 description: 'Kind is a string value representing the REST resource this 44 object represents. Servers may infer this from the endpoint the client 45 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 46 type: string 47 metadata: 48 type: object 49 spec: 50 description: ClusterSpec defines the desired state of OpenSearchCluster 51 properties: 52 bootstrap: 53 properties: 54 additionalConfig: 55 additionalProperties: 56 type: string 57 description: Extra items to add to the opensearch.yml, defaults 58 to General.AdditionalConfig 59 type: object 60 affinity: 61 description: Affinity is a group of affinity scheduling rules. 62 properties: 63 nodeAffinity: 64 description: Describes node affinity scheduling rules for 65 the pod. 66 properties: 67 preferredDuringSchedulingIgnoredDuringExecution: 68 description: The scheduler will prefer to schedule pods 69 to nodes that satisfy the affinity expressions specified 70 by this field, but it may choose a node that violates 71 one or more of the expressions. The node that is most 72 preferred is the one with the greatest sum of weights, 73 i.e. for each node that meets all of the scheduling 74 requirements (resource request, requiredDuringScheduling 75 affinity expressions, etc.), compute a sum by iterating 76 through the elements of this field and adding "weight" 77 to the sum if the node matches the corresponding matchExpressions; 78 the node(s) with the highest sum are the most preferred. 79 items: 80 description: An empty preferred scheduling term matches 81 all objects with implicit weight 0 (i.e. it's a no-op). 82 A null preferred scheduling term matches no objects 83 (i.e. is also a no-op). 84 properties: 85 preference: 86 description: A node selector term, associated with 87 the corresponding weight. 88 properties: 89 matchExpressions: 90 description: A list of node selector requirements 91 by node's labels. 92 items: 93 description: A node selector requirement is 94 a selector that contains values, a key, 95 and an operator that relates the key and 96 values. 97 properties: 98 key: 99 description: The label key that the selector 100 applies to. 101 type: string 102 operator: 103 description: Represents a key's relationship 104 to a set of values. Valid operators 105 are In, NotIn, Exists, DoesNotExist. 106 Gt, and Lt. 107 type: string 108 values: 109 description: An array of string values. 110 If the operator is In or NotIn, the 111 values array must be non-empty. If the 112 operator is Exists or DoesNotExist, 113 the values array must be empty. If the 114 operator is Gt or Lt, the values array 115 must have a single element, which will 116 be interpreted as an integer. This array 117 is replaced during a strategic merge 118 patch. 119 items: 120 type: string 121 type: array 122 required: 123 - key 124 - operator 125 type: object 126 type: array 127 matchFields: 128 description: A list of node selector requirements 129 by node's fields. 130 items: 131 description: A node selector requirement is 132 a selector that contains values, a key, 133 and an operator that relates the key and 134 values. 135 properties: 136 key: 137 description: The label key that the selector 138 applies to. 139 type: string 140 operator: 141 description: Represents a key's relationship 142 to a set of values. Valid operators 143 are In, NotIn, Exists, DoesNotExist. 144 Gt, and Lt. 145 type: string 146 values: 147 description: An array of string values. 148 If the operator is In or NotIn, the 149 values array must be non-empty. If the 150 operator is Exists or DoesNotExist, 151 the values array must be empty. If the 152 operator is Gt or Lt, the values array 153 must have a single element, which will 154 be interpreted as an integer. This array 155 is replaced during a strategic merge 156 patch. 157 items: 158 type: string 159 type: array 160 required: 161 - key 162 - operator 163 type: object 164 type: array 165 type: object 166 x-kubernetes-map-type: atomic 167 weight: 168 description: Weight associated with matching the 169 corresponding nodeSelectorTerm, in the range 1-100. 170 format: int32 171 type: integer 172 required: 173 - preference 174 - weight 175 type: object 176 type: array 177 requiredDuringSchedulingIgnoredDuringExecution: 178 description: If the affinity requirements specified by 179 this field are not met at scheduling time, the pod will 180 not be scheduled onto the node. If the affinity requirements 181 specified by this field cease to be met at some point 182 during pod execution (e.g. due to an update), the system 183 may or may not try to eventually evict the pod from 184 its node. 185 properties: 186 nodeSelectorTerms: 187 description: Required. A list of node selector terms. 188 The terms are ORed. 189 items: 190 description: A null or empty node selector term 191 matches no objects. The requirements of them are 192 ANDed. The TopologySelectorTerm type implements 193 a subset of the NodeSelectorTerm. 194 properties: 195 matchExpressions: 196 description: A list of node selector requirements 197 by node's labels. 198 items: 199 description: A node selector requirement is 200 a selector that contains values, a key, 201 and an operator that relates the key and 202 values. 203 properties: 204 key: 205 description: The label key that the selector 206 applies to. 207 type: string 208 operator: 209 description: Represents a key's relationship 210 to a set of values. Valid operators 211 are In, NotIn, Exists, DoesNotExist. 212 Gt, and Lt. 213 type: string 214 values: 215 description: An array of string values. 216 If the operator is In or NotIn, the 217 values array must be non-empty. If the 218 operator is Exists or DoesNotExist, 219 the values array must be empty. If the 220 operator is Gt or Lt, the values array 221 must have a single element, which will 222 be interpreted as an integer. This array 223 is replaced during a strategic merge 224 patch. 225 items: 226 type: string 227 type: array 228 required: 229 - key 230 - operator 231 type: object 232 type: array 233 matchFields: 234 description: A list of node selector requirements 235 by node's fields. 236 items: 237 description: A node selector requirement is 238 a selector that contains values, a key, 239 and an operator that relates the key and 240 values. 241 properties: 242 key: 243 description: The label key that the selector 244 applies to. 245 type: string 246 operator: 247 description: Represents a key's relationship 248 to a set of values. Valid operators 249 are In, NotIn, Exists, DoesNotExist. 250 Gt, and Lt. 251 type: string 252 values: 253 description: An array of string values. 254 If the operator is In or NotIn, the 255 values array must be non-empty. If the 256 operator is Exists or DoesNotExist, 257 the values array must be empty. If the 258 operator is Gt or Lt, the values array 259 must have a single element, which will 260 be interpreted as an integer. This array 261 is replaced during a strategic merge 262 patch. 263 items: 264 type: string 265 type: array 266 required: 267 - key 268 - operator 269 type: object 270 type: array 271 type: object 272 x-kubernetes-map-type: atomic 273 type: array 274 required: 275 - nodeSelectorTerms 276 type: object 277 x-kubernetes-map-type: atomic 278 type: object 279 podAffinity: 280 description: Describes pod affinity scheduling rules (e.g. 281 co-locate this pod in the same node, zone, etc. as some 282 other pod(s)). 283 properties: 284 preferredDuringSchedulingIgnoredDuringExecution: 285 description: The scheduler will prefer to schedule pods 286 to nodes that satisfy the affinity expressions specified 287 by this field, but it may choose a node that violates 288 one or more of the expressions. The node that is most 289 preferred is the one with the greatest sum of weights, 290 i.e. for each node that meets all of the scheduling 291 requirements (resource request, requiredDuringScheduling 292 affinity expressions, etc.), compute a sum by iterating 293 through the elements of this field and adding "weight" 294 to the sum if the node has pods which matches the corresponding 295 podAffinityTerm; the node(s) with the highest sum are 296 the most preferred. 297 items: 298 description: The weights of all of the matched WeightedPodAffinityTerm 299 fields are added per-node to find the most preferred 300 node(s) 301 properties: 302 podAffinityTerm: 303 description: Required. A pod affinity term, associated 304 with the corresponding weight. 305 properties: 306 labelSelector: 307 description: A label query over a set of resources, 308 in this case pods. 309 properties: 310 matchExpressions: 311 description: matchExpressions is a list 312 of label selector requirements. The requirements 313 are ANDed. 314 items: 315 description: A label selector requirement 316 is a selector that contains values, 317 a key, and an operator that relates 318 the key and values. 319 properties: 320 key: 321 description: key is the label key 322 that the selector applies to. 323 type: string 324 operator: 325 description: operator represents a 326 key's relationship to a set of values. 327 Valid operators are In, NotIn, Exists 328 and DoesNotExist. 329 type: string 330 values: 331 description: values is an array of 332 string values. If the operator is 333 In or NotIn, the values array must 334 be non-empty. If the operator is 335 Exists or DoesNotExist, the values 336 array must be empty. This array 337 is replaced during a strategic merge 338 patch. 339 items: 340 type: string 341 type: array 342 required: 343 - key 344 - operator 345 type: object 346 type: array 347 matchLabels: 348 additionalProperties: 349 type: string 350 description: matchLabels is a map of {key,value} 351 pairs. A single {key,value} in the matchLabels 352 map is equivalent to an element of matchExpressions, 353 whose key field is "key", the operator 354 is "In", and the values array contains 355 only "value". The requirements are ANDed. 356 type: object 357 type: object 358 x-kubernetes-map-type: atomic 359 namespaceSelector: 360 description: A label query over the set of namespaces 361 that the term applies to. The term is applied 362 to the union of the namespaces selected by 363 this field and the ones listed in the namespaces 364 field. null selector and null or empty namespaces 365 list means "this pod's namespace". An empty 366 selector ({}) matches all namespaces. 367 properties: 368 matchExpressions: 369 description: matchExpressions is a list 370 of label selector requirements. The requirements 371 are ANDed. 372 items: 373 description: A label selector requirement 374 is a selector that contains values, 375 a key, and an operator that relates 376 the key and values. 377 properties: 378 key: 379 description: key is the label key 380 that the selector applies to. 381 type: string 382 operator: 383 description: operator represents a 384 key's relationship to a set of values. 385 Valid operators are In, NotIn, Exists 386 and DoesNotExist. 387 type: string 388 values: 389 description: values is an array of 390 string values. If the operator is 391 In or NotIn, the values array must 392 be non-empty. If the operator is 393 Exists or DoesNotExist, the values 394 array must be empty. This array 395 is replaced during a strategic merge 396 patch. 397 items: 398 type: string 399 type: array 400 required: 401 - key 402 - operator 403 type: object 404 type: array 405 matchLabels: 406 additionalProperties: 407 type: string 408 description: matchLabels is a map of {key,value} 409 pairs. A single {key,value} in the matchLabels 410 map is equivalent to an element of matchExpressions, 411 whose key field is "key", the operator 412 is "In", and the values array contains 413 only "value". The requirements are ANDed. 414 type: object 415 type: object 416 x-kubernetes-map-type: atomic 417 namespaces: 418 description: namespaces specifies a static list 419 of namespace names that the term applies to. 420 The term is applied to the union of the namespaces 421 listed in this field and the ones selected 422 by namespaceSelector. null or empty namespaces 423 list and null namespaceSelector means "this 424 pod's namespace". 425 items: 426 type: string 427 type: array 428 topologyKey: 429 description: This pod should be co-located (affinity) 430 or not co-located (anti-affinity) with the 431 pods matching the labelSelector in the specified 432 namespaces, where co-located is defined as 433 running on a node whose value of the label 434 with key topologyKey matches that of any node 435 on which any of the selected pods is running. 436 Empty topologyKey is not allowed. 437 type: string 438 required: 439 - topologyKey 440 type: object 441 weight: 442 description: weight associated with matching the 443 corresponding podAffinityTerm, in the range 1-100. 444 format: int32 445 type: integer 446 required: 447 - podAffinityTerm 448 - weight 449 type: object 450 type: array 451 requiredDuringSchedulingIgnoredDuringExecution: 452 description: If the affinity requirements specified by 453 this field are not met at scheduling time, the pod will 454 not be scheduled onto the node. If the affinity requirements 455 specified by this field cease to be met at some point 456 during pod execution (e.g. due to a pod label update), 457 the system may or may not try to eventually evict the 458 pod from its node. When there are multiple elements, 459 the lists of nodes corresponding to each podAffinityTerm 460 are intersected, i.e. all terms must be satisfied. 461 items: 462 description: Defines a set of pods (namely those matching 463 the labelSelector relative to the given namespace(s)) 464 that this pod should be co-located (affinity) or not 465 co-located (anti-affinity) with, where co-located 466 is defined as running on a node whose value of the 467 label with key <topologyKey> matches that of any node 468 on which a pod of the set of pods is running 469 properties: 470 labelSelector: 471 description: A label query over a set of resources, 472 in this case pods. 473 properties: 474 matchExpressions: 475 description: matchExpressions is a list of label 476 selector requirements. The requirements are 477 ANDed. 478 items: 479 description: A label selector requirement 480 is a selector that contains values, a key, 481 and an operator that relates the key and 482 values. 483 properties: 484 key: 485 description: key is the label key that 486 the selector applies to. 487 type: string 488 operator: 489 description: operator represents a key's 490 relationship to a set of values. Valid 491 operators are In, NotIn, Exists and 492 DoesNotExist. 493 type: string 494 values: 495 description: values is an array of string 496 values. If the operator is In or NotIn, 497 the values array must be non-empty. 498 If the operator is Exists or DoesNotExist, 499 the values array must be empty. This 500 array is replaced during a strategic 501 merge patch. 502 items: 503 type: string 504 type: array 505 required: 506 - key 507 - operator 508 type: object 509 type: array 510 matchLabels: 511 additionalProperties: 512 type: string 513 description: matchLabels is a map of {key,value} 514 pairs. A single {key,value} in the matchLabels 515 map is equivalent to an element of matchExpressions, 516 whose key field is "key", the operator is 517 "In", and the values array contains only "value". 518 The requirements are ANDed. 519 type: object 520 type: object 521 x-kubernetes-map-type: atomic 522 namespaceSelector: 523 description: A label query over the set of namespaces 524 that the term applies to. The term is applied 525 to the union of the namespaces selected by this 526 field and the ones listed in the namespaces field. 527 null selector and null or empty namespaces list 528 means "this pod's namespace". An empty selector 529 ({}) matches all namespaces. 530 properties: 531 matchExpressions: 532 description: matchExpressions is a list of label 533 selector requirements. The requirements are 534 ANDed. 535 items: 536 description: A label selector requirement 537 is a selector that contains values, a key, 538 and an operator that relates the key and 539 values. 540 properties: 541 key: 542 description: key is the label key that 543 the selector applies to. 544 type: string 545 operator: 546 description: operator represents a key's 547 relationship to a set of values. Valid 548 operators are In, NotIn, Exists and 549 DoesNotExist. 550 type: string 551 values: 552 description: values is an array of string 553 values. If the operator is In or NotIn, 554 the values array must be non-empty. 555 If the operator is Exists or DoesNotExist, 556 the values array must be empty. This 557 array is replaced during a strategic 558 merge patch. 559 items: 560 type: string 561 type: array 562 required: 563 - key 564 - operator 565 type: object 566 type: array 567 matchLabels: 568 additionalProperties: 569 type: string 570 description: matchLabels is a map of {key,value} 571 pairs. A single {key,value} in the matchLabels 572 map is equivalent to an element of matchExpressions, 573 whose key field is "key", the operator is 574 "In", and the values array contains only "value". 575 The requirements are ANDed. 576 type: object 577 type: object 578 x-kubernetes-map-type: atomic 579 namespaces: 580 description: namespaces specifies a static list 581 of namespace names that the term applies to. The 582 term is applied to the union of the namespaces 583 listed in this field and the ones selected by 584 namespaceSelector. null or empty namespaces list 585 and null namespaceSelector means "this pod's namespace". 586 items: 587 type: string 588 type: array 589 topologyKey: 590 description: This pod should be co-located (affinity) 591 or not co-located (anti-affinity) with the pods 592 matching the labelSelector in the specified namespaces, 593 where co-located is defined as running on a node 594 whose value of the label with key topologyKey 595 matches that of any node on which any of the selected 596 pods is running. Empty topologyKey is not allowed. 597 type: string 598 required: 599 - topologyKey 600 type: object 601 type: array 602 type: object 603 podAntiAffinity: 604 description: Describes pod anti-affinity scheduling rules 605 (e.g. avoid putting this pod in the same node, zone, etc. 606 as some other pod(s)). 607 properties: 608 preferredDuringSchedulingIgnoredDuringExecution: 609 description: The scheduler will prefer to schedule pods 610 to nodes that satisfy the anti-affinity expressions 611 specified by this field, but it may choose a node that 612 violates one or more of the expressions. The node that 613 is most preferred is the one with the greatest sum of 614 weights, i.e. for each node that meets all of the scheduling 615 requirements (resource request, requiredDuringScheduling 616 anti-affinity expressions, etc.), compute a sum by iterating 617 through the elements of this field and adding "weight" 618 to the sum if the node has pods which matches the corresponding 619 podAffinityTerm; the node(s) with the highest sum are 620 the most preferred. 621 items: 622 description: The weights of all of the matched WeightedPodAffinityTerm 623 fields are added per-node to find the most preferred 624 node(s) 625 properties: 626 podAffinityTerm: 627 description: Required. A pod affinity term, associated 628 with the corresponding weight. 629 properties: 630 labelSelector: 631 description: A label query over a set of resources, 632 in this case pods. 633 properties: 634 matchExpressions: 635 description: matchExpressions is a list 636 of label selector requirements. The requirements 637 are ANDed. 638 items: 639 description: A label selector requirement 640 is a selector that contains values, 641 a key, and an operator that relates 642 the key and values. 643 properties: 644 key: 645 description: key is the label key 646 that the selector applies to. 647 type: string 648 operator: 649 description: operator represents a 650 key's relationship to a set of values. 651 Valid operators are In, NotIn, Exists 652 and DoesNotExist. 653 type: string 654 values: 655 description: values is an array of 656 string values. If the operator is 657 In or NotIn, the values array must 658 be non-empty. If the operator is 659 Exists or DoesNotExist, the values 660 array must be empty. This array 661 is replaced during a strategic merge 662 patch. 663 items: 664 type: string 665 type: array 666 required: 667 - key 668 - operator 669 type: object 670 type: array 671 matchLabels: 672 additionalProperties: 673 type: string 674 description: matchLabels is a map of {key,value} 675 pairs. A single {key,value} in the matchLabels 676 map is equivalent to an element of matchExpressions, 677 whose key field is "key", the operator 678 is "In", and the values array contains 679 only "value". The requirements are ANDed. 680 type: object 681 type: object 682 x-kubernetes-map-type: atomic 683 namespaceSelector: 684 description: A label query over the set of namespaces 685 that the term applies to. The term is applied 686 to the union of the namespaces selected by 687 this field and the ones listed in the namespaces 688 field. null selector and null or empty namespaces 689 list means "this pod's namespace". An empty 690 selector ({}) matches all namespaces. 691 properties: 692 matchExpressions: 693 description: matchExpressions is a list 694 of label selector requirements. The requirements 695 are ANDed. 696 items: 697 description: A label selector requirement 698 is a selector that contains values, 699 a key, and an operator that relates 700 the key and values. 701 properties: 702 key: 703 description: key is the label key 704 that the selector applies to. 705 type: string 706 operator: 707 description: operator represents a 708 key's relationship to a set of values. 709 Valid operators are In, NotIn, Exists 710 and DoesNotExist. 711 type: string 712 values: 713 description: values is an array of 714 string values. If the operator is 715 In or NotIn, the values array must 716 be non-empty. If the operator is 717 Exists or DoesNotExist, the values 718 array must be empty. This array 719 is replaced during a strategic merge 720 patch. 721 items: 722 type: string 723 type: array 724 required: 725 - key 726 - operator 727 type: object 728 type: array 729 matchLabels: 730 additionalProperties: 731 type: string 732 description: matchLabels is a map of {key,value} 733 pairs. A single {key,value} in the matchLabels 734 map is equivalent to an element of matchExpressions, 735 whose key field is "key", the operator 736 is "In", and the values array contains 737 only "value". The requirements are ANDed. 738 type: object 739 type: object 740 x-kubernetes-map-type: atomic 741 namespaces: 742 description: namespaces specifies a static list 743 of namespace names that the term applies to. 744 The term is applied to the union of the namespaces 745 listed in this field and the ones selected 746 by namespaceSelector. null or empty namespaces 747 list and null namespaceSelector means "this 748 pod's namespace". 749 items: 750 type: string 751 type: array 752 topologyKey: 753 description: This pod should be co-located (affinity) 754 or not co-located (anti-affinity) with the 755 pods matching the labelSelector in the specified 756 namespaces, where co-located is defined as 757 running on a node whose value of the label 758 with key topologyKey matches that of any node 759 on which any of the selected pods is running. 760 Empty topologyKey is not allowed. 761 type: string 762 required: 763 - topologyKey 764 type: object 765 weight: 766 description: weight associated with matching the 767 corresponding podAffinityTerm, in the range 1-100. 768 format: int32 769 type: integer 770 required: 771 - podAffinityTerm 772 - weight 773 type: object 774 type: array 775 requiredDuringSchedulingIgnoredDuringExecution: 776 description: If the anti-affinity requirements specified 777 by this field are not met at scheduling time, the pod 778 will not be scheduled onto the node. If the anti-affinity 779 requirements specified by this field cease to be met 780 at some point during pod execution (e.g. due to a pod 781 label update), the system may or may not try to eventually 782 evict the pod from its node. When there are multiple 783 elements, the lists of nodes corresponding to each podAffinityTerm 784 are intersected, i.e. all terms must be satisfied. 785 items: 786 description: Defines a set of pods (namely those matching 787 the labelSelector relative to the given namespace(s)) 788 that this pod should be co-located (affinity) or not 789 co-located (anti-affinity) with, where co-located 790 is defined as running on a node whose value of the 791 label with key <topologyKey> matches that of any node 792 on which a pod of the set of pods is running 793 properties: 794 labelSelector: 795 description: A label query over a set of resources, 796 in this case pods. 797 properties: 798 matchExpressions: 799 description: matchExpressions is a list of label 800 selector requirements. The requirements are 801 ANDed. 802 items: 803 description: A label selector requirement 804 is a selector that contains values, a key, 805 and an operator that relates the key and 806 values. 807 properties: 808 key: 809 description: key is the label key that 810 the selector applies to. 811 type: string 812 operator: 813 description: operator represents a key's 814 relationship to a set of values. Valid 815 operators are In, NotIn, Exists and 816 DoesNotExist. 817 type: string 818 values: 819 description: values is an array of string 820 values. If the operator is In or NotIn, 821 the values array must be non-empty. 822 If the operator is Exists or DoesNotExist, 823 the values array must be empty. This 824 array is replaced during a strategic 825 merge patch. 826 items: 827 type: string 828 type: array 829 required: 830 - key 831 - operator 832 type: object 833 type: array 834 matchLabels: 835 additionalProperties: 836 type: string 837 description: matchLabels is a map of {key,value} 838 pairs. A single {key,value} in the matchLabels 839 map is equivalent to an element of matchExpressions, 840 whose key field is "key", the operator is 841 "In", and the values array contains only "value". 842 The requirements are ANDed. 843 type: object 844 type: object 845 x-kubernetes-map-type: atomic 846 namespaceSelector: 847 description: A label query over the set of namespaces 848 that the term applies to. The term is applied 849 to the union of the namespaces selected by this 850 field and the ones listed in the namespaces field. 851 null selector and null or empty namespaces list 852 means "this pod's namespace". An empty selector 853 ({}) matches all namespaces. 854 properties: 855 matchExpressions: 856 description: matchExpressions is a list of label 857 selector requirements. The requirements are 858 ANDed. 859 items: 860 description: A label selector requirement 861 is a selector that contains values, a key, 862 and an operator that relates the key and 863 values. 864 properties: 865 key: 866 description: key is the label key that 867 the selector applies to. 868 type: string 869 operator: 870 description: operator represents a key's 871 relationship to a set of values. Valid 872 operators are In, NotIn, Exists and 873 DoesNotExist. 874 type: string 875 values: 876 description: values is an array of string 877 values. If the operator is In or NotIn, 878 the values array must be non-empty. 879 If the operator is Exists or DoesNotExist, 880 the values array must be empty. This 881 array is replaced during a strategic 882 merge patch. 883 items: 884 type: string 885 type: array 886 required: 887 - key 888 - operator 889 type: object 890 type: array 891 matchLabels: 892 additionalProperties: 893 type: string 894 description: matchLabels is a map of {key,value} 895 pairs. A single {key,value} in the matchLabels 896 map is equivalent to an element of matchExpressions, 897 whose key field is "key", the operator is 898 "In", and the values array contains only "value". 899 The requirements are ANDed. 900 type: object 901 type: object 902 x-kubernetes-map-type: atomic 903 namespaces: 904 description: namespaces specifies a static list 905 of namespace names that the term applies to. The 906 term is applied to the union of the namespaces 907 listed in this field and the ones selected by 908 namespaceSelector. null or empty namespaces list 909 and null namespaceSelector means "this pod's namespace". 910 items: 911 type: string 912 type: array 913 topologyKey: 914 description: This pod should be co-located (affinity) 915 or not co-located (anti-affinity) with the pods 916 matching the labelSelector in the specified namespaces, 917 where co-located is defined as running on a node 918 whose value of the label with key topologyKey 919 matches that of any node on which any of the selected 920 pods is running. Empty topologyKey is not allowed. 921 type: string 922 required: 923 - topologyKey 924 type: object 925 type: array 926 type: object 927 type: object 928 jvm: 929 type: string 930 nodeSelector: 931 additionalProperties: 932 type: string 933 type: object 934 resources: 935 description: ResourceRequirements describes the compute resource 936 requirements. 937 properties: 938 claims: 939 description: "Claims lists the names of resources, defined 940 in spec.resourceClaims, that are used by this container. 941 \n This is an alpha field and requires enabling the DynamicResourceAllocation 942 feature gate. \n This field is immutable. It can only be 943 set for containers." 944 items: 945 description: ResourceClaim references one entry in PodSpec.ResourceClaims. 946 properties: 947 name: 948 description: Name must match the name of one entry in 949 pod.spec.resourceClaims of the Pod where this field 950 is used. It makes that resource available inside a 951 container. 952 type: string 953 required: 954 - name 955 type: object 956 type: array 957 x-kubernetes-list-map-keys: 958 - name 959 x-kubernetes-list-type: map 960 limits: 961 additionalProperties: 962 anyOf: 963 - type: integer 964 - type: string 965 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 966 x-kubernetes-int-or-string: true 967 description: 'Limits describes the maximum amount of compute 968 resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 969 type: object 970 requests: 971 additionalProperties: 972 anyOf: 973 - type: integer 974 - type: string 975 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 976 x-kubernetes-int-or-string: true 977 description: 'Requests describes the minimum amount of compute 978 resources required. If Requests is omitted for a container, 979 it defaults to Limits if that is explicitly specified, otherwise 980 to an implementation-defined value. Requests cannot exceed 981 Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 982 type: object 983 type: object 984 tolerations: 985 items: 986 description: The pod this Toleration is attached to tolerates 987 any taint that matches the triple <key,value,effect> using 988 the matching operator <operator>. 989 properties: 990 effect: 991 description: Effect indicates the taint effect to match. 992 Empty means match all taint effects. When specified, allowed 993 values are NoSchedule, PreferNoSchedule and NoExecute. 994 type: string 995 key: 996 description: Key is the taint key that the toleration applies 997 to. Empty means match all taint keys. If the key is empty, 998 operator must be Exists; this combination means to match 999 all values and all keys. 1000 type: string 1001 operator: 1002 description: Operator represents a key's relationship to 1003 the value. Valid operators are Exists and Equal. Defaults 1004 to Equal. Exists is equivalent to wildcard for value, 1005 so that a pod can tolerate all taints of a particular 1006 category. 1007 type: string 1008 tolerationSeconds: 1009 description: TolerationSeconds represents the period of 1010 time the toleration (which must be of effect NoExecute, 1011 otherwise this field is ignored) tolerates the taint. 1012 By default, it is not set, which means tolerate the taint 1013 forever (do not evict). Zero and negative values will 1014 be treated as 0 (evict immediately) by the system. 1015 format: int64 1016 type: integer 1017 value: 1018 description: Value is the taint value the toleration matches 1019 to. If the operator is Exists, the value should be empty, 1020 otherwise just a regular string. 1021 type: string 1022 type: object 1023 type: array 1024 type: object 1025 confMgmt: 1026 description: ConfMgmt defines which additional services will be deployed 1027 properties: 1028 VerUpdate: 1029 type: boolean 1030 autoScaler: 1031 type: boolean 1032 smartScaler: 1033 type: boolean 1034 type: object 1035 dashboards: 1036 properties: 1037 additionalConfig: 1038 additionalProperties: 1039 type: string 1040 description: Additional properties for opensearch_dashboards.yaml 1041 type: object 1042 additionalVolumes: 1043 items: 1044 properties: 1045 configMap: 1046 description: ConfigMap to use to populate the volume 1047 properties: 1048 defaultMode: 1049 description: 'defaultMode is optional: mode bits used 1050 to set permissions on created files by default. Must 1051 be an octal value between 0000 and 0777 or a decimal 1052 value between 0 and 511. YAML accepts both octal and 1053 decimal values, JSON requires decimal values for mode 1054 bits. Defaults to 0644. Directories within the path 1055 are not affected by this setting. This might be in 1056 conflict with other options that affect the file mode, 1057 like fsGroup, and the result can be other mode bits 1058 set.' 1059 format: int32 1060 type: integer 1061 items: 1062 description: items if unspecified, each key-value pair 1063 in the Data field of the referenced ConfigMap will 1064 be projected into the volume as a file whose name 1065 is the key and content is the value. If specified, 1066 the listed keys will be projected into the specified 1067 paths, and unlisted keys will not be present. If a 1068 key is specified which is not present in the ConfigMap, 1069 the volume setup will error unless it is marked optional. 1070 Paths must be relative and may not contain the '..' 1071 path or start with '..'. 1072 items: 1073 description: Maps a string key to a path within a 1074 volume. 1075 properties: 1076 key: 1077 description: key is the key to project. 1078 type: string 1079 mode: 1080 description: 'mode is Optional: mode bits used 1081 to set permissions on this file. Must be an 1082 octal value between 0000 and 0777 or a decimal 1083 value between 0 and 511. YAML accepts both octal 1084 and decimal values, JSON requires decimal values 1085 for mode bits. If not specified, the volume 1086 defaultMode will be used. This might be in conflict 1087 with other options that affect the file mode, 1088 like fsGroup, and the result can be other mode 1089 bits set.' 1090 format: int32 1091 type: integer 1092 path: 1093 description: path is the relative path of the 1094 file to map the key to. May not be an absolute 1095 path. May not contain the path element '..'. 1096 May not start with the string '..'. 1097 type: string 1098 required: 1099 - key 1100 - path 1101 type: object 1102 type: array 1103 name: 1104 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1105 TODO: Add other useful fields. apiVersion, kind, uid?' 1106 type: string 1107 optional: 1108 description: optional specify whether the ConfigMap 1109 or its keys must be defined 1110 type: boolean 1111 type: object 1112 x-kubernetes-map-type: atomic 1113 emptyDir: 1114 description: EmptyDir to use to populate the volume 1115 properties: 1116 medium: 1117 description: 'medium represents what type of storage 1118 medium should back this directory. The default is 1119 "" which means to use the node''s default medium. 1120 Must be an empty string (default) or Memory. More 1121 info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 1122 type: string 1123 sizeLimit: 1124 anyOf: 1125 - type: integer 1126 - type: string 1127 description: 'sizeLimit is the total amount of local 1128 storage required for this EmptyDir volume. The size 1129 limit is also applicable for memory medium. The maximum 1130 usage on memory medium EmptyDir would be the minimum 1131 value between the SizeLimit specified here and the 1132 sum of memory limits of all containers in a pod. The 1133 default is nil which means that the limit is undefined. 1134 More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 1135 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 1136 x-kubernetes-int-or-string: true 1137 type: object 1138 name: 1139 description: Name to use for the volume. Required. 1140 type: string 1141 path: 1142 description: Path in the container to mount the volume at. 1143 Required. 1144 type: string 1145 restartPods: 1146 description: Whether to restart the pods on content change 1147 type: boolean 1148 secret: 1149 description: Secret to use populate the volume 1150 properties: 1151 defaultMode: 1152 description: 'defaultMode is Optional: mode bits used 1153 to set permissions on created files by default. Must 1154 be an octal value between 0000 and 0777 or a decimal 1155 value between 0 and 511. YAML accepts both octal and 1156 decimal values, JSON requires decimal values for mode 1157 bits. Defaults to 0644. Directories within the path 1158 are not affected by this setting. This might be in 1159 conflict with other options that affect the file mode, 1160 like fsGroup, and the result can be other mode bits 1161 set.' 1162 format: int32 1163 type: integer 1164 items: 1165 description: items If unspecified, each key-value pair 1166 in the Data field of the referenced Secret will be 1167 projected into the volume as a file whose name is 1168 the key and content is the value. If specified, the 1169 listed keys will be projected into the specified paths, 1170 and unlisted keys will not be present. If a key is 1171 specified which is not present in the Secret, the 1172 volume setup will error unless it is marked optional. 1173 Paths must be relative and may not contain the '..' 1174 path or start with '..'. 1175 items: 1176 description: Maps a string key to a path within a 1177 volume. 1178 properties: 1179 key: 1180 description: key is the key to project. 1181 type: string 1182 mode: 1183 description: 'mode is Optional: mode bits used 1184 to set permissions on this file. Must be an 1185 octal value between 0000 and 0777 or a decimal 1186 value between 0 and 511. YAML accepts both octal 1187 and decimal values, JSON requires decimal values 1188 for mode bits. If not specified, the volume 1189 defaultMode will be used. This might be in conflict 1190 with other options that affect the file mode, 1191 like fsGroup, and the result can be other mode 1192 bits set.' 1193 format: int32 1194 type: integer 1195 path: 1196 description: path is the relative path of the 1197 file to map the key to. May not be an absolute 1198 path. May not contain the path element '..'. 1199 May not start with the string '..'. 1200 type: string 1201 required: 1202 - key 1203 - path 1204 type: object 1205 type: array 1206 optional: 1207 description: optional field specify whether the Secret 1208 or its keys must be defined 1209 type: boolean 1210 secretName: 1211 description: 'secretName is the name of the secret in 1212 the pod''s namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' 1213 type: string 1214 type: object 1215 required: 1216 - name 1217 - path 1218 type: object 1219 type: array 1220 affinity: 1221 description: Affinity is a group of affinity scheduling rules. 1222 properties: 1223 nodeAffinity: 1224 description: Describes node affinity scheduling rules for 1225 the pod. 1226 properties: 1227 preferredDuringSchedulingIgnoredDuringExecution: 1228 description: The scheduler will prefer to schedule pods 1229 to nodes that satisfy the affinity expressions specified 1230 by this field, but it may choose a node that violates 1231 one or more of the expressions. The node that is most 1232 preferred is the one with the greatest sum of weights, 1233 i.e. for each node that meets all of the scheduling 1234 requirements (resource request, requiredDuringScheduling 1235 affinity expressions, etc.), compute a sum by iterating 1236 through the elements of this field and adding "weight" 1237 to the sum if the node matches the corresponding matchExpressions; 1238 the node(s) with the highest sum are the most preferred. 1239 items: 1240 description: An empty preferred scheduling term matches 1241 all objects with implicit weight 0 (i.e. it's a no-op). 1242 A null preferred scheduling term matches no objects 1243 (i.e. is also a no-op). 1244 properties: 1245 preference: 1246 description: A node selector term, associated with 1247 the corresponding weight. 1248 properties: 1249 matchExpressions: 1250 description: A list of node selector requirements 1251 by node's labels. 1252 items: 1253 description: A node selector requirement is 1254 a selector that contains values, a key, 1255 and an operator that relates the key and 1256 values. 1257 properties: 1258 key: 1259 description: The label key that the selector 1260 applies to. 1261 type: string 1262 operator: 1263 description: Represents a key's relationship 1264 to a set of values. Valid operators 1265 are In, NotIn, Exists, DoesNotExist. 1266 Gt, and Lt. 1267 type: string 1268 values: 1269 description: An array of string values. 1270 If the operator is In or NotIn, the 1271 values array must be non-empty. If the 1272 operator is Exists or DoesNotExist, 1273 the values array must be empty. If the 1274 operator is Gt or Lt, the values array 1275 must have a single element, which will 1276 be interpreted as an integer. This array 1277 is replaced during a strategic merge 1278 patch. 1279 items: 1280 type: string 1281 type: array 1282 required: 1283 - key 1284 - operator 1285 type: object 1286 type: array 1287 matchFields: 1288 description: A list of node selector requirements 1289 by node's fields. 1290 items: 1291 description: A node selector requirement is 1292 a selector that contains values, a key, 1293 and an operator that relates the key and 1294 values. 1295 properties: 1296 key: 1297 description: The label key that the selector 1298 applies to. 1299 type: string 1300 operator: 1301 description: Represents a key's relationship 1302 to a set of values. Valid operators 1303 are In, NotIn, Exists, DoesNotExist. 1304 Gt, and Lt. 1305 type: string 1306 values: 1307 description: An array of string values. 1308 If the operator is In or NotIn, the 1309 values array must be non-empty. If the 1310 operator is Exists or DoesNotExist, 1311 the values array must be empty. If the 1312 operator is Gt or Lt, the values array 1313 must have a single element, which will 1314 be interpreted as an integer. This array 1315 is replaced during a strategic merge 1316 patch. 1317 items: 1318 type: string 1319 type: array 1320 required: 1321 - key 1322 - operator 1323 type: object 1324 type: array 1325 type: object 1326 x-kubernetes-map-type: atomic 1327 weight: 1328 description: Weight associated with matching the 1329 corresponding nodeSelectorTerm, in the range 1-100. 1330 format: int32 1331 type: integer 1332 required: 1333 - preference 1334 - weight 1335 type: object 1336 type: array 1337 requiredDuringSchedulingIgnoredDuringExecution: 1338 description: If the affinity requirements specified by 1339 this field are not met at scheduling time, the pod will 1340 not be scheduled onto the node. If the affinity requirements 1341 specified by this field cease to be met at some point 1342 during pod execution (e.g. due to an update), the system 1343 may or may not try to eventually evict the pod from 1344 its node. 1345 properties: 1346 nodeSelectorTerms: 1347 description: Required. A list of node selector terms. 1348 The terms are ORed. 1349 items: 1350 description: A null or empty node selector term 1351 matches no objects. The requirements of them are 1352 ANDed. The TopologySelectorTerm type implements 1353 a subset of the NodeSelectorTerm. 1354 properties: 1355 matchExpressions: 1356 description: A list of node selector requirements 1357 by node's labels. 1358 items: 1359 description: A node selector requirement is 1360 a selector that contains values, a key, 1361 and an operator that relates the key and 1362 values. 1363 properties: 1364 key: 1365 description: The label key that the selector 1366 applies to. 1367 type: string 1368 operator: 1369 description: Represents a key's relationship 1370 to a set of values. Valid operators 1371 are In, NotIn, Exists, DoesNotExist. 1372 Gt, and Lt. 1373 type: string 1374 values: 1375 description: An array of string values. 1376 If the operator is In or NotIn, the 1377 values array must be non-empty. If the 1378 operator is Exists or DoesNotExist, 1379 the values array must be empty. If the 1380 operator is Gt or Lt, the values array 1381 must have a single element, which will 1382 be interpreted as an integer. This array 1383 is replaced during a strategic merge 1384 patch. 1385 items: 1386 type: string 1387 type: array 1388 required: 1389 - key 1390 - operator 1391 type: object 1392 type: array 1393 matchFields: 1394 description: A list of node selector requirements 1395 by node's fields. 1396 items: 1397 description: A node selector requirement is 1398 a selector that contains values, a key, 1399 and an operator that relates the key and 1400 values. 1401 properties: 1402 key: 1403 description: The label key that the selector 1404 applies to. 1405 type: string 1406 operator: 1407 description: Represents a key's relationship 1408 to a set of values. Valid operators 1409 are In, NotIn, Exists, DoesNotExist. 1410 Gt, and Lt. 1411 type: string 1412 values: 1413 description: An array of string values. 1414 If the operator is In or NotIn, the 1415 values array must be non-empty. If the 1416 operator is Exists or DoesNotExist, 1417 the values array must be empty. If the 1418 operator is Gt or Lt, the values array 1419 must have a single element, which will 1420 be interpreted as an integer. This array 1421 is replaced during a strategic merge 1422 patch. 1423 items: 1424 type: string 1425 type: array 1426 required: 1427 - key 1428 - operator 1429 type: object 1430 type: array 1431 type: object 1432 x-kubernetes-map-type: atomic 1433 type: array 1434 required: 1435 - nodeSelectorTerms 1436 type: object 1437 x-kubernetes-map-type: atomic 1438 type: object 1439 podAffinity: 1440 description: Describes pod affinity scheduling rules (e.g. 1441 co-locate this pod in the same node, zone, etc. as some 1442 other pod(s)). 1443 properties: 1444 preferredDuringSchedulingIgnoredDuringExecution: 1445 description: The scheduler will prefer to schedule pods 1446 to nodes that satisfy the affinity expressions specified 1447 by this field, but it may choose a node that violates 1448 one or more of the expressions. The node that is most 1449 preferred is the one with the greatest sum of weights, 1450 i.e. for each node that meets all of the scheduling 1451 requirements (resource request, requiredDuringScheduling 1452 affinity expressions, etc.), compute a sum by iterating 1453 through the elements of this field and adding "weight" 1454 to the sum if the node has pods which matches the corresponding 1455 podAffinityTerm; the node(s) with the highest sum are 1456 the most preferred. 1457 items: 1458 description: The weights of all of the matched WeightedPodAffinityTerm 1459 fields are added per-node to find the most preferred 1460 node(s) 1461 properties: 1462 podAffinityTerm: 1463 description: Required. A pod affinity term, associated 1464 with the corresponding weight. 1465 properties: 1466 labelSelector: 1467 description: A label query over a set of resources, 1468 in this case pods. 1469 properties: 1470 matchExpressions: 1471 description: matchExpressions is a list 1472 of label selector requirements. The requirements 1473 are ANDed. 1474 items: 1475 description: A label selector requirement 1476 is a selector that contains values, 1477 a key, and an operator that relates 1478 the key and values. 1479 properties: 1480 key: 1481 description: key is the label key 1482 that the selector applies to. 1483 type: string 1484 operator: 1485 description: operator represents a 1486 key's relationship to a set of values. 1487 Valid operators are In, NotIn, Exists 1488 and DoesNotExist. 1489 type: string 1490 values: 1491 description: values is an array of 1492 string values. If the operator is 1493 In or NotIn, the values array must 1494 be non-empty. If the operator is 1495 Exists or DoesNotExist, the values 1496 array must be empty. This array 1497 is replaced during a strategic merge 1498 patch. 1499 items: 1500 type: string 1501 type: array 1502 required: 1503 - key 1504 - operator 1505 type: object 1506 type: array 1507 matchLabels: 1508 additionalProperties: 1509 type: string 1510 description: matchLabels is a map of {key,value} 1511 pairs. A single {key,value} in the matchLabels 1512 map is equivalent to an element of matchExpressions, 1513 whose key field is "key", the operator 1514 is "In", and the values array contains 1515 only "value". The requirements are ANDed. 1516 type: object 1517 type: object 1518 x-kubernetes-map-type: atomic 1519 namespaceSelector: 1520 description: A label query over the set of namespaces 1521 that the term applies to. The term is applied 1522 to the union of the namespaces selected by 1523 this field and the ones listed in the namespaces 1524 field. null selector and null or empty namespaces 1525 list means "this pod's namespace". An empty 1526 selector ({}) matches all namespaces. 1527 properties: 1528 matchExpressions: 1529 description: matchExpressions is a list 1530 of label selector requirements. The requirements 1531 are ANDed. 1532 items: 1533 description: A label selector requirement 1534 is a selector that contains values, 1535 a key, and an operator that relates 1536 the key and values. 1537 properties: 1538 key: 1539 description: key is the label key 1540 that the selector applies to. 1541 type: string 1542 operator: 1543 description: operator represents a 1544 key's relationship to a set of values. 1545 Valid operators are In, NotIn, Exists 1546 and DoesNotExist. 1547 type: string 1548 values: 1549 description: values is an array of 1550 string values. If the operator is 1551 In or NotIn, the values array must 1552 be non-empty. If the operator is 1553 Exists or DoesNotExist, the values 1554 array must be empty. This array 1555 is replaced during a strategic merge 1556 patch. 1557 items: 1558 type: string 1559 type: array 1560 required: 1561 - key 1562 - operator 1563 type: object 1564 type: array 1565 matchLabels: 1566 additionalProperties: 1567 type: string 1568 description: matchLabels is a map of {key,value} 1569 pairs. A single {key,value} in the matchLabels 1570 map is equivalent to an element of matchExpressions, 1571 whose key field is "key", the operator 1572 is "In", and the values array contains 1573 only "value". The requirements are ANDed. 1574 type: object 1575 type: object 1576 x-kubernetes-map-type: atomic 1577 namespaces: 1578 description: namespaces specifies a static list 1579 of namespace names that the term applies to. 1580 The term is applied to the union of the namespaces 1581 listed in this field and the ones selected 1582 by namespaceSelector. null or empty namespaces 1583 list and null namespaceSelector means "this 1584 pod's namespace". 1585 items: 1586 type: string 1587 type: array 1588 topologyKey: 1589 description: This pod should be co-located (affinity) 1590 or not co-located (anti-affinity) with the 1591 pods matching the labelSelector in the specified 1592 namespaces, where co-located is defined as 1593 running on a node whose value of the label 1594 with key topologyKey matches that of any node 1595 on which any of the selected pods is running. 1596 Empty topologyKey is not allowed. 1597 type: string 1598 required: 1599 - topologyKey 1600 type: object 1601 weight: 1602 description: weight associated with matching the 1603 corresponding podAffinityTerm, in the range 1-100. 1604 format: int32 1605 type: integer 1606 required: 1607 - podAffinityTerm 1608 - weight 1609 type: object 1610 type: array 1611 requiredDuringSchedulingIgnoredDuringExecution: 1612 description: If the affinity requirements specified by 1613 this field are not met at scheduling time, the pod will 1614 not be scheduled onto the node. If the affinity requirements 1615 specified by this field cease to be met at some point 1616 during pod execution (e.g. due to a pod label update), 1617 the system may or may not try to eventually evict the 1618 pod from its node. When there are multiple elements, 1619 the lists of nodes corresponding to each podAffinityTerm 1620 are intersected, i.e. all terms must be satisfied. 1621 items: 1622 description: Defines a set of pods (namely those matching 1623 the labelSelector relative to the given namespace(s)) 1624 that this pod should be co-located (affinity) or not 1625 co-located (anti-affinity) with, where co-located 1626 is defined as running on a node whose value of the 1627 label with key <topologyKey> matches that of any node 1628 on which a pod of the set of pods is running 1629 properties: 1630 labelSelector: 1631 description: A label query over a set of resources, 1632 in this case pods. 1633 properties: 1634 matchExpressions: 1635 description: matchExpressions is a list of label 1636 selector requirements. The requirements are 1637 ANDed. 1638 items: 1639 description: A label selector requirement 1640 is a selector that contains values, a key, 1641 and an operator that relates the key and 1642 values. 1643 properties: 1644 key: 1645 description: key is the label key that 1646 the selector applies to. 1647 type: string 1648 operator: 1649 description: operator represents a key's 1650 relationship to a set of values. Valid 1651 operators are In, NotIn, Exists and 1652 DoesNotExist. 1653 type: string 1654 values: 1655 description: values is an array of string 1656 values. If the operator is In or NotIn, 1657 the values array must be non-empty. 1658 If the operator is Exists or DoesNotExist, 1659 the values array must be empty. This 1660 array is replaced during a strategic 1661 merge patch. 1662 items: 1663 type: string 1664 type: array 1665 required: 1666 - key 1667 - operator 1668 type: object 1669 type: array 1670 matchLabels: 1671 additionalProperties: 1672 type: string 1673 description: matchLabels is a map of {key,value} 1674 pairs. A single {key,value} in the matchLabels 1675 map is equivalent to an element of matchExpressions, 1676 whose key field is "key", the operator is 1677 "In", and the values array contains only "value". 1678 The requirements are ANDed. 1679 type: object 1680 type: object 1681 x-kubernetes-map-type: atomic 1682 namespaceSelector: 1683 description: A label query over the set of namespaces 1684 that the term applies to. The term is applied 1685 to the union of the namespaces selected by this 1686 field and the ones listed in the namespaces field. 1687 null selector and null or empty namespaces list 1688 means "this pod's namespace". An empty selector 1689 ({}) matches all namespaces. 1690 properties: 1691 matchExpressions: 1692 description: matchExpressions is a list of label 1693 selector requirements. The requirements are 1694 ANDed. 1695 items: 1696 description: A label selector requirement 1697 is a selector that contains values, a key, 1698 and an operator that relates the key and 1699 values. 1700 properties: 1701 key: 1702 description: key is the label key that 1703 the selector applies to. 1704 type: string 1705 operator: 1706 description: operator represents a key's 1707 relationship to a set of values. Valid 1708 operators are In, NotIn, Exists and 1709 DoesNotExist. 1710 type: string 1711 values: 1712 description: values is an array of string 1713 values. If the operator is In or NotIn, 1714 the values array must be non-empty. 1715 If the operator is Exists or DoesNotExist, 1716 the values array must be empty. This 1717 array is replaced during a strategic 1718 merge patch. 1719 items: 1720 type: string 1721 type: array 1722 required: 1723 - key 1724 - operator 1725 type: object 1726 type: array 1727 matchLabels: 1728 additionalProperties: 1729 type: string 1730 description: matchLabels is a map of {key,value} 1731 pairs. A single {key,value} in the matchLabels 1732 map is equivalent to an element of matchExpressions, 1733 whose key field is "key", the operator is 1734 "In", and the values array contains only "value". 1735 The requirements are ANDed. 1736 type: object 1737 type: object 1738 x-kubernetes-map-type: atomic 1739 namespaces: 1740 description: namespaces specifies a static list 1741 of namespace names that the term applies to. The 1742 term is applied to the union of the namespaces 1743 listed in this field and the ones selected by 1744 namespaceSelector. null or empty namespaces list 1745 and null namespaceSelector means "this pod's namespace". 1746 items: 1747 type: string 1748 type: array 1749 topologyKey: 1750 description: This pod should be co-located (affinity) 1751 or not co-located (anti-affinity) with the pods 1752 matching the labelSelector in the specified namespaces, 1753 where co-located is defined as running on a node 1754 whose value of the label with key topologyKey 1755 matches that of any node on which any of the selected 1756 pods is running. Empty topologyKey is not allowed. 1757 type: string 1758 required: 1759 - topologyKey 1760 type: object 1761 type: array 1762 type: object 1763 podAntiAffinity: 1764 description: Describes pod anti-affinity scheduling rules 1765 (e.g. avoid putting this pod in the same node, zone, etc. 1766 as some other pod(s)). 1767 properties: 1768 preferredDuringSchedulingIgnoredDuringExecution: 1769 description: The scheduler will prefer to schedule pods 1770 to nodes that satisfy the anti-affinity expressions 1771 specified by this field, but it may choose a node that 1772 violates one or more of the expressions. The node that 1773 is most preferred is the one with the greatest sum of 1774 weights, i.e. for each node that meets all of the scheduling 1775 requirements (resource request, requiredDuringScheduling 1776 anti-affinity expressions, etc.), compute a sum by iterating 1777 through the elements of this field and adding "weight" 1778 to the sum if the node has pods which matches the corresponding 1779 podAffinityTerm; the node(s) with the highest sum are 1780 the most preferred. 1781 items: 1782 description: The weights of all of the matched WeightedPodAffinityTerm 1783 fields are added per-node to find the most preferred 1784 node(s) 1785 properties: 1786 podAffinityTerm: 1787 description: Required. A pod affinity term, associated 1788 with the corresponding weight. 1789 properties: 1790 labelSelector: 1791 description: A label query over a set of resources, 1792 in this case pods. 1793 properties: 1794 matchExpressions: 1795 description: matchExpressions is a list 1796 of label selector requirements. The requirements 1797 are ANDed. 1798 items: 1799 description: A label selector requirement 1800 is a selector that contains values, 1801 a key, and an operator that relates 1802 the key and values. 1803 properties: 1804 key: 1805 description: key is the label key 1806 that the selector applies to. 1807 type: string 1808 operator: 1809 description: operator represents a 1810 key's relationship to a set of values. 1811 Valid operators are In, NotIn, Exists 1812 and DoesNotExist. 1813 type: string 1814 values: 1815 description: values is an array of 1816 string values. If the operator is 1817 In or NotIn, the values array must 1818 be non-empty. If the operator is 1819 Exists or DoesNotExist, the values 1820 array must be empty. This array 1821 is replaced during a strategic merge 1822 patch. 1823 items: 1824 type: string 1825 type: array 1826 required: 1827 - key 1828 - operator 1829 type: object 1830 type: array 1831 matchLabels: 1832 additionalProperties: 1833 type: string 1834 description: matchLabels is a map of {key,value} 1835 pairs. A single {key,value} in the matchLabels 1836 map is equivalent to an element of matchExpressions, 1837 whose key field is "key", the operator 1838 is "In", and the values array contains 1839 only "value". The requirements are ANDed. 1840 type: object 1841 type: object 1842 x-kubernetes-map-type: atomic 1843 namespaceSelector: 1844 description: A label query over the set of namespaces 1845 that the term applies to. The term is applied 1846 to the union of the namespaces selected by 1847 this field and the ones listed in the namespaces 1848 field. null selector and null or empty namespaces 1849 list means "this pod's namespace". An empty 1850 selector ({}) matches all namespaces. 1851 properties: 1852 matchExpressions: 1853 description: matchExpressions is a list 1854 of label selector requirements. The requirements 1855 are ANDed. 1856 items: 1857 description: A label selector requirement 1858 is a selector that contains values, 1859 a key, and an operator that relates 1860 the key and values. 1861 properties: 1862 key: 1863 description: key is the label key 1864 that the selector applies to. 1865 type: string 1866 operator: 1867 description: operator represents a 1868 key's relationship to a set of values. 1869 Valid operators are In, NotIn, Exists 1870 and DoesNotExist. 1871 type: string 1872 values: 1873 description: values is an array of 1874 string values. If the operator is 1875 In or NotIn, the values array must 1876 be non-empty. If the operator is 1877 Exists or DoesNotExist, the values 1878 array must be empty. This array 1879 is replaced during a strategic merge 1880 patch. 1881 items: 1882 type: string 1883 type: array 1884 required: 1885 - key 1886 - operator 1887 type: object 1888 type: array 1889 matchLabels: 1890 additionalProperties: 1891 type: string 1892 description: matchLabels is a map of {key,value} 1893 pairs. A single {key,value} in the matchLabels 1894 map is equivalent to an element of matchExpressions, 1895 whose key field is "key", the operator 1896 is "In", and the values array contains 1897 only "value". The requirements are ANDed. 1898 type: object 1899 type: object 1900 x-kubernetes-map-type: atomic 1901 namespaces: 1902 description: namespaces specifies a static list 1903 of namespace names that the term applies to. 1904 The term is applied to the union of the namespaces 1905 listed in this field and the ones selected 1906 by namespaceSelector. null or empty namespaces 1907 list and null namespaceSelector means "this 1908 pod's namespace". 1909 items: 1910 type: string 1911 type: array 1912 topologyKey: 1913 description: This pod should be co-located (affinity) 1914 or not co-located (anti-affinity) with the 1915 pods matching the labelSelector in the specified 1916 namespaces, where co-located is defined as 1917 running on a node whose value of the label 1918 with key topologyKey matches that of any node 1919 on which any of the selected pods is running. 1920 Empty topologyKey is not allowed. 1921 type: string 1922 required: 1923 - topologyKey 1924 type: object 1925 weight: 1926 description: weight associated with matching the 1927 corresponding podAffinityTerm, in the range 1-100. 1928 format: int32 1929 type: integer 1930 required: 1931 - podAffinityTerm 1932 - weight 1933 type: object 1934 type: array 1935 requiredDuringSchedulingIgnoredDuringExecution: 1936 description: If the anti-affinity requirements specified 1937 by this field are not met at scheduling time, the pod 1938 will not be scheduled onto the node. If the anti-affinity 1939 requirements specified by this field cease to be met 1940 at some point during pod execution (e.g. due to a pod 1941 label update), the system may or may not try to eventually 1942 evict the pod from its node. When there are multiple 1943 elements, the lists of nodes corresponding to each podAffinityTerm 1944 are intersected, i.e. all terms must be satisfied. 1945 items: 1946 description: Defines a set of pods (namely those matching 1947 the labelSelector relative to the given namespace(s)) 1948 that this pod should be co-located (affinity) or not 1949 co-located (anti-affinity) with, where co-located 1950 is defined as running on a node whose value of the 1951 label with key <topologyKey> matches that of any node 1952 on which a pod of the set of pods is running 1953 properties: 1954 labelSelector: 1955 description: A label query over a set of resources, 1956 in this case pods. 1957 properties: 1958 matchExpressions: 1959 description: matchExpressions is a list of label 1960 selector requirements. The requirements are 1961 ANDed. 1962 items: 1963 description: A label selector requirement 1964 is a selector that contains values, a key, 1965 and an operator that relates the key and 1966 values. 1967 properties: 1968 key: 1969 description: key is the label key that 1970 the selector applies to. 1971 type: string 1972 operator: 1973 description: operator represents a key's 1974 relationship to a set of values. Valid 1975 operators are In, NotIn, Exists and 1976 DoesNotExist. 1977 type: string 1978 values: 1979 description: values is an array of string 1980 values. If the operator is In or NotIn, 1981 the values array must be non-empty. 1982 If the operator is Exists or DoesNotExist, 1983 the values array must be empty. This 1984 array is replaced during a strategic 1985 merge patch. 1986 items: 1987 type: string 1988 type: array 1989 required: 1990 - key 1991 - operator 1992 type: object 1993 type: array 1994 matchLabels: 1995 additionalProperties: 1996 type: string 1997 description: matchLabels is a map of {key,value} 1998 pairs. A single {key,value} in the matchLabels 1999 map is equivalent to an element of matchExpressions, 2000 whose key field is "key", the operator is 2001 "In", and the values array contains only "value". 2002 The requirements are ANDed. 2003 type: object 2004 type: object 2005 x-kubernetes-map-type: atomic 2006 namespaceSelector: 2007 description: A label query over the set of namespaces 2008 that the term applies to. The term is applied 2009 to the union of the namespaces selected by this 2010 field and the ones listed in the namespaces field. 2011 null selector and null or empty namespaces list 2012 means "this pod's namespace". An empty selector 2013 ({}) matches all namespaces. 2014 properties: 2015 matchExpressions: 2016 description: matchExpressions is a list of label 2017 selector requirements. The requirements are 2018 ANDed. 2019 items: 2020 description: A label selector requirement 2021 is a selector that contains values, a key, 2022 and an operator that relates the key and 2023 values. 2024 properties: 2025 key: 2026 description: key is the label key that 2027 the selector applies to. 2028 type: string 2029 operator: 2030 description: operator represents a key's 2031 relationship to a set of values. Valid 2032 operators are In, NotIn, Exists and 2033 DoesNotExist. 2034 type: string 2035 values: 2036 description: values is an array of string 2037 values. If the operator is In or NotIn, 2038 the values array must be non-empty. 2039 If the operator is Exists or DoesNotExist, 2040 the values array must be empty. This 2041 array is replaced during a strategic 2042 merge patch. 2043 items: 2044 type: string 2045 type: array 2046 required: 2047 - key 2048 - operator 2049 type: object 2050 type: array 2051 matchLabels: 2052 additionalProperties: 2053 type: string 2054 description: matchLabels is a map of {key,value} 2055 pairs. A single {key,value} in the matchLabels 2056 map is equivalent to an element of matchExpressions, 2057 whose key field is "key", the operator is 2058 "In", and the values array contains only "value". 2059 The requirements are ANDed. 2060 type: object 2061 type: object 2062 x-kubernetes-map-type: atomic 2063 namespaces: 2064 description: namespaces specifies a static list 2065 of namespace names that the term applies to. The 2066 term is applied to the union of the namespaces 2067 listed in this field and the ones selected by 2068 namespaceSelector. null or empty namespaces list 2069 and null namespaceSelector means "this pod's namespace". 2070 items: 2071 type: string 2072 type: array 2073 topologyKey: 2074 description: This pod should be co-located (affinity) 2075 or not co-located (anti-affinity) with the pods 2076 matching the labelSelector in the specified namespaces, 2077 where co-located is defined as running on a node 2078 whose value of the label with key topologyKey 2079 matches that of any node on which any of the selected 2080 pods is running. Empty topologyKey is not allowed. 2081 type: string 2082 required: 2083 - topologyKey 2084 type: object 2085 type: array 2086 type: object 2087 type: object 2088 annotations: 2089 additionalProperties: 2090 type: string 2091 type: object 2092 basePath: 2093 description: Base Path for Opensearch Clusters running behind 2094 a reverse proxy 2095 type: string 2096 enable: 2097 type: boolean 2098 env: 2099 items: 2100 description: EnvVar represents an environment variable present 2101 in a Container. 2102 properties: 2103 name: 2104 description: Name of the environment variable. Must be a 2105 C_IDENTIFIER. 2106 type: string 2107 value: 2108 description: 'Variable references $(VAR_NAME) are expanded 2109 using the previously defined environment variables in 2110 the container and any service environment variables. If 2111 a variable cannot be resolved, the reference in the input 2112 string will be unchanged. Double $$ are reduced to a single 2113 $, which allows for escaping the $(VAR_NAME) syntax: i.e. 2114 "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". 2115 Escaped references will never be expanded, regardless 2116 of whether the variable exists or not. Defaults to "".' 2117 type: string 2118 valueFrom: 2119 description: Source for the environment variable's value. 2120 Cannot be used if value is not empty. 2121 properties: 2122 configMapKeyRef: 2123 description: Selects a key of a ConfigMap. 2124 properties: 2125 key: 2126 description: The key to select. 2127 type: string 2128 name: 2129 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 2130 TODO: Add other useful fields. apiVersion, kind, 2131 uid?' 2132 type: string 2133 optional: 2134 description: Specify whether the ConfigMap or its 2135 key must be defined 2136 type: boolean 2137 required: 2138 - key 2139 type: object 2140 x-kubernetes-map-type: atomic 2141 fieldRef: 2142 description: 'Selects a field of the pod: supports metadata.name, 2143 metadata.namespace, `metadata.labels[''<KEY>'']`, 2144 `metadata.annotations[''<KEY>'']`, spec.nodeName, 2145 spec.serviceAccountName, status.hostIP, status.podIP, 2146 status.podIPs.' 2147 properties: 2148 apiVersion: 2149 description: Version of the schema the FieldPath 2150 is written in terms of, defaults to "v1". 2151 type: string 2152 fieldPath: 2153 description: Path of the field to select in the 2154 specified API version. 2155 type: string 2156 required: 2157 - fieldPath 2158 type: object 2159 x-kubernetes-map-type: atomic 2160 resourceFieldRef: 2161 description: 'Selects a resource of the container: only 2162 resources limits and requests (limits.cpu, limits.memory, 2163 limits.ephemeral-storage, requests.cpu, requests.memory 2164 and requests.ephemeral-storage) are currently supported.' 2165 properties: 2166 containerName: 2167 description: 'Container name: required for volumes, 2168 optional for env vars' 2169 type: string 2170 divisor: 2171 anyOf: 2172 - type: integer 2173 - type: string 2174 description: Specifies the output format of the 2175 exposed resources, defaults to "1" 2176 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 2177 x-kubernetes-int-or-string: true 2178 resource: 2179 description: 'Required: resource to select' 2180 type: string 2181 required: 2182 - resource 2183 type: object 2184 x-kubernetes-map-type: atomic 2185 secretKeyRef: 2186 description: Selects a key of a secret in the pod's 2187 namespace 2188 properties: 2189 key: 2190 description: The key of the secret to select from. Must 2191 be a valid secret key. 2192 type: string 2193 name: 2194 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 2195 TODO: Add other useful fields. apiVersion, kind, 2196 uid?' 2197 type: string 2198 optional: 2199 description: Specify whether the Secret or its key 2200 must be defined 2201 type: boolean 2202 required: 2203 - key 2204 type: object 2205 x-kubernetes-map-type: atomic 2206 type: object 2207 required: 2208 - name 2209 type: object 2210 type: array 2211 image: 2212 type: string 2213 imagePullPolicy: 2214 description: PullPolicy describes a policy for if/when to pull 2215 a container image 2216 type: string 2217 imagePullSecrets: 2218 items: 2219 description: LocalObjectReference contains enough information 2220 to let you locate the referenced object inside the same namespace. 2221 properties: 2222 name: 2223 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 2224 TODO: Add other useful fields. apiVersion, kind, uid?' 2225 type: string 2226 type: object 2227 x-kubernetes-map-type: atomic 2228 type: array 2229 labels: 2230 additionalProperties: 2231 type: string 2232 type: object 2233 nodeSelector: 2234 additionalProperties: 2235 type: string 2236 type: object 2237 opensearchCredentialsSecret: 2238 description: Secret that contains fields username and password 2239 for dashboards to use to login to opensearch, must only be supplied 2240 if a custom securityconfig is provided 2241 properties: 2242 name: 2243 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 2244 TODO: Add other useful fields. apiVersion, kind, uid?' 2245 type: string 2246 type: object 2247 x-kubernetes-map-type: atomic 2248 pluginsList: 2249 items: 2250 type: string 2251 type: array 2252 podSecurityContext: 2253 description: Set security context for the dashboards pods 2254 properties: 2255 fsGroup: 2256 description: "A special supplemental group that applies to 2257 all containers in a pod. Some volume types allow the Kubelet 2258 to change the ownership of that volume to be owned by the 2259 pod: \n 1. The owning GID will be the FSGroup 2. The setgid 2260 bit is set (new files created in the volume will be owned 2261 by FSGroup) 3. The permission bits are OR'd with rw-rw---- 2262 \n If unset, the Kubelet will not modify the ownership and 2263 permissions of any volume. Note that this field cannot be 2264 set when spec.os.name is windows." 2265 format: int64 2266 type: integer 2267 fsGroupChangePolicy: 2268 description: 'fsGroupChangePolicy defines behavior of changing 2269 ownership and permission of the volume before being exposed 2270 inside Pod. This field will only apply to volume types which 2271 support fsGroup based ownership(and permissions). It will 2272 have no effect on ephemeral volume types such as: secret, 2273 configmaps and emptydir. Valid values are "OnRootMismatch" 2274 and "Always". If not specified, "Always" is used. Note that 2275 this field cannot be set when spec.os.name is windows.' 2276 type: string 2277 runAsGroup: 2278 description: The GID to run the entrypoint of the container 2279 process. Uses runtime default if unset. May also be set 2280 in SecurityContext. If set in both SecurityContext and 2281 PodSecurityContext, the value specified in SecurityContext 2282 takes precedence for that container. Note that this field 2283 cannot be set when spec.os.name is windows. 2284 format: int64 2285 type: integer 2286 runAsNonRoot: 2287 description: Indicates that the container must run as a non-root 2288 user. If true, the Kubelet will validate the image at runtime 2289 to ensure that it does not run as UID 0 (root) and fail 2290 to start the container if it does. If unset or false, no 2291 such validation will be performed. May also be set in SecurityContext. If 2292 set in both SecurityContext and PodSecurityContext, the 2293 value specified in SecurityContext takes precedence. 2294 type: boolean 2295 runAsUser: 2296 description: The UID to run the entrypoint of the container 2297 process. Defaults to user specified in image metadata if 2298 unspecified. May also be set in SecurityContext. If set 2299 in both SecurityContext and PodSecurityContext, the value 2300 specified in SecurityContext takes precedence for that container. 2301 Note that this field cannot be set when spec.os.name is 2302 windows. 2303 format: int64 2304 type: integer 2305 seLinuxOptions: 2306 description: The SELinux context to be applied to all containers. 2307 If unspecified, the container runtime will allocate a random 2308 SELinux context for each container. May also be set in 2309 SecurityContext. If set in both SecurityContext and PodSecurityContext, 2310 the value specified in SecurityContext takes precedence 2311 for that container. Note that this field cannot be set when 2312 spec.os.name is windows. 2313 properties: 2314 level: 2315 description: Level is SELinux level label that applies 2316 to the container. 2317 type: string 2318 role: 2319 description: Role is a SELinux role label that applies 2320 to the container. 2321 type: string 2322 type: 2323 description: Type is a SELinux type label that applies 2324 to the container. 2325 type: string 2326 user: 2327 description: User is a SELinux user label that applies 2328 to the container. 2329 type: string 2330 type: object 2331 seccompProfile: 2332 description: The seccomp options to use by the containers 2333 in this pod. Note that this field cannot be set when spec.os.name 2334 is windows. 2335 properties: 2336 localhostProfile: 2337 description: localhostProfile indicates a profile defined 2338 in a file on the node should be used. The profile must 2339 be preconfigured on the node to work. Must be a descending 2340 path, relative to the kubelet's configured seccomp profile 2341 location. Must only be set if type is "Localhost". 2342 type: string 2343 type: 2344 description: "type indicates which kind of seccomp profile 2345 will be applied. Valid options are: \n Localhost - a 2346 profile defined in a file on the node should be used. 2347 RuntimeDefault - the container runtime default profile 2348 should be used. Unconfined - no profile should be applied." 2349 type: string 2350 required: 2351 - type 2352 type: object 2353 supplementalGroups: 2354 description: A list of groups applied to the first process 2355 run in each container, in addition to the container's primary 2356 GID, the fsGroup (if specified), and group memberships defined 2357 in the container image for the uid of the container process. 2358 If unspecified, no additional groups are added to any container. 2359 Note that group memberships defined in the container image 2360 for the uid of the container process are still effective, 2361 even if they are not included in this list. Note that this 2362 field cannot be set when spec.os.name is windows. 2363 items: 2364 format: int64 2365 type: integer 2366 type: array 2367 sysctls: 2368 description: Sysctls hold a list of namespaced sysctls used 2369 for the pod. Pods with unsupported sysctls (by the container 2370 runtime) might fail to launch. Note that this field cannot 2371 be set when spec.os.name is windows. 2372 items: 2373 description: Sysctl defines a kernel parameter to be set 2374 properties: 2375 name: 2376 description: Name of a property to set 2377 type: string 2378 value: 2379 description: Value of a property to set 2380 type: string 2381 required: 2382 - name 2383 - value 2384 type: object 2385 type: array 2386 windowsOptions: 2387 description: The Windows specific settings applied to all 2388 containers. If unspecified, the options within a container's 2389 SecurityContext will be used. If set in both SecurityContext 2390 and PodSecurityContext, the value specified in SecurityContext 2391 takes precedence. Note that this field cannot be set when 2392 spec.os.name is linux. 2393 properties: 2394 gmsaCredentialSpec: 2395 description: GMSACredentialSpec is where the GMSA admission 2396 webhook (https://github.com/kubernetes-sigs/windows-gmsa) 2397 inlines the contents of the GMSA credential spec named 2398 by the GMSACredentialSpecName field. 2399 type: string 2400 gmsaCredentialSpecName: 2401 description: GMSACredentialSpecName is the name of the 2402 GMSA credential spec to use. 2403 type: string 2404 hostProcess: 2405 description: HostProcess determines if a container should 2406 be run as a 'Host Process' container. This field is 2407 alpha-level and will only be honored by components that 2408 enable the WindowsHostProcessContainers feature flag. 2409 Setting this field without the feature flag will result 2410 in errors when validating the Pod. All of a Pod's containers 2411 must have the same effective HostProcess value (it is 2412 not allowed to have a mix of HostProcess containers 2413 and non-HostProcess containers). In addition, if HostProcess 2414 is true then HostNetwork must also be set to true. 2415 type: boolean 2416 runAsUserName: 2417 description: The UserName in Windows to run the entrypoint 2418 of the container process. Defaults to the user specified 2419 in image metadata if unspecified. May also be set in 2420 PodSecurityContext. If set in both SecurityContext and 2421 PodSecurityContext, the value specified in SecurityContext 2422 takes precedence. 2423 type: string 2424 type: object 2425 type: object 2426 replicas: 2427 format: int32 2428 type: integer 2429 resources: 2430 description: ResourceRequirements describes the compute resource 2431 requirements. 2432 properties: 2433 claims: 2434 description: "Claims lists the names of resources, defined 2435 in spec.resourceClaims, that are used by this container. 2436 \n This is an alpha field and requires enabling the DynamicResourceAllocation 2437 feature gate. \n This field is immutable. It can only be 2438 set for containers." 2439 items: 2440 description: ResourceClaim references one entry in PodSpec.ResourceClaims. 2441 properties: 2442 name: 2443 description: Name must match the name of one entry in 2444 pod.spec.resourceClaims of the Pod where this field 2445 is used. It makes that resource available inside a 2446 container. 2447 type: string 2448 required: 2449 - name 2450 type: object 2451 type: array 2452 x-kubernetes-list-map-keys: 2453 - name 2454 x-kubernetes-list-type: map 2455 limits: 2456 additionalProperties: 2457 anyOf: 2458 - type: integer 2459 - type: string 2460 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 2461 x-kubernetes-int-or-string: true 2462 description: 'Limits describes the maximum amount of compute 2463 resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 2464 type: object 2465 requests: 2466 additionalProperties: 2467 anyOf: 2468 - type: integer 2469 - type: string 2470 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 2471 x-kubernetes-int-or-string: true 2472 description: 'Requests describes the minimum amount of compute 2473 resources required. If Requests is omitted for a container, 2474 it defaults to Limits if that is explicitly specified, otherwise 2475 to an implementation-defined value. Requests cannot exceed 2476 Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 2477 type: object 2478 type: object 2479 securityContext: 2480 description: Set security context for the dashboards pods' container 2481 properties: 2482 allowPrivilegeEscalation: 2483 description: 'AllowPrivilegeEscalation controls whether a 2484 process can gain more privileges than its parent process. 2485 This bool directly controls if the no_new_privs flag will 2486 be set on the container process. AllowPrivilegeEscalation 2487 is true always when the container is: 1) run as Privileged 2488 2) has CAP_SYS_ADMIN Note that this field cannot be set 2489 when spec.os.name is windows.' 2490 type: boolean 2491 capabilities: 2492 description: The capabilities to add/drop when running containers. 2493 Defaults to the default set of capabilities granted by the 2494 container runtime. Note that this field cannot be set when 2495 spec.os.name is windows. 2496 properties: 2497 add: 2498 description: Added capabilities 2499 items: 2500 description: Capability represent POSIX capabilities 2501 type 2502 type: string 2503 type: array 2504 drop: 2505 description: Removed capabilities 2506 items: 2507 description: Capability represent POSIX capabilities 2508 type 2509 type: string 2510 type: array 2511 type: object 2512 privileged: 2513 description: Run container in privileged mode. Processes in 2514 privileged containers are essentially equivalent to root 2515 on the host. Defaults to false. Note that this field cannot 2516 be set when spec.os.name is windows. 2517 type: boolean 2518 procMount: 2519 description: procMount denotes the type of proc mount to use 2520 for the containers. The default is DefaultProcMount which 2521 uses the container runtime defaults for readonly paths and 2522 masked paths. This requires the ProcMountType feature flag 2523 to be enabled. Note that this field cannot be set when spec.os.name 2524 is windows. 2525 type: string 2526 readOnlyRootFilesystem: 2527 description: Whether this container has a read-only root filesystem. 2528 Default is false. Note that this field cannot be set when 2529 spec.os.name is windows. 2530 type: boolean 2531 runAsGroup: 2532 description: The GID to run the entrypoint of the container 2533 process. Uses runtime default if unset. May also be set 2534 in PodSecurityContext. If set in both SecurityContext and 2535 PodSecurityContext, the value specified in SecurityContext 2536 takes precedence. Note that this field cannot be set when 2537 spec.os.name is windows. 2538 format: int64 2539 type: integer 2540 runAsNonRoot: 2541 description: Indicates that the container must run as a non-root 2542 user. If true, the Kubelet will validate the image at runtime 2543 to ensure that it does not run as UID 0 (root) and fail 2544 to start the container if it does. If unset or false, no 2545 such validation will be performed. May also be set in PodSecurityContext. If 2546 set in both SecurityContext and PodSecurityContext, the 2547 value specified in SecurityContext takes precedence. 2548 type: boolean 2549 runAsUser: 2550 description: The UID to run the entrypoint of the container 2551 process. Defaults to user specified in image metadata if 2552 unspecified. May also be set in PodSecurityContext. If 2553 set in both SecurityContext and PodSecurityContext, the 2554 value specified in SecurityContext takes precedence. Note 2555 that this field cannot be set when spec.os.name is windows. 2556 format: int64 2557 type: integer 2558 seLinuxOptions: 2559 description: The SELinux context to be applied to the container. 2560 If unspecified, the container runtime will allocate a random 2561 SELinux context for each container. May also be set in 2562 PodSecurityContext. If set in both SecurityContext and 2563 PodSecurityContext, the value specified in SecurityContext 2564 takes precedence. Note that this field cannot be set when 2565 spec.os.name is windows. 2566 properties: 2567 level: 2568 description: Level is SELinux level label that applies 2569 to the container. 2570 type: string 2571 role: 2572 description: Role is a SELinux role label that applies 2573 to the container. 2574 type: string 2575 type: 2576 description: Type is a SELinux type label that applies 2577 to the container. 2578 type: string 2579 user: 2580 description: User is a SELinux user label that applies 2581 to the container. 2582 type: string 2583 type: object 2584 seccompProfile: 2585 description: The seccomp options to use by this container. 2586 If seccomp options are provided at both the pod & container 2587 level, the container options override the pod options. Note 2588 that this field cannot be set when spec.os.name is windows. 2589 properties: 2590 localhostProfile: 2591 description: localhostProfile indicates a profile defined 2592 in a file on the node should be used. The profile must 2593 be preconfigured on the node to work. Must be a descending 2594 path, relative to the kubelet's configured seccomp profile 2595 location. Must only be set if type is "Localhost". 2596 type: string 2597 type: 2598 description: "type indicates which kind of seccomp profile 2599 will be applied. Valid options are: \n Localhost - a 2600 profile defined in a file on the node should be used. 2601 RuntimeDefault - the container runtime default profile 2602 should be used. Unconfined - no profile should be applied." 2603 type: string 2604 required: 2605 - type 2606 type: object 2607 windowsOptions: 2608 description: The Windows specific settings applied to all 2609 containers. If unspecified, the options from the PodSecurityContext 2610 will be used. If set in both SecurityContext and PodSecurityContext, 2611 the value specified in SecurityContext takes precedence. 2612 Note that this field cannot be set when spec.os.name is 2613 linux. 2614 properties: 2615 gmsaCredentialSpec: 2616 description: GMSACredentialSpec is where the GMSA admission 2617 webhook (https://github.com/kubernetes-sigs/windows-gmsa) 2618 inlines the contents of the GMSA credential spec named 2619 by the GMSACredentialSpecName field. 2620 type: string 2621 gmsaCredentialSpecName: 2622 description: GMSACredentialSpecName is the name of the 2623 GMSA credential spec to use. 2624 type: string 2625 hostProcess: 2626 description: HostProcess determines if a container should 2627 be run as a 'Host Process' container. This field is 2628 alpha-level and will only be honored by components that 2629 enable the WindowsHostProcessContainers feature flag. 2630 Setting this field without the feature flag will result 2631 in errors when validating the Pod. All of a Pod's containers 2632 must have the same effective HostProcess value (it is 2633 not allowed to have a mix of HostProcess containers 2634 and non-HostProcess containers). In addition, if HostProcess 2635 is true then HostNetwork must also be set to true. 2636 type: boolean 2637 runAsUserName: 2638 description: The UserName in Windows to run the entrypoint 2639 of the container process. Defaults to the user specified 2640 in image metadata if unspecified. May also be set in 2641 PodSecurityContext. If set in both SecurityContext and 2642 PodSecurityContext, the value specified in SecurityContext 2643 takes precedence. 2644 type: string 2645 type: object 2646 type: object 2647 service: 2648 properties: 2649 loadBalancerSourceRanges: 2650 items: 2651 type: string 2652 type: array 2653 type: 2654 default: ClusterIP 2655 description: Service Type string describes ingress methods 2656 for a service 2657 enum: 2658 - ClusterIP 2659 - NodePort 2660 - LoadBalancer 2661 type: string 2662 type: object 2663 tls: 2664 properties: 2665 caSecret: 2666 description: Optional, secret that contains the ca certificate 2667 as ca.crt. If this and generate=true is set the existing 2668 CA cert from that secret is used to generate the node certs. 2669 In this case must contain ca.crt and ca.key fields 2670 properties: 2671 name: 2672 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 2673 TODO: Add other useful fields. apiVersion, kind, uid?' 2674 type: string 2675 type: object 2676 x-kubernetes-map-type: atomic 2677 enable: 2678 description: Enable HTTPS for Dashboards 2679 type: boolean 2680 generate: 2681 description: Generate certificate, if false secret must be 2682 provided 2683 type: boolean 2684 secret: 2685 description: Optional, name of a TLS secret that contains 2686 ca.crt, tls.key and tls.crt data. If ca.crt is in a different 2687 secret provide it via the caSecret field 2688 properties: 2689 name: 2690 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 2691 TODO: Add other useful fields. apiVersion, kind, uid?' 2692 type: string 2693 type: object 2694 x-kubernetes-map-type: atomic 2695 type: object 2696 tolerations: 2697 items: 2698 description: The pod this Toleration is attached to tolerates 2699 any taint that matches the triple <key,value,effect> using 2700 the matching operator <operator>. 2701 properties: 2702 effect: 2703 description: Effect indicates the taint effect to match. 2704 Empty means match all taint effects. When specified, allowed 2705 values are NoSchedule, PreferNoSchedule and NoExecute. 2706 type: string 2707 key: 2708 description: Key is the taint key that the toleration applies 2709 to. Empty means match all taint keys. If the key is empty, 2710 operator must be Exists; this combination means to match 2711 all values and all keys. 2712 type: string 2713 operator: 2714 description: Operator represents a key's relationship to 2715 the value. Valid operators are Exists and Equal. Defaults 2716 to Equal. Exists is equivalent to wildcard for value, 2717 so that a pod can tolerate all taints of a particular 2718 category. 2719 type: string 2720 tolerationSeconds: 2721 description: TolerationSeconds represents the period of 2722 time the toleration (which must be of effect NoExecute, 2723 otherwise this field is ignored) tolerates the taint. 2724 By default, it is not set, which means tolerate the taint 2725 forever (do not evict). Zero and negative values will 2726 be treated as 0 (evict immediately) by the system. 2727 format: int64 2728 type: integer 2729 value: 2730 description: Value is the taint value the toleration matches 2731 to. If the operator is Exists, the value should be empty, 2732 otherwise just a regular string. 2733 type: string 2734 type: object 2735 type: array 2736 version: 2737 type: string 2738 required: 2739 - replicas 2740 - version 2741 type: object 2742 general: 2743 description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster 2744 Important: Run "make" to regenerate code after modifying this file' 2745 properties: 2746 additionalConfig: 2747 additionalProperties: 2748 type: string 2749 description: Extra items to add to the opensearch.yml 2750 type: object 2751 additionalVolumes: 2752 description: Additional volumes to mount to all pods in the cluster 2753 items: 2754 properties: 2755 configMap: 2756 description: ConfigMap to use to populate the volume 2757 properties: 2758 defaultMode: 2759 description: 'defaultMode is optional: mode bits used 2760 to set permissions on created files by default. Must 2761 be an octal value between 0000 and 0777 or a decimal 2762 value between 0 and 511. YAML accepts both octal and 2763 decimal values, JSON requires decimal values for mode 2764 bits. Defaults to 0644. Directories within the path 2765 are not affected by this setting. This might be in 2766 conflict with other options that affect the file mode, 2767 like fsGroup, and the result can be other mode bits 2768 set.' 2769 format: int32 2770 type: integer 2771 items: 2772 description: items if unspecified, each key-value pair 2773 in the Data field of the referenced ConfigMap will 2774 be projected into the volume as a file whose name 2775 is the key and content is the value. If specified, 2776 the listed keys will be projected into the specified 2777 paths, and unlisted keys will not be present. If a 2778 key is specified which is not present in the ConfigMap, 2779 the volume setup will error unless it is marked optional. 2780 Paths must be relative and may not contain the '..' 2781 path or start with '..'. 2782 items: 2783 description: Maps a string key to a path within a 2784 volume. 2785 properties: 2786 key: 2787 description: key is the key to project. 2788 type: string 2789 mode: 2790 description: 'mode is Optional: mode bits used 2791 to set permissions on this file. Must be an 2792 octal value between 0000 and 0777 or a decimal 2793 value between 0 and 511. YAML accepts both octal 2794 and decimal values, JSON requires decimal values 2795 for mode bits. If not specified, the volume 2796 defaultMode will be used. This might be in conflict 2797 with other options that affect the file mode, 2798 like fsGroup, and the result can be other mode 2799 bits set.' 2800 format: int32 2801 type: integer 2802 path: 2803 description: path is the relative path of the 2804 file to map the key to. May not be an absolute 2805 path. May not contain the path element '..'. 2806 May not start with the string '..'. 2807 type: string 2808 required: 2809 - key 2810 - path 2811 type: object 2812 type: array 2813 name: 2814 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 2815 TODO: Add other useful fields. apiVersion, kind, uid?' 2816 type: string 2817 optional: 2818 description: optional specify whether the ConfigMap 2819 or its keys must be defined 2820 type: boolean 2821 type: object 2822 x-kubernetes-map-type: atomic 2823 emptyDir: 2824 description: EmptyDir to use to populate the volume 2825 properties: 2826 medium: 2827 description: 'medium represents what type of storage 2828 medium should back this directory. The default is 2829 "" which means to use the node''s default medium. 2830 Must be an empty string (default) or Memory. More 2831 info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 2832 type: string 2833 sizeLimit: 2834 anyOf: 2835 - type: integer 2836 - type: string 2837 description: 'sizeLimit is the total amount of local 2838 storage required for this EmptyDir volume. The size 2839 limit is also applicable for memory medium. The maximum 2840 usage on memory medium EmptyDir would be the minimum 2841 value between the SizeLimit specified here and the 2842 sum of memory limits of all containers in a pod. The 2843 default is nil which means that the limit is undefined. 2844 More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 2845 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 2846 x-kubernetes-int-or-string: true 2847 type: object 2848 name: 2849 description: Name to use for the volume. Required. 2850 type: string 2851 path: 2852 description: Path in the container to mount the volume at. 2853 Required. 2854 type: string 2855 restartPods: 2856 description: Whether to restart the pods on content change 2857 type: boolean 2858 secret: 2859 description: Secret to use populate the volume 2860 properties: 2861 defaultMode: 2862 description: 'defaultMode is Optional: mode bits used 2863 to set permissions on created files by default. Must 2864 be an octal value between 0000 and 0777 or a decimal 2865 value between 0 and 511. YAML accepts both octal and 2866 decimal values, JSON requires decimal values for mode 2867 bits. Defaults to 0644. Directories within the path 2868 are not affected by this setting. This might be in 2869 conflict with other options that affect the file mode, 2870 like fsGroup, and the result can be other mode bits 2871 set.' 2872 format: int32 2873 type: integer 2874 items: 2875 description: items If unspecified, each key-value pair 2876 in the Data field of the referenced Secret will be 2877 projected into the volume as a file whose name is 2878 the key and content is the value. If specified, the 2879 listed keys will be projected into the specified paths, 2880 and unlisted keys will not be present. If a key is 2881 specified which is not present in the Secret, the 2882 volume setup will error unless it is marked optional. 2883 Paths must be relative and may not contain the '..' 2884 path or start with '..'. 2885 items: 2886 description: Maps a string key to a path within a 2887 volume. 2888 properties: 2889 key: 2890 description: key is the key to project. 2891 type: string 2892 mode: 2893 description: 'mode is Optional: mode bits used 2894 to set permissions on this file. Must be an 2895 octal value between 0000 and 0777 or a decimal 2896 value between 0 and 511. YAML accepts both octal 2897 and decimal values, JSON requires decimal values 2898 for mode bits. If not specified, the volume 2899 defaultMode will be used. This might be in conflict 2900 with other options that affect the file mode, 2901 like fsGroup, and the result can be other mode 2902 bits set.' 2903 format: int32 2904 type: integer 2905 path: 2906 description: path is the relative path of the 2907 file to map the key to. May not be an absolute 2908 path. May not contain the path element '..'. 2909 May not start with the string '..'. 2910 type: string 2911 required: 2912 - key 2913 - path 2914 type: object 2915 type: array 2916 optional: 2917 description: optional field specify whether the Secret 2918 or its keys must be defined 2919 type: boolean 2920 secretName: 2921 description: 'secretName is the name of the secret in 2922 the pod''s namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' 2923 type: string 2924 type: object 2925 required: 2926 - name 2927 - path 2928 type: object 2929 type: array 2930 command: 2931 type: string 2932 defaultRepo: 2933 type: string 2934 drainDataNodes: 2935 description: Drain data nodes controls whether to drain data notes 2936 on rolling restart operations 2937 type: boolean 2938 httpPort: 2939 default: 9200 2940 format: int32 2941 type: integer 2942 image: 2943 type: string 2944 imagePullPolicy: 2945 description: PullPolicy describes a policy for if/when to pull 2946 a container image 2947 type: string 2948 imagePullSecrets: 2949 items: 2950 description: LocalObjectReference contains enough information 2951 to let you locate the referenced object inside the same namespace. 2952 properties: 2953 name: 2954 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 2955 TODO: Add other useful fields. apiVersion, kind, uid?' 2956 type: string 2957 type: object 2958 x-kubernetes-map-type: atomic 2959 type: array 2960 keystore: 2961 description: Populate opensearch keystore before startup 2962 items: 2963 properties: 2964 keyMappings: 2965 additionalProperties: 2966 type: string 2967 description: Key mappings from secret to keystore keys 2968 type: object 2969 secret: 2970 description: Secret containing key value pairs 2971 properties: 2972 name: 2973 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 2974 TODO: Add other useful fields. apiVersion, kind, uid?' 2975 type: string 2976 type: object 2977 x-kubernetes-map-type: atomic 2978 type: object 2979 type: array 2980 monitoring: 2981 properties: 2982 enable: 2983 type: boolean 2984 monitoringUserSecret: 2985 type: string 2986 pluginUrl: 2987 type: string 2988 scrapeInterval: 2989 type: string 2990 tlsConfig: 2991 properties: 2992 insecureSkipVerify: 2993 type: boolean 2994 serverName: 2995 type: string 2996 type: object 2997 type: object 2998 pluginsList: 2999 items: 3000 type: string 3001 type: array 3002 podSecurityContext: 3003 description: Set security context for the cluster pods 3004 properties: 3005 fsGroup: 3006 description: "A special supplemental group that applies to 3007 all containers in a pod. Some volume types allow the Kubelet 3008 to change the ownership of that volume to be owned by the 3009 pod: \n 1. The owning GID will be the FSGroup 2. The setgid 3010 bit is set (new files created in the volume will be owned 3011 by FSGroup) 3. The permission bits are OR'd with rw-rw---- 3012 \n If unset, the Kubelet will not modify the ownership and 3013 permissions of any volume. Note that this field cannot be 3014 set when spec.os.name is windows." 3015 format: int64 3016 type: integer 3017 fsGroupChangePolicy: 3018 description: 'fsGroupChangePolicy defines behavior of changing 3019 ownership and permission of the volume before being exposed 3020 inside Pod. This field will only apply to volume types which 3021 support fsGroup based ownership(and permissions). It will 3022 have no effect on ephemeral volume types such as: secret, 3023 configmaps and emptydir. Valid values are "OnRootMismatch" 3024 and "Always". If not specified, "Always" is used. Note that 3025 this field cannot be set when spec.os.name is windows.' 3026 type: string 3027 runAsGroup: 3028 description: The GID to run the entrypoint of the container 3029 process. Uses runtime default if unset. May also be set 3030 in SecurityContext. If set in both SecurityContext and 3031 PodSecurityContext, the value specified in SecurityContext 3032 takes precedence for that container. Note that this field 3033 cannot be set when spec.os.name is windows. 3034 format: int64 3035 type: integer 3036 runAsNonRoot: 3037 description: Indicates that the container must run as a non-root 3038 user. If true, the Kubelet will validate the image at runtime 3039 to ensure that it does not run as UID 0 (root) and fail 3040 to start the container if it does. If unset or false, no 3041 such validation will be performed. May also be set in SecurityContext. If 3042 set in both SecurityContext and PodSecurityContext, the 3043 value specified in SecurityContext takes precedence. 3044 type: boolean 3045 runAsUser: 3046 description: The UID to run the entrypoint of the container 3047 process. Defaults to user specified in image metadata if 3048 unspecified. May also be set in SecurityContext. If set 3049 in both SecurityContext and PodSecurityContext, the value 3050 specified in SecurityContext takes precedence for that container. 3051 Note that this field cannot be set when spec.os.name is 3052 windows. 3053 format: int64 3054 type: integer 3055 seLinuxOptions: 3056 description: The SELinux context to be applied to all containers. 3057 If unspecified, the container runtime will allocate a random 3058 SELinux context for each container. May also be set in 3059 SecurityContext. If set in both SecurityContext and PodSecurityContext, 3060 the value specified in SecurityContext takes precedence 3061 for that container. Note that this field cannot be set when 3062 spec.os.name is windows. 3063 properties: 3064 level: 3065 description: Level is SELinux level label that applies 3066 to the container. 3067 type: string 3068 role: 3069 description: Role is a SELinux role label that applies 3070 to the container. 3071 type: string 3072 type: 3073 description: Type is a SELinux type label that applies 3074 to the container. 3075 type: string 3076 user: 3077 description: User is a SELinux user label that applies 3078 to the container. 3079 type: string 3080 type: object 3081 seccompProfile: 3082 description: The seccomp options to use by the containers 3083 in this pod. Note that this field cannot be set when spec.os.name 3084 is windows. 3085 properties: 3086 localhostProfile: 3087 description: localhostProfile indicates a profile defined 3088 in a file on the node should be used. The profile must 3089 be preconfigured on the node to work. Must be a descending 3090 path, relative to the kubelet's configured seccomp profile 3091 location. Must only be set if type is "Localhost". 3092 type: string 3093 type: 3094 description: "type indicates which kind of seccomp profile 3095 will be applied. Valid options are: \n Localhost - a 3096 profile defined in a file on the node should be used. 3097 RuntimeDefault - the container runtime default profile 3098 should be used. Unconfined - no profile should be applied." 3099 type: string 3100 required: 3101 - type 3102 type: object 3103 supplementalGroups: 3104 description: A list of groups applied to the first process 3105 run in each container, in addition to the container's primary 3106 GID, the fsGroup (if specified), and group memberships defined 3107 in the container image for the uid of the container process. 3108 If unspecified, no additional groups are added to any container. 3109 Note that group memberships defined in the container image 3110 for the uid of the container process are still effective, 3111 even if they are not included in this list. Note that this 3112 field cannot be set when spec.os.name is windows. 3113 items: 3114 format: int64 3115 type: integer 3116 type: array 3117 sysctls: 3118 description: Sysctls hold a list of namespaced sysctls used 3119 for the pod. Pods with unsupported sysctls (by the container 3120 runtime) might fail to launch. Note that this field cannot 3121 be set when spec.os.name is windows. 3122 items: 3123 description: Sysctl defines a kernel parameter to be set 3124 properties: 3125 name: 3126 description: Name of a property to set 3127 type: string 3128 value: 3129 description: Value of a property to set 3130 type: string 3131 required: 3132 - name 3133 - value 3134 type: object 3135 type: array 3136 windowsOptions: 3137 description: The Windows specific settings applied to all 3138 containers. If unspecified, the options within a container's 3139 SecurityContext will be used. If set in both SecurityContext 3140 and PodSecurityContext, the value specified in SecurityContext 3141 takes precedence. Note that this field cannot be set when 3142 spec.os.name is linux. 3143 properties: 3144 gmsaCredentialSpec: 3145 description: GMSACredentialSpec is where the GMSA admission 3146 webhook (https://github.com/kubernetes-sigs/windows-gmsa) 3147 inlines the contents of the GMSA credential spec named 3148 by the GMSACredentialSpecName field. 3149 type: string 3150 gmsaCredentialSpecName: 3151 description: GMSACredentialSpecName is the name of the 3152 GMSA credential spec to use. 3153 type: string 3154 hostProcess: 3155 description: HostProcess determines if a container should 3156 be run as a 'Host Process' container. This field is 3157 alpha-level and will only be honored by components that 3158 enable the WindowsHostProcessContainers feature flag. 3159 Setting this field without the feature flag will result 3160 in errors when validating the Pod. All of a Pod's containers 3161 must have the same effective HostProcess value (it is 3162 not allowed to have a mix of HostProcess containers 3163 and non-HostProcess containers). In addition, if HostProcess 3164 is true then HostNetwork must also be set to true. 3165 type: boolean 3166 runAsUserName: 3167 description: The UserName in Windows to run the entrypoint 3168 of the container process. Defaults to the user specified 3169 in image metadata if unspecified. May also be set in 3170 PodSecurityContext. If set in both SecurityContext and 3171 PodSecurityContext, the value specified in SecurityContext 3172 takes precedence. 3173 type: string 3174 type: object 3175 type: object 3176 securityContext: 3177 description: Set security context for the cluster pods' container 3178 properties: 3179 allowPrivilegeEscalation: 3180 description: 'AllowPrivilegeEscalation controls whether a 3181 process can gain more privileges than its parent process. 3182 This bool directly controls if the no_new_privs flag will 3183 be set on the container process. AllowPrivilegeEscalation 3184 is true always when the container is: 1) run as Privileged 3185 2) has CAP_SYS_ADMIN Note that this field cannot be set 3186 when spec.os.name is windows.' 3187 type: boolean 3188 capabilities: 3189 description: The capabilities to add/drop when running containers. 3190 Defaults to the default set of capabilities granted by the 3191 container runtime. Note that this field cannot be set when 3192 spec.os.name is windows. 3193 properties: 3194 add: 3195 description: Added capabilities 3196 items: 3197 description: Capability represent POSIX capabilities 3198 type 3199 type: string 3200 type: array 3201 drop: 3202 description: Removed capabilities 3203 items: 3204 description: Capability represent POSIX capabilities 3205 type 3206 type: string 3207 type: array 3208 type: object 3209 privileged: 3210 description: Run container in privileged mode. Processes in 3211 privileged containers are essentially equivalent to root 3212 on the host. Defaults to false. Note that this field cannot 3213 be set when spec.os.name is windows. 3214 type: boolean 3215 procMount: 3216 description: procMount denotes the type of proc mount to use 3217 for the containers. The default is DefaultProcMount which 3218 uses the container runtime defaults for readonly paths and 3219 masked paths. This requires the ProcMountType feature flag 3220 to be enabled. Note that this field cannot be set when spec.os.name 3221 is windows. 3222 type: string 3223 readOnlyRootFilesystem: 3224 description: Whether this container has a read-only root filesystem. 3225 Default is false. Note that this field cannot be set when 3226 spec.os.name is windows. 3227 type: boolean 3228 runAsGroup: 3229 description: The GID to run the entrypoint of the container 3230 process. Uses runtime default if unset. May also be set 3231 in PodSecurityContext. If set in both SecurityContext and 3232 PodSecurityContext, the value specified in SecurityContext 3233 takes precedence. Note that this field cannot be set when 3234 spec.os.name is windows. 3235 format: int64 3236 type: integer 3237 runAsNonRoot: 3238 description: Indicates that the container must run as a non-root 3239 user. If true, the Kubelet will validate the image at runtime 3240 to ensure that it does not run as UID 0 (root) and fail 3241 to start the container if it does. If unset or false, no 3242 such validation will be performed. May also be set in PodSecurityContext. If 3243 set in both SecurityContext and PodSecurityContext, the 3244 value specified in SecurityContext takes precedence. 3245 type: boolean 3246 runAsUser: 3247 description: The UID to run the entrypoint of the container 3248 process. Defaults to user specified in image metadata if 3249 unspecified. May also be set in PodSecurityContext. If 3250 set in both SecurityContext and PodSecurityContext, the 3251 value specified in SecurityContext takes precedence. Note 3252 that this field cannot be set when spec.os.name is windows. 3253 format: int64 3254 type: integer 3255 seLinuxOptions: 3256 description: The SELinux context to be applied to the container. 3257 If unspecified, the container runtime will allocate a random 3258 SELinux context for each container. May also be set in 3259 PodSecurityContext. If set in both SecurityContext and 3260 PodSecurityContext, the value specified in SecurityContext 3261 takes precedence. Note that this field cannot be set when 3262 spec.os.name is windows. 3263 properties: 3264 level: 3265 description: Level is SELinux level label that applies 3266 to the container. 3267 type: string 3268 role: 3269 description: Role is a SELinux role label that applies 3270 to the container. 3271 type: string 3272 type: 3273 description: Type is a SELinux type label that applies 3274 to the container. 3275 type: string 3276 user: 3277 description: User is a SELinux user label that applies 3278 to the container. 3279 type: string 3280 type: object 3281 seccompProfile: 3282 description: The seccomp options to use by this container. 3283 If seccomp options are provided at both the pod & container 3284 level, the container options override the pod options. Note 3285 that this field cannot be set when spec.os.name is windows. 3286 properties: 3287 localhostProfile: 3288 description: localhostProfile indicates a profile defined 3289 in a file on the node should be used. The profile must 3290 be preconfigured on the node to work. Must be a descending 3291 path, relative to the kubelet's configured seccomp profile 3292 location. Must only be set if type is "Localhost". 3293 type: string 3294 type: 3295 description: "type indicates which kind of seccomp profile 3296 will be applied. Valid options are: \n Localhost - a 3297 profile defined in a file on the node should be used. 3298 RuntimeDefault - the container runtime default profile 3299 should be used. Unconfined - no profile should be applied." 3300 type: string 3301 required: 3302 - type 3303 type: object 3304 windowsOptions: 3305 description: The Windows specific settings applied to all 3306 containers. If unspecified, the options from the PodSecurityContext 3307 will be used. If set in both SecurityContext and PodSecurityContext, 3308 the value specified in SecurityContext takes precedence. 3309 Note that this field cannot be set when spec.os.name is 3310 linux. 3311 properties: 3312 gmsaCredentialSpec: 3313 description: GMSACredentialSpec is where the GMSA admission 3314 webhook (https://github.com/kubernetes-sigs/windows-gmsa) 3315 inlines the contents of the GMSA credential spec named 3316 by the GMSACredentialSpecName field. 3317 type: string 3318 gmsaCredentialSpecName: 3319 description: GMSACredentialSpecName is the name of the 3320 GMSA credential spec to use. 3321 type: string 3322 hostProcess: 3323 description: HostProcess determines if a container should 3324 be run as a 'Host Process' container. This field is 3325 alpha-level and will only be honored by components that 3326 enable the WindowsHostProcessContainers feature flag. 3327 Setting this field without the feature flag will result 3328 in errors when validating the Pod. All of a Pod's containers 3329 must have the same effective HostProcess value (it is 3330 not allowed to have a mix of HostProcess containers 3331 and non-HostProcess containers). In addition, if HostProcess 3332 is true then HostNetwork must also be set to true. 3333 type: boolean 3334 runAsUserName: 3335 description: The UserName in Windows to run the entrypoint 3336 of the container process. Defaults to the user specified 3337 in image metadata if unspecified. May also be set in 3338 PodSecurityContext. If set in both SecurityContext and 3339 PodSecurityContext, the value specified in SecurityContext 3340 takes precedence. 3341 type: string 3342 type: object 3343 type: object 3344 serviceAccount: 3345 type: string 3346 serviceName: 3347 type: string 3348 setVMMaxMapCount: 3349 type: boolean 3350 snapshotRepositories: 3351 items: 3352 properties: 3353 name: 3354 type: string 3355 settings: 3356 additionalProperties: 3357 type: string 3358 type: object 3359 type: 3360 type: string 3361 required: 3362 - name 3363 - type 3364 type: object 3365 type: array 3366 vendor: 3367 enum: 3368 - Opensearch 3369 - Op 3370 - OP 3371 - os 3372 - opensearch 3373 type: string 3374 version: 3375 type: string 3376 required: 3377 - serviceName 3378 type: object 3379 initHelper: 3380 properties: 3381 image: 3382 type: string 3383 imagePullPolicy: 3384 description: PullPolicy describes a policy for if/when to pull 3385 a container image 3386 type: string 3387 imagePullSecrets: 3388 items: 3389 description: LocalObjectReference contains enough information 3390 to let you locate the referenced object inside the same namespace. 3391 properties: 3392 name: 3393 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 3394 TODO: Add other useful fields. apiVersion, kind, uid?' 3395 type: string 3396 type: object 3397 x-kubernetes-map-type: atomic 3398 type: array 3399 resources: 3400 description: ResourceRequirements describes the compute resource 3401 requirements. 3402 properties: 3403 claims: 3404 description: "Claims lists the names of resources, defined 3405 in spec.resourceClaims, that are used by this container. 3406 \n This is an alpha field and requires enabling the DynamicResourceAllocation 3407 feature gate. \n This field is immutable. It can only be 3408 set for containers." 3409 items: 3410 description: ResourceClaim references one entry in PodSpec.ResourceClaims. 3411 properties: 3412 name: 3413 description: Name must match the name of one entry in 3414 pod.spec.resourceClaims of the Pod where this field 3415 is used. It makes that resource available inside a 3416 container. 3417 type: string 3418 required: 3419 - name 3420 type: object 3421 type: array 3422 x-kubernetes-list-map-keys: 3423 - name 3424 x-kubernetes-list-type: map 3425 limits: 3426 additionalProperties: 3427 anyOf: 3428 - type: integer 3429 - type: string 3430 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 3431 x-kubernetes-int-or-string: true 3432 description: 'Limits describes the maximum amount of compute 3433 resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 3434 type: object 3435 requests: 3436 additionalProperties: 3437 anyOf: 3438 - type: integer 3439 - type: string 3440 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 3441 x-kubernetes-int-or-string: true 3442 description: 'Requests describes the minimum amount of compute 3443 resources required. If Requests is omitted for a container, 3444 it defaults to Limits if that is explicitly specified, otherwise 3445 to an implementation-defined value. Requests cannot exceed 3446 Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 3447 type: object 3448 type: object 3449 version: 3450 type: string 3451 type: object 3452 nodePools: 3453 items: 3454 properties: 3455 additionalConfig: 3456 additionalProperties: 3457 type: string 3458 type: object 3459 affinity: 3460 description: Affinity is a group of affinity scheduling rules. 3461 properties: 3462 nodeAffinity: 3463 description: Describes node affinity scheduling rules for 3464 the pod. 3465 properties: 3466 preferredDuringSchedulingIgnoredDuringExecution: 3467 description: The scheduler will prefer to schedule pods 3468 to nodes that satisfy the affinity expressions specified 3469 by this field, but it may choose a node that violates 3470 one or more of the expressions. The node that is most 3471 preferred is the one with the greatest sum of weights, 3472 i.e. for each node that meets all of the scheduling 3473 requirements (resource request, requiredDuringScheduling 3474 affinity expressions, etc.), compute a sum by iterating 3475 through the elements of this field and adding "weight" 3476 to the sum if the node matches the corresponding matchExpressions; 3477 the node(s) with the highest sum are the most preferred. 3478 items: 3479 description: An empty preferred scheduling term matches 3480 all objects with implicit weight 0 (i.e. it's a 3481 no-op). A null preferred scheduling term matches 3482 no objects (i.e. is also a no-op). 3483 properties: 3484 preference: 3485 description: A node selector term, associated 3486 with the corresponding weight. 3487 properties: 3488 matchExpressions: 3489 description: A list of node selector requirements 3490 by node's labels. 3491 items: 3492 description: A node selector requirement 3493 is a selector that contains values, a 3494 key, and an operator that relates the 3495 key and values. 3496 properties: 3497 key: 3498 description: The label key that the 3499 selector applies to. 3500 type: string 3501 operator: 3502 description: Represents a key's relationship 3503 to a set of values. Valid operators 3504 are In, NotIn, Exists, DoesNotExist. 3505 Gt, and Lt. 3506 type: string 3507 values: 3508 description: An array of string values. 3509 If the operator is In or NotIn, the 3510 values array must be non-empty. If 3511 the operator is Exists or DoesNotExist, 3512 the values array must be empty. If 3513 the operator is Gt or Lt, the values 3514 array must have a single element, 3515 which will be interpreted as an integer. 3516 This array is replaced during a strategic 3517 merge patch. 3518 items: 3519 type: string 3520 type: array 3521 required: 3522 - key 3523 - operator 3524 type: object 3525 type: array 3526 matchFields: 3527 description: A list of node selector requirements 3528 by node's fields. 3529 items: 3530 description: A node selector requirement 3531 is a selector that contains values, a 3532 key, and an operator that relates the 3533 key and values. 3534 properties: 3535 key: 3536 description: The label key that the 3537 selector applies to. 3538 type: string 3539 operator: 3540 description: Represents a key's relationship 3541 to a set of values. Valid operators 3542 are In, NotIn, Exists, DoesNotExist. 3543 Gt, and Lt. 3544 type: string 3545 values: 3546 description: An array of string values. 3547 If the operator is In or NotIn, the 3548 values array must be non-empty. If 3549 the operator is Exists or DoesNotExist, 3550 the values array must be empty. If 3551 the operator is Gt or Lt, the values 3552 array must have a single element, 3553 which will be interpreted as an integer. 3554 This array is replaced during a strategic 3555 merge patch. 3556 items: 3557 type: string 3558 type: array 3559 required: 3560 - key 3561 - operator 3562 type: object 3563 type: array 3564 type: object 3565 x-kubernetes-map-type: atomic 3566 weight: 3567 description: Weight associated with matching the 3568 corresponding nodeSelectorTerm, in the range 3569 1-100. 3570 format: int32 3571 type: integer 3572 required: 3573 - preference 3574 - weight 3575 type: object 3576 type: array 3577 requiredDuringSchedulingIgnoredDuringExecution: 3578 description: If the affinity requirements specified 3579 by this field are not met at scheduling time, the 3580 pod will not be scheduled onto the node. If the affinity 3581 requirements specified by this field cease to be met 3582 at some point during pod execution (e.g. due to an 3583 update), the system may or may not try to eventually 3584 evict the pod from its node. 3585 properties: 3586 nodeSelectorTerms: 3587 description: Required. A list of node selector terms. 3588 The terms are ORed. 3589 items: 3590 description: A null or empty node selector term 3591 matches no objects. The requirements of them 3592 are ANDed. The TopologySelectorTerm type implements 3593 a subset of the NodeSelectorTerm. 3594 properties: 3595 matchExpressions: 3596 description: A list of node selector requirements 3597 by node's labels. 3598 items: 3599 description: A node selector requirement 3600 is a selector that contains values, a 3601 key, and an operator that relates the 3602 key and values. 3603 properties: 3604 key: 3605 description: The label key that the 3606 selector applies to. 3607 type: string 3608 operator: 3609 description: Represents a key's relationship 3610 to a set of values. Valid operators 3611 are In, NotIn, Exists, DoesNotExist. 3612 Gt, and Lt. 3613 type: string 3614 values: 3615 description: An array of string values. 3616 If the operator is In or NotIn, the 3617 values array must be non-empty. If 3618 the operator is Exists or DoesNotExist, 3619 the values array must be empty. If 3620 the operator is Gt or Lt, the values 3621 array must have a single element, 3622 which will be interpreted as an integer. 3623 This array is replaced during a strategic 3624 merge patch. 3625 items: 3626 type: string 3627 type: array 3628 required: 3629 - key 3630 - operator 3631 type: object 3632 type: array 3633 matchFields: 3634 description: A list of node selector requirements 3635 by node's fields. 3636 items: 3637 description: A node selector requirement 3638 is a selector that contains values, a 3639 key, and an operator that relates the 3640 key and values. 3641 properties: 3642 key: 3643 description: The label key that the 3644 selector applies to. 3645 type: string 3646 operator: 3647 description: Represents a key's relationship 3648 to a set of values. Valid operators 3649 are In, NotIn, Exists, DoesNotExist. 3650 Gt, and Lt. 3651 type: string 3652 values: 3653 description: An array of string values. 3654 If the operator is In or NotIn, the 3655 values array must be non-empty. If 3656 the operator is Exists or DoesNotExist, 3657 the values array must be empty. If 3658 the operator is Gt or Lt, the values 3659 array must have a single element, 3660 which will be interpreted as an integer. 3661 This array is replaced during a strategic 3662 merge patch. 3663 items: 3664 type: string 3665 type: array 3666 required: 3667 - key 3668 - operator 3669 type: object 3670 type: array 3671 type: object 3672 x-kubernetes-map-type: atomic 3673 type: array 3674 required: 3675 - nodeSelectorTerms 3676 type: object 3677 x-kubernetes-map-type: atomic 3678 type: object 3679 podAffinity: 3680 description: Describes pod affinity scheduling rules (e.g. 3681 co-locate this pod in the same node, zone, etc. as some 3682 other pod(s)). 3683 properties: 3684 preferredDuringSchedulingIgnoredDuringExecution: 3685 description: The scheduler will prefer to schedule pods 3686 to nodes that satisfy the affinity expressions specified 3687 by this field, but it may choose a node that violates 3688 one or more of the expressions. The node that is most 3689 preferred is the one with the greatest sum of weights, 3690 i.e. for each node that meets all of the scheduling 3691 requirements (resource request, requiredDuringScheduling 3692 affinity expressions, etc.), compute a sum by iterating 3693 through the elements of this field and adding "weight" 3694 to the sum if the node has pods which matches the 3695 corresponding podAffinityTerm; the node(s) with the 3696 highest sum are the most preferred. 3697 items: 3698 description: The weights of all of the matched WeightedPodAffinityTerm 3699 fields are added per-node to find the most preferred 3700 node(s) 3701 properties: 3702 podAffinityTerm: 3703 description: Required. A pod affinity term, associated 3704 with the corresponding weight. 3705 properties: 3706 labelSelector: 3707 description: A label query over a set of resources, 3708 in this case pods. 3709 properties: 3710 matchExpressions: 3711 description: matchExpressions is a list 3712 of label selector requirements. The 3713 requirements are ANDed. 3714 items: 3715 description: A label selector requirement 3716 is a selector that contains values, 3717 a key, and an operator that relates 3718 the key and values. 3719 properties: 3720 key: 3721 description: key is the label key 3722 that the selector applies to. 3723 type: string 3724 operator: 3725 description: operator represents 3726 a key's relationship to a set 3727 of values. Valid operators are 3728 In, NotIn, Exists and DoesNotExist. 3729 type: string 3730 values: 3731 description: values is an array 3732 of string values. If the operator 3733 is In or NotIn, the values array 3734 must be non-empty. If the operator 3735 is Exists or DoesNotExist, the 3736 values array must be empty. This 3737 array is replaced during a strategic 3738 merge patch. 3739 items: 3740 type: string 3741 type: array 3742 required: 3743 - key 3744 - operator 3745 type: object 3746 type: array 3747 matchLabels: 3748 additionalProperties: 3749 type: string 3750 description: matchLabels is a map of {key,value} 3751 pairs. A single {key,value} in the matchLabels 3752 map is equivalent to an element of matchExpressions, 3753 whose key field is "key", the operator 3754 is "In", and the values array contains 3755 only "value". The requirements are ANDed. 3756 type: object 3757 type: object 3758 x-kubernetes-map-type: atomic 3759 namespaceSelector: 3760 description: A label query over the set of 3761 namespaces that the term applies to. The 3762 term is applied to the union of the namespaces 3763 selected by this field and the ones listed 3764 in the namespaces field. null selector and 3765 null or empty namespaces list means "this 3766 pod's namespace". An empty selector ({}) 3767 matches all namespaces. 3768 properties: 3769 matchExpressions: 3770 description: matchExpressions is a list 3771 of label selector requirements. The 3772 requirements are ANDed. 3773 items: 3774 description: A label selector requirement 3775 is a selector that contains values, 3776 a key, and an operator that relates 3777 the key and values. 3778 properties: 3779 key: 3780 description: key is the label key 3781 that the selector applies to. 3782 type: string 3783 operator: 3784 description: operator represents 3785 a key's relationship to a set 3786 of values. Valid operators are 3787 In, NotIn, Exists and DoesNotExist. 3788 type: string 3789 values: 3790 description: values is an array 3791 of string values. If the operator 3792 is In or NotIn, the values array 3793 must be non-empty. If the operator 3794 is Exists or DoesNotExist, the 3795 values array must be empty. This 3796 array is replaced during a strategic 3797 merge patch. 3798 items: 3799 type: string 3800 type: array 3801 required: 3802 - key 3803 - operator 3804 type: object 3805 type: array 3806 matchLabels: 3807 additionalProperties: 3808 type: string 3809 description: matchLabels is a map of {key,value} 3810 pairs. A single {key,value} in the matchLabels 3811 map is equivalent to an element of matchExpressions, 3812 whose key field is "key", the operator 3813 is "In", and the values array contains 3814 only "value". The requirements are ANDed. 3815 type: object 3816 type: object 3817 x-kubernetes-map-type: atomic 3818 namespaces: 3819 description: namespaces specifies a static 3820 list of namespace names that the term applies 3821 to. The term is applied to the union of 3822 the namespaces listed in this field and 3823 the ones selected by namespaceSelector. 3824 null or empty namespaces list and null namespaceSelector 3825 means "this pod's namespace". 3826 items: 3827 type: string 3828 type: array 3829 topologyKey: 3830 description: This pod should be co-located 3831 (affinity) or not co-located (anti-affinity) 3832 with the pods matching the labelSelector 3833 in the specified namespaces, where co-located 3834 is defined as running on a node whose value 3835 of the label with key topologyKey matches 3836 that of any node on which any of the selected 3837 pods is running. Empty topologyKey is not 3838 allowed. 3839 type: string 3840 required: 3841 - topologyKey 3842 type: object 3843 weight: 3844 description: weight associated with matching the 3845 corresponding podAffinityTerm, in the range 3846 1-100. 3847 format: int32 3848 type: integer 3849 required: 3850 - podAffinityTerm 3851 - weight 3852 type: object 3853 type: array 3854 requiredDuringSchedulingIgnoredDuringExecution: 3855 description: If the affinity requirements specified 3856 by this field are not met at scheduling time, the 3857 pod will not be scheduled onto the node. If the affinity 3858 requirements specified by this field cease to be met 3859 at some point during pod execution (e.g. due to a 3860 pod label update), the system may or may not try to 3861 eventually evict the pod from its node. When there 3862 are multiple elements, the lists of nodes corresponding 3863 to each podAffinityTerm are intersected, i.e. all 3864 terms must be satisfied. 3865 items: 3866 description: Defines a set of pods (namely those matching 3867 the labelSelector relative to the given namespace(s)) 3868 that this pod should be co-located (affinity) or 3869 not co-located (anti-affinity) with, where co-located 3870 is defined as running on a node whose value of the 3871 label with key <topologyKey> matches that of any 3872 node on which a pod of the set of pods is running 3873 properties: 3874 labelSelector: 3875 description: A label query over a set of resources, 3876 in this case pods. 3877 properties: 3878 matchExpressions: 3879 description: matchExpressions is a list of 3880 label selector requirements. The requirements 3881 are ANDed. 3882 items: 3883 description: A label selector requirement 3884 is a selector that contains values, a 3885 key, and an operator that relates the 3886 key and values. 3887 properties: 3888 key: 3889 description: key is the label key that 3890 the selector applies to. 3891 type: string 3892 operator: 3893 description: operator represents a key's 3894 relationship to a set of values. Valid 3895 operators are In, NotIn, Exists and 3896 DoesNotExist. 3897 type: string 3898 values: 3899 description: values is an array of string 3900 values. If the operator is In or NotIn, 3901 the values array must be non-empty. 3902 If the operator is Exists or DoesNotExist, 3903 the values array must be empty. This 3904 array is replaced during a strategic 3905 merge patch. 3906 items: 3907 type: string 3908 type: array 3909 required: 3910 - key 3911 - operator 3912 type: object 3913 type: array 3914 matchLabels: 3915 additionalProperties: 3916 type: string 3917 description: matchLabels is a map of {key,value} 3918 pairs. A single {key,value} in the matchLabels 3919 map is equivalent to an element of matchExpressions, 3920 whose key field is "key", the operator is 3921 "In", and the values array contains only 3922 "value". The requirements are ANDed. 3923 type: object 3924 type: object 3925 x-kubernetes-map-type: atomic 3926 namespaceSelector: 3927 description: A label query over the set of namespaces 3928 that the term applies to. The term is applied 3929 to the union of the namespaces selected by this 3930 field and the ones listed in the namespaces 3931 field. null selector and null or empty namespaces 3932 list means "this pod's namespace". An empty 3933 selector ({}) matches all namespaces. 3934 properties: 3935 matchExpressions: 3936 description: matchExpressions is a list of 3937 label selector requirements. The requirements 3938 are ANDed. 3939 items: 3940 description: A label selector requirement 3941 is a selector that contains values, a 3942 key, and an operator that relates the 3943 key and values. 3944 properties: 3945 key: 3946 description: key is the label key that 3947 the selector applies to. 3948 type: string 3949 operator: 3950 description: operator represents a key's 3951 relationship to a set of values. Valid 3952 operators are In, NotIn, Exists and 3953 DoesNotExist. 3954 type: string 3955 values: 3956 description: values is an array of string 3957 values. If the operator is In or NotIn, 3958 the values array must be non-empty. 3959 If the operator is Exists or DoesNotExist, 3960 the values array must be empty. This 3961 array is replaced during a strategic 3962 merge patch. 3963 items: 3964 type: string 3965 type: array 3966 required: 3967 - key 3968 - operator 3969 type: object 3970 type: array 3971 matchLabels: 3972 additionalProperties: 3973 type: string 3974 description: matchLabels is a map of {key,value} 3975 pairs. A single {key,value} in the matchLabels 3976 map is equivalent to an element of matchExpressions, 3977 whose key field is "key", the operator is 3978 "In", and the values array contains only 3979 "value". The requirements are ANDed. 3980 type: object 3981 type: object 3982 x-kubernetes-map-type: atomic 3983 namespaces: 3984 description: namespaces specifies a static list 3985 of namespace names that the term applies to. 3986 The term is applied to the union of the namespaces 3987 listed in this field and the ones selected by 3988 namespaceSelector. null or empty namespaces 3989 list and null namespaceSelector means "this 3990 pod's namespace". 3991 items: 3992 type: string 3993 type: array 3994 topologyKey: 3995 description: This pod should be co-located (affinity) 3996 or not co-located (anti-affinity) with the pods 3997 matching the labelSelector in the specified 3998 namespaces, where co-located is defined as running 3999 on a node whose value of the label with key 4000 topologyKey matches that of any node on which 4001 any of the selected pods is running. Empty topologyKey 4002 is not allowed. 4003 type: string 4004 required: 4005 - topologyKey 4006 type: object 4007 type: array 4008 type: object 4009 podAntiAffinity: 4010 description: Describes pod anti-affinity scheduling rules 4011 (e.g. avoid putting this pod in the same node, zone, etc. 4012 as some other pod(s)). 4013 properties: 4014 preferredDuringSchedulingIgnoredDuringExecution: 4015 description: The scheduler will prefer to schedule pods 4016 to nodes that satisfy the anti-affinity expressions 4017 specified by this field, but it may choose a node 4018 that violates one or more of the expressions. The 4019 node that is most preferred is the one with the greatest 4020 sum of weights, i.e. for each node that meets all 4021 of the scheduling requirements (resource request, 4022 requiredDuringScheduling anti-affinity expressions, 4023 etc.), compute a sum by iterating through the elements 4024 of this field and adding "weight" to the sum if the 4025 node has pods which matches the corresponding podAffinityTerm; 4026 the node(s) with the highest sum are the most preferred. 4027 items: 4028 description: The weights of all of the matched WeightedPodAffinityTerm 4029 fields are added per-node to find the most preferred 4030 node(s) 4031 properties: 4032 podAffinityTerm: 4033 description: Required. A pod affinity term, associated 4034 with the corresponding weight. 4035 properties: 4036 labelSelector: 4037 description: A label query over a set of resources, 4038 in this case pods. 4039 properties: 4040 matchExpressions: 4041 description: matchExpressions is a list 4042 of label selector requirements. The 4043 requirements are ANDed. 4044 items: 4045 description: A label selector requirement 4046 is a selector that contains values, 4047 a key, and an operator that relates 4048 the key and values. 4049 properties: 4050 key: 4051 description: key is the label key 4052 that the selector applies to. 4053 type: string 4054 operator: 4055 description: operator represents 4056 a key's relationship to a set 4057 of values. Valid operators are 4058 In, NotIn, Exists and DoesNotExist. 4059 type: string 4060 values: 4061 description: values is an array 4062 of string values. If the operator 4063 is In or NotIn, the values array 4064 must be non-empty. If the operator 4065 is Exists or DoesNotExist, the 4066 values array must be empty. This 4067 array is replaced during a strategic 4068 merge patch. 4069 items: 4070 type: string 4071 type: array 4072 required: 4073 - key 4074 - operator 4075 type: object 4076 type: array 4077 matchLabels: 4078 additionalProperties: 4079 type: string 4080 description: matchLabels is a map of {key,value} 4081 pairs. A single {key,value} in the matchLabels 4082 map is equivalent to an element of matchExpressions, 4083 whose key field is "key", the operator 4084 is "In", and the values array contains 4085 only "value". The requirements are ANDed. 4086 type: object 4087 type: object 4088 x-kubernetes-map-type: atomic 4089 namespaceSelector: 4090 description: A label query over the set of 4091 namespaces that the term applies to. The 4092 term is applied to the union of the namespaces 4093 selected by this field and the ones listed 4094 in the namespaces field. null selector and 4095 null or empty namespaces list means "this 4096 pod's namespace". An empty selector ({}) 4097 matches all namespaces. 4098 properties: 4099 matchExpressions: 4100 description: matchExpressions is a list 4101 of label selector requirements. The 4102 requirements are ANDed. 4103 items: 4104 description: A label selector requirement 4105 is a selector that contains values, 4106 a key, and an operator that relates 4107 the key and values. 4108 properties: 4109 key: 4110 description: key is the label key 4111 that the selector applies to. 4112 type: string 4113 operator: 4114 description: operator represents 4115 a key's relationship to a set 4116 of values. Valid operators are 4117 In, NotIn, Exists and DoesNotExist. 4118 type: string 4119 values: 4120 description: values is an array 4121 of string values. If the operator 4122 is In or NotIn, the values array 4123 must be non-empty. If the operator 4124 is Exists or DoesNotExist, the 4125 values array must be empty. This 4126 array is replaced during a strategic 4127 merge patch. 4128 items: 4129 type: string 4130 type: array 4131 required: 4132 - key 4133 - operator 4134 type: object 4135 type: array 4136 matchLabels: 4137 additionalProperties: 4138 type: string 4139 description: matchLabels is a map of {key,value} 4140 pairs. A single {key,value} in the matchLabels 4141 map is equivalent to an element of matchExpressions, 4142 whose key field is "key", the operator 4143 is "In", and the values array contains 4144 only "value". The requirements are ANDed. 4145 type: object 4146 type: object 4147 x-kubernetes-map-type: atomic 4148 namespaces: 4149 description: namespaces specifies a static 4150 list of namespace names that the term applies 4151 to. The term is applied to the union of 4152 the namespaces listed in this field and 4153 the ones selected by namespaceSelector. 4154 null or empty namespaces list and null namespaceSelector 4155 means "this pod's namespace". 4156 items: 4157 type: string 4158 type: array 4159 topologyKey: 4160 description: This pod should be co-located 4161 (affinity) or not co-located (anti-affinity) 4162 with the pods matching the labelSelector 4163 in the specified namespaces, where co-located 4164 is defined as running on a node whose value 4165 of the label with key topologyKey matches 4166 that of any node on which any of the selected 4167 pods is running. Empty topologyKey is not 4168 allowed. 4169 type: string 4170 required: 4171 - topologyKey 4172 type: object 4173 weight: 4174 description: weight associated with matching the 4175 corresponding podAffinityTerm, in the range 4176 1-100. 4177 format: int32 4178 type: integer 4179 required: 4180 - podAffinityTerm 4181 - weight 4182 type: object 4183 type: array 4184 requiredDuringSchedulingIgnoredDuringExecution: 4185 description: If the anti-affinity requirements specified 4186 by this field are not met at scheduling time, the 4187 pod will not be scheduled onto the node. If the anti-affinity 4188 requirements specified by this field cease to be met 4189 at some point during pod execution (e.g. due to a 4190 pod label update), the system may or may not try to 4191 eventually evict the pod from its node. When there 4192 are multiple elements, the lists of nodes corresponding 4193 to each podAffinityTerm are intersected, i.e. all 4194 terms must be satisfied. 4195 items: 4196 description: Defines a set of pods (namely those matching 4197 the labelSelector relative to the given namespace(s)) 4198 that this pod should be co-located (affinity) or 4199 not co-located (anti-affinity) with, where co-located 4200 is defined as running on a node whose value of the 4201 label with key <topologyKey> matches that of any 4202 node on which a pod of the set of pods is running 4203 properties: 4204 labelSelector: 4205 description: A label query over a set of resources, 4206 in this case pods. 4207 properties: 4208 matchExpressions: 4209 description: matchExpressions is a list of 4210 label selector requirements. The requirements 4211 are ANDed. 4212 items: 4213 description: A label selector requirement 4214 is a selector that contains values, a 4215 key, and an operator that relates the 4216 key and values. 4217 properties: 4218 key: 4219 description: key is the label key that 4220 the selector applies to. 4221 type: string 4222 operator: 4223 description: operator represents a key's 4224 relationship to a set of values. Valid 4225 operators are In, NotIn, Exists and 4226 DoesNotExist. 4227 type: string 4228 values: 4229 description: values is an array of string 4230 values. If the operator is In or NotIn, 4231 the values array must be non-empty. 4232 If the operator is Exists or DoesNotExist, 4233 the values array must be empty. This 4234 array is replaced during a strategic 4235 merge patch. 4236 items: 4237 type: string 4238 type: array 4239 required: 4240 - key 4241 - operator 4242 type: object 4243 type: array 4244 matchLabels: 4245 additionalProperties: 4246 type: string 4247 description: matchLabels is a map of {key,value} 4248 pairs. A single {key,value} in the matchLabels 4249 map is equivalent to an element of matchExpressions, 4250 whose key field is "key", the operator is 4251 "In", and the values array contains only 4252 "value". The requirements are ANDed. 4253 type: object 4254 type: object 4255 x-kubernetes-map-type: atomic 4256 namespaceSelector: 4257 description: A label query over the set of namespaces 4258 that the term applies to. The term is applied 4259 to the union of the namespaces selected by this 4260 field and the ones listed in the namespaces 4261 field. null selector and null or empty namespaces 4262 list means "this pod's namespace". An empty 4263 selector ({}) matches all namespaces. 4264 properties: 4265 matchExpressions: 4266 description: matchExpressions is a list of 4267 label selector requirements. The requirements 4268 are ANDed. 4269 items: 4270 description: A label selector requirement 4271 is a selector that contains values, a 4272 key, and an operator that relates the 4273 key and values. 4274 properties: 4275 key: 4276 description: key is the label key that 4277 the selector applies to. 4278 type: string 4279 operator: 4280 description: operator represents a key's 4281 relationship to a set of values. Valid 4282 operators are In, NotIn, Exists and 4283 DoesNotExist. 4284 type: string 4285 values: 4286 description: values is an array of string 4287 values. If the operator is In or NotIn, 4288 the values array must be non-empty. 4289 If the operator is Exists or DoesNotExist, 4290 the values array must be empty. This 4291 array is replaced during a strategic 4292 merge patch. 4293 items: 4294 type: string 4295 type: array 4296 required: 4297 - key 4298 - operator 4299 type: object 4300 type: array 4301 matchLabels: 4302 additionalProperties: 4303 type: string 4304 description: matchLabels is a map of {key,value} 4305 pairs. A single {key,value} in the matchLabels 4306 map is equivalent to an element of matchExpressions, 4307 whose key field is "key", the operator is 4308 "In", and the values array contains only 4309 "value". The requirements are ANDed. 4310 type: object 4311 type: object 4312 x-kubernetes-map-type: atomic 4313 namespaces: 4314 description: namespaces specifies a static list 4315 of namespace names that the term applies to. 4316 The term is applied to the union of the namespaces 4317 listed in this field and the ones selected by 4318 namespaceSelector. null or empty namespaces 4319 list and null namespaceSelector means "this 4320 pod's namespace". 4321 items: 4322 type: string 4323 type: array 4324 topologyKey: 4325 description: This pod should be co-located (affinity) 4326 or not co-located (anti-affinity) with the pods 4327 matching the labelSelector in the specified 4328 namespaces, where co-located is defined as running 4329 on a node whose value of the label with key 4330 topologyKey matches that of any node on which 4331 any of the selected pods is running. Empty topologyKey 4332 is not allowed. 4333 type: string 4334 required: 4335 - topologyKey 4336 type: object 4337 type: array 4338 type: object 4339 type: object 4340 annotations: 4341 additionalProperties: 4342 type: string 4343 type: object 4344 component: 4345 type: string 4346 diskSize: 4347 type: string 4348 env: 4349 items: 4350 description: EnvVar represents an environment variable present 4351 in a Container. 4352 properties: 4353 name: 4354 description: Name of the environment variable. Must be 4355 a C_IDENTIFIER. 4356 type: string 4357 value: 4358 description: 'Variable references $(VAR_NAME) are expanded 4359 using the previously defined environment variables in 4360 the container and any service environment variables. 4361 If a variable cannot be resolved, the reference in the 4362 input string will be unchanged. Double $$ are reduced 4363 to a single $, which allows for escaping the $(VAR_NAME) 4364 syntax: i.e. "$$(VAR_NAME)" will produce the string 4365 literal "$(VAR_NAME)". Escaped references will never 4366 be expanded, regardless of whether the variable exists 4367 or not. Defaults to "".' 4368 type: string 4369 valueFrom: 4370 description: Source for the environment variable's value. 4371 Cannot be used if value is not empty. 4372 properties: 4373 configMapKeyRef: 4374 description: Selects a key of a ConfigMap. 4375 properties: 4376 key: 4377 description: The key to select. 4378 type: string 4379 name: 4380 description: 'Name of the referent. More info: 4381 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 4382 TODO: Add other useful fields. apiVersion, kind, 4383 uid?' 4384 type: string 4385 optional: 4386 description: Specify whether the ConfigMap or 4387 its key must be defined 4388 type: boolean 4389 required: 4390 - key 4391 type: object 4392 x-kubernetes-map-type: atomic 4393 fieldRef: 4394 description: 'Selects a field of the pod: supports 4395 metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`, 4396 `metadata.annotations[''<KEY>'']`, spec.nodeName, 4397 spec.serviceAccountName, status.hostIP, status.podIP, 4398 status.podIPs.' 4399 properties: 4400 apiVersion: 4401 description: Version of the schema the FieldPath 4402 is written in terms of, defaults to "v1". 4403 type: string 4404 fieldPath: 4405 description: Path of the field to select in the 4406 specified API version. 4407 type: string 4408 required: 4409 - fieldPath 4410 type: object 4411 x-kubernetes-map-type: atomic 4412 resourceFieldRef: 4413 description: 'Selects a resource of the container: 4414 only resources limits and requests (limits.cpu, 4415 limits.memory, limits.ephemeral-storage, requests.cpu, 4416 requests.memory and requests.ephemeral-storage) 4417 are currently supported.' 4418 properties: 4419 containerName: 4420 description: 'Container name: required for volumes, 4421 optional for env vars' 4422 type: string 4423 divisor: 4424 anyOf: 4425 - type: integer 4426 - type: string 4427 description: Specifies the output format of the 4428 exposed resources, defaults to "1" 4429 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 4430 x-kubernetes-int-or-string: true 4431 resource: 4432 description: 'Required: resource to select' 4433 type: string 4434 required: 4435 - resource 4436 type: object 4437 x-kubernetes-map-type: atomic 4438 secretKeyRef: 4439 description: Selects a key of a secret in the pod's 4440 namespace 4441 properties: 4442 key: 4443 description: The key of the secret to select from. Must 4444 be a valid secret key. 4445 type: string 4446 name: 4447 description: 'Name of the referent. More info: 4448 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 4449 TODO: Add other useful fields. apiVersion, kind, 4450 uid?' 4451 type: string 4452 optional: 4453 description: Specify whether the Secret or its 4454 key must be defined 4455 type: boolean 4456 required: 4457 - key 4458 type: object 4459 x-kubernetes-map-type: atomic 4460 type: object 4461 required: 4462 - name 4463 type: object 4464 type: array 4465 jvm: 4466 type: string 4467 labels: 4468 additionalProperties: 4469 type: string 4470 type: object 4471 nodeSelector: 4472 additionalProperties: 4473 type: string 4474 type: object 4475 pdb: 4476 properties: 4477 enable: 4478 type: boolean 4479 maxUnavailable: 4480 anyOf: 4481 - type: integer 4482 - type: string 4483 x-kubernetes-int-or-string: true 4484 minAvailable: 4485 anyOf: 4486 - type: integer 4487 - type: string 4488 x-kubernetes-int-or-string: true 4489 type: object 4490 persistence: 4491 description: PersistencConfig defines options for data persistence 4492 properties: 4493 emptyDir: 4494 description: Represents an empty directory for a pod. Empty 4495 directory volumes support ownership management and SELinux 4496 relabeling. 4497 properties: 4498 medium: 4499 description: 'medium represents what type of storage 4500 medium should back this directory. The default is 4501 "" which means to use the node''s default medium. 4502 Must be an empty string (default) or Memory. More 4503 info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 4504 type: string 4505 sizeLimit: 4506 anyOf: 4507 - type: integer 4508 - type: string 4509 description: 'sizeLimit is the total amount of local 4510 storage required for this EmptyDir volume. The size 4511 limit is also applicable for memory medium. The maximum 4512 usage on memory medium EmptyDir would be the minimum 4513 value between the SizeLimit specified here and the 4514 sum of memory limits of all containers in a pod. The 4515 default is nil which means that the limit is undefined. 4516 More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 4517 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 4518 x-kubernetes-int-or-string: true 4519 type: object 4520 hostPath: 4521 description: Represents a host path mapped into a pod. Host 4522 path volumes do not support ownership management or SELinux 4523 relabeling. 4524 properties: 4525 path: 4526 description: 'path of the directory on the host. If 4527 the path is a symlink, it will follow the link to 4528 the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath' 4529 type: string 4530 type: 4531 description: 'type for HostPath Volume Defaults to "" 4532 More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath' 4533 type: string 4534 required: 4535 - path 4536 type: object 4537 pvc: 4538 properties: 4539 accessModes: 4540 items: 4541 type: string 4542 type: array 4543 storageClass: 4544 type: string 4545 type: object 4546 type: object 4547 priorityClassName: 4548 type: string 4549 replicas: 4550 format: int32 4551 type: integer 4552 resources: 4553 description: ResourceRequirements describes the compute resource 4554 requirements. 4555 properties: 4556 claims: 4557 description: "Claims lists the names of resources, defined 4558 in spec.resourceClaims, that are used by this container. 4559 \n This is an alpha field and requires enabling the DynamicResourceAllocation 4560 feature gate. \n This field is immutable. It can only 4561 be set for containers." 4562 items: 4563 description: ResourceClaim references one entry in PodSpec.ResourceClaims. 4564 properties: 4565 name: 4566 description: Name must match the name of one entry 4567 in pod.spec.resourceClaims of the Pod where this 4568 field is used. It makes that resource available 4569 inside a container. 4570 type: string 4571 required: 4572 - name 4573 type: object 4574 type: array 4575 x-kubernetes-list-map-keys: 4576 - name 4577 x-kubernetes-list-type: map 4578 limits: 4579 additionalProperties: 4580 anyOf: 4581 - type: integer 4582 - type: string 4583 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 4584 x-kubernetes-int-or-string: true 4585 description: 'Limits describes the maximum amount of compute 4586 resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 4587 type: object 4588 requests: 4589 additionalProperties: 4590 anyOf: 4591 - type: integer 4592 - type: string 4593 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 4594 x-kubernetes-int-or-string: true 4595 description: 'Requests describes the minimum amount of compute 4596 resources required. If Requests is omitted for a container, 4597 it defaults to Limits if that is explicitly specified, 4598 otherwise to an implementation-defined value. Requests 4599 cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' 4600 type: object 4601 type: object 4602 roles: 4603 items: 4604 type: string 4605 type: array 4606 tolerations: 4607 items: 4608 description: The pod this Toleration is attached to tolerates 4609 any taint that matches the triple <key,value,effect> using 4610 the matching operator <operator>. 4611 properties: 4612 effect: 4613 description: Effect indicates the taint effect to match. 4614 Empty means match all taint effects. When specified, 4615 allowed values are NoSchedule, PreferNoSchedule and 4616 NoExecute. 4617 type: string 4618 key: 4619 description: Key is the taint key that the toleration 4620 applies to. Empty means match all taint keys. If the 4621 key is empty, operator must be Exists; this combination 4622 means to match all values and all keys. 4623 type: string 4624 operator: 4625 description: Operator represents a key's relationship 4626 to the value. Valid operators are Exists and Equal. 4627 Defaults to Equal. Exists is equivalent to wildcard 4628 for value, so that a pod can tolerate all taints of 4629 a particular category. 4630 type: string 4631 tolerationSeconds: 4632 description: TolerationSeconds represents the period of 4633 time the toleration (which must be of effect NoExecute, 4634 otherwise this field is ignored) tolerates the taint. 4635 By default, it is not set, which means tolerate the 4636 taint forever (do not evict). Zero and negative values 4637 will be treated as 0 (evict immediately) by the system. 4638 format: int64 4639 type: integer 4640 value: 4641 description: Value is the taint value the toleration matches 4642 to. If the operator is Exists, the value should be empty, 4643 otherwise just a regular string. 4644 type: string 4645 type: object 4646 type: array 4647 topologySpreadConstraints: 4648 items: 4649 description: TopologySpreadConstraint specifies how to spread 4650 matching pods among the given topology. 4651 properties: 4652 labelSelector: 4653 description: LabelSelector is used to find matching pods. 4654 Pods that match this label selector are counted to determine 4655 the number of pods in their corresponding topology domain. 4656 properties: 4657 matchExpressions: 4658 description: matchExpressions is a list of label selector 4659 requirements. The requirements are ANDed. 4660 items: 4661 description: A label selector requirement is a selector 4662 that contains values, a key, and an operator that 4663 relates the key and values. 4664 properties: 4665 key: 4666 description: key is the label key that the selector 4667 applies to. 4668 type: string 4669 operator: 4670 description: operator represents a key's relationship 4671 to a set of values. Valid operators are In, 4672 NotIn, Exists and DoesNotExist. 4673 type: string 4674 values: 4675 description: values is an array of string values. 4676 If the operator is In or NotIn, the values 4677 array must be non-empty. If the operator is 4678 Exists or DoesNotExist, the values array must 4679 be empty. This array is replaced during a 4680 strategic merge patch. 4681 items: 4682 type: string 4683 type: array 4684 required: 4685 - key 4686 - operator 4687 type: object 4688 type: array 4689 matchLabels: 4690 additionalProperties: 4691 type: string 4692 description: matchLabels is a map of {key,value} pairs. 4693 A single {key,value} in the matchLabels map is equivalent 4694 to an element of matchExpressions, whose key field 4695 is "key", the operator is "In", and the values array 4696 contains only "value". The requirements are ANDed. 4697 type: object 4698 type: object 4699 x-kubernetes-map-type: atomic 4700 matchLabelKeys: 4701 description: "MatchLabelKeys is a set of pod label keys 4702 to select the pods over which spreading will be calculated. 4703 The keys are used to lookup values from the incoming 4704 pod labels, those key-value labels are ANDed with labelSelector 4705 to select the group of existing pods over which spreading 4706 will be calculated for the incoming pod. The same key 4707 is forbidden to exist in both MatchLabelKeys and LabelSelector. 4708 MatchLabelKeys cannot be set when LabelSelector isn't 4709 set. Keys that don't exist in the incoming pod labels 4710 will be ignored. A null or empty list means only match 4711 against labelSelector. \n This is a beta field and requires 4712 the MatchLabelKeysInPodTopologySpread feature gate to 4713 be enabled (enabled by default)." 4714 items: 4715 type: string 4716 type: array 4717 x-kubernetes-list-type: atomic 4718 maxSkew: 4719 description: 'MaxSkew describes the degree to which pods 4720 may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`, 4721 it is the maximum permitted difference between the number 4722 of matching pods in the target topology and the global 4723 minimum. The global minimum is the minimum number of 4724 matching pods in an eligible domain or zero if the number 4725 of eligible domains is less than MinDomains. For example, 4726 in a 3-zone cluster, MaxSkew is set to 1, and pods with 4727 the same labelSelector spread as 2/2/1: In this case, 4728 the global minimum is 1. | zone1 | zone2 | zone3 | | P 4729 P | P P | P | - if MaxSkew is 1, incoming pod 4730 can only be scheduled to zone3 to become 2/2/2; scheduling 4731 it onto zone1(zone2) would make the ActualSkew(3-1) 4732 on zone1(zone2) violate MaxSkew(1). - if MaxSkew is 4733 2, incoming pod can be scheduled onto any zone. When 4734 `whenUnsatisfiable=ScheduleAnyway`, it is used to give 4735 higher precedence to topologies that satisfy it. It''s 4736 a required field. Default value is 1 and 0 is not allowed.' 4737 format: int32 4738 type: integer 4739 minDomains: 4740 description: "MinDomains indicates a minimum number of 4741 eligible domains. When the number of eligible domains 4742 with matching topology keys is less than minDomains, 4743 Pod Topology Spread treats \"global minimum\" as 0, 4744 and then the calculation of Skew is performed. And when 4745 the number of eligible domains with matching topology 4746 keys equals or greater than minDomains, this value has 4747 no effect on scheduling. As a result, when the number 4748 of eligible domains is less than minDomains, scheduler 4749 won't schedule more than maxSkew Pods to those domains. 4750 If value is nil, the constraint behaves as if MinDomains 4751 is equal to 1. Valid values are integers greater than 4752 0. When value is not nil, WhenUnsatisfiable must be 4753 DoNotSchedule. \n For example, in a 3-zone cluster, 4754 MaxSkew is set to 2, MinDomains is set to 5 and pods 4755 with the same labelSelector spread as 2/2/2: | zone1 4756 | zone2 | zone3 | | P P | P P | P P | The number 4757 of domains is less than 5(MinDomains), so \"global minimum\" 4758 is treated as 0. In this situation, new pod with the 4759 same labelSelector cannot be scheduled, because computed 4760 skew will be 3(3 - 0) if new Pod is scheduled to any 4761 of the three zones, it will violate MaxSkew. \n This 4762 is a beta field and requires the MinDomainsInPodTopologySpread 4763 feature gate to be enabled (enabled by default)." 4764 format: int32 4765 type: integer 4766 nodeAffinityPolicy: 4767 description: "NodeAffinityPolicy indicates how we will 4768 treat Pod's nodeAffinity/nodeSelector when calculating 4769 pod topology spread skew. Options are: - Honor: only 4770 nodes matching nodeAffinity/nodeSelector are included 4771 in the calculations. - Ignore: nodeAffinity/nodeSelector 4772 are ignored. All nodes are included in the calculations. 4773 \n If this value is nil, the behavior is equivalent 4774 to the Honor policy. This is a beta-level feature default 4775 enabled by the NodeInclusionPolicyInPodTopologySpread 4776 feature flag." 4777 type: string 4778 nodeTaintsPolicy: 4779 description: "NodeTaintsPolicy indicates how we will treat 4780 node taints when calculating pod topology spread skew. 4781 Options are: - Honor: nodes without taints, along with 4782 tainted nodes for which the incoming pod has a toleration, 4783 are included. - Ignore: node taints are ignored. All 4784 nodes are included. \n If this value is nil, the behavior 4785 is equivalent to the Ignore policy. This is a beta-level 4786 feature default enabled by the NodeInclusionPolicyInPodTopologySpread 4787 feature flag." 4788 type: string 4789 topologyKey: 4790 description: TopologyKey is the key of node labels. Nodes 4791 that have a label with this key and identical values 4792 are considered to be in the same topology. We consider 4793 each <key, value> as a "bucket", and try to put balanced 4794 number of pods into each bucket. We define a domain 4795 as a particular instance of a topology. Also, we define 4796 an eligible domain as a domain whose nodes meet the 4797 requirements of nodeAffinityPolicy and nodeTaintsPolicy. 4798 e.g. If TopologyKey is "kubernetes.io/hostname", each 4799 Node is a domain of that topology. And, if TopologyKey 4800 is "topology.kubernetes.io/zone", each zone is a domain 4801 of that topology. It's a required field. 4802 type: string 4803 whenUnsatisfiable: 4804 description: 'WhenUnsatisfiable indicates how to deal 4805 with a pod if it doesn''t satisfy the spread constraint. 4806 - DoNotSchedule (default) tells the scheduler not to 4807 schedule it. - ScheduleAnyway tells the scheduler to 4808 schedule the pod in any location, but giving higher 4809 precedence to topologies that would help reduce the 4810 skew. A constraint is considered "Unsatisfiable" for 4811 an incoming pod if and only if every possible node assignment 4812 for that pod would violate "MaxSkew" on some topology. 4813 For example, in a 3-zone cluster, MaxSkew is set to 4814 1, and pods with the same labelSelector spread as 3/1/1: 4815 | zone1 | zone2 | zone3 | | P P P | P | P | 4816 If WhenUnsatisfiable is set to DoNotSchedule, incoming 4817 pod can only be scheduled to zone2(zone3) to become 4818 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies 4819 MaxSkew(1). In other words, the cluster can still be 4820 imbalanced, but scheduler won''t make it *more* imbalanced. 4821 It''s a required field.' 4822 type: string 4823 required: 4824 - maxSkew 4825 - topologyKey 4826 - whenUnsatisfiable 4827 type: object 4828 type: array 4829 required: 4830 - component 4831 - replicas 4832 - roles 4833 type: object 4834 type: array 4835 security: 4836 description: Security defines options for managing the opensearch-security 4837 plugin 4838 properties: 4839 config: 4840 properties: 4841 adminCredentialsSecret: 4842 description: Secret that contains fields username and password 4843 to be used by the operator to access the opensearch cluster 4844 for node draining. Must be set if custom securityconfig 4845 is provided. 4846 properties: 4847 name: 4848 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 4849 TODO: Add other useful fields. apiVersion, kind, uid?' 4850 type: string 4851 type: object 4852 x-kubernetes-map-type: atomic 4853 adminSecret: 4854 description: TLS Secret that contains a client certificate 4855 (tls.key, tls.crt, ca.crt) with admin rights in the opensearch 4856 cluster. Must be set if transport certificates are provided 4857 by user and not generated 4858 properties: 4859 name: 4860 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 4861 TODO: Add other useful fields. apiVersion, kind, uid?' 4862 type: string 4863 type: object 4864 x-kubernetes-map-type: atomic 4865 securityConfigSecret: 4866 description: Secret that contains the differnt yml files of 4867 the opensearch-security config (config.yml, internal_users.yml, 4868 ...) 4869 properties: 4870 name: 4871 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 4872 TODO: Add other useful fields. apiVersion, kind, uid?' 4873 type: string 4874 type: object 4875 x-kubernetes-map-type: atomic 4876 type: object 4877 tls: 4878 description: Configure tls usage for transport and http interface 4879 properties: 4880 http: 4881 properties: 4882 caSecret: 4883 description: Optional, secret that contains the ca certificate 4884 as ca.crt. If this and generate=true is set the existing 4885 CA cert from that secret is used to generate the node 4886 certs. In this case must contain ca.crt and ca.key fields 4887 properties: 4888 name: 4889 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 4890 TODO: Add other useful fields. apiVersion, kind, 4891 uid?' 4892 type: string 4893 type: object 4894 x-kubernetes-map-type: atomic 4895 generate: 4896 description: If set to true the operator will generate 4897 a CA and certificates for the cluster to use, if false 4898 secrets with existing certificates must be supplied 4899 type: boolean 4900 secret: 4901 description: Optional, name of a TLS secret that contains 4902 ca.crt, tls.key and tls.crt data. If ca.crt is in a 4903 different secret provide it via the caSecret field 4904 properties: 4905 name: 4906 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 4907 TODO: Add other useful fields. apiVersion, kind, 4908 uid?' 4909 type: string 4910 type: object 4911 x-kubernetes-map-type: atomic 4912 type: object 4913 transport: 4914 properties: 4915 adminDn: 4916 description: DNs of certificates that should have admin 4917 access, mainly used for securityconfig updates via securityadmin.sh, 4918 only used when existing certificates are provided 4919 items: 4920 type: string 4921 type: array 4922 caSecret: 4923 description: Optional, secret that contains the ca certificate 4924 as ca.crt. If this and generate=true is set the existing 4925 CA cert from that secret is used to generate the node 4926 certs. In this case must contain ca.crt and ca.key fields 4927 properties: 4928 name: 4929 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 4930 TODO: Add other useful fields. apiVersion, kind, 4931 uid?' 4932 type: string 4933 type: object 4934 x-kubernetes-map-type: atomic 4935 generate: 4936 description: If set to true the operator will generate 4937 a CA and certificates for the cluster to use, if false 4938 secrets with existing certificates must be supplied 4939 type: boolean 4940 nodesDn: 4941 description: Allowed Certificate DNs for nodes, only used 4942 when existing certificates are provided 4943 items: 4944 type: string 4945 type: array 4946 perNode: 4947 description: Configure transport node certificate 4948 type: boolean 4949 secret: 4950 description: Optional, name of a TLS secret that contains 4951 ca.crt, tls.key and tls.crt data. If ca.crt is in a 4952 different secret provide it via the caSecret field 4953 properties: 4954 name: 4955 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 4956 TODO: Add other useful fields. apiVersion, kind, 4957 uid?' 4958 type: string 4959 type: object 4960 x-kubernetes-map-type: atomic 4961 type: object 4962 type: object 4963 type: object 4964 required: 4965 - nodePools 4966 type: object 4967 status: 4968 description: ClusterStatus defines the observed state of Es 4969 properties: 4970 componentsStatus: 4971 items: 4972 properties: 4973 component: 4974 type: string 4975 conditions: 4976 items: 4977 type: string 4978 type: array 4979 description: 4980 type: string 4981 status: 4982 type: string 4983 type: object 4984 type: array 4985 initialized: 4986 type: boolean 4987 phase: 4988 description: 'INSERT ADDITIONAL STATUS FIELD - define observed state 4989 of cluster Important: Run "make" to regenerate code after modifying 4990 this file' 4991 type: string 4992 version: 4993 type: string 4994 required: 4995 - componentsStatus 4996 type: object 4997 type: object 4998 served: true 4999 storage: true 5000 subresources: 5001 status: {}