k8s.io/perf-tests/clusterloader2@v0.0.0-20240304094227-64bdb12da87e/pkg/prometheus/manifests/0prometheus-operator-0alertmanagerCustomResourceDefinition.yaml (about)

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