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: {}